Después de conectar y cablear el Shelly2.5 con mi obturador, intento conectarlo con Siri. Decidí hacer esto con la aplicación Scriptable y luego conectarle los comandos de Siri, para que se ejecute.
Actualmente tengo un problema para enviar la solicitud desde la aplicación Scriptable ya que el código está escrito a continuación, cuando traté de activarlo desde Postman, funciona.
// # open shutter let url = "https://domain.shelly.cloud"; let suffix ="/device/relay/roller/control/"; let auth_key = "AAAABBBBCCCDDDEEEEFFFFFF____EXAMPLE_TOKEN___AAAABBBBCCCDDDEEEEFFFFFF"; let channel = 0; let turn = "on"; let direction = "open"; let id = "C45bbe75f1bd"; let body = { "auth_key":auth_key, "id": id, "direction":direction }; // console.log(body); let req = new Request(url + suffix); // console.log(url+suffix); req.method = "POST"; req.body = body; req.headers = { "Content-Type":"application/x-www-form-urlencoded" }; // req.body = JSON.stringify(body) let json = await req.loadJSON() console.log(json);la respuesta actual:
2021-09-13 11:20:46: {"isok":false,"errors":{"invalid_header":"Unauthorized! Wrong authorization header provided!","invalid_token":"The login information is invalid! Please login again!"}}tenga en cuenta que cambio el token real y el subdominio real para Shelly Cloud. Se agradecería si alguien sabe cómo solucionar esto, gracias
se parece al cuerpo codificado en forma de Shelly expect. Prueba esto
let form = Object.keys(body).map( k => `${k}=${encodeURIComponent(body[k])}`).join('&') req.body = form