action.devices.EXECUTE
Este intent envía comandos para ejecutar en dispositivos de casa inteligente.
Tu entrega debe procesar cada comando, transmitirlo al dispositivo correspondiente y devolverlo
el estado nuevo en la respuesta EXECUTE
.
Un solo intent EXECUTE
puede orientarse a varios dispositivos con varios comandos.
Por ejemplo, un intent activado puede establecer tanto el brillo como el color en un conjunto de
o puedes configurar varias luces, cada una con un color diferente.
Para obtener más detalles, lee Consulta y ejecuta.
Formato de la solicitud
Campos | Tipo | Descripción |
---|---|---|
requestId |
String |
Obligatorio. Es el ID de la solicitud. |
inputs |
Matriz |
Obligatorio. Lista de entradas que coinciden con la solicitud de intent. |
[item, ...] |
Objeto |
Tipo y carga útil asociados con la solicitud de intent. |
intent |
Obligatorio. (Valor constante: Tipo de solicitud de intent. |
|
payload |
Objeto |
Obligatorio. EXECUTE de la carga útil de la solicitud. |
commands |
Matriz |
Obligatorio. Lista de destinos de dispositivos y pares de comandos. |
[item, ...] |
Objeto |
Conjunto de comandos que se ejecutarán en los destinos del dispositivo conectado. |
devices |
Matriz |
Obligatorio. Lista de dispositivos de destino. |
[item, ...] |
Objeto |
Destino del dispositivo que se ejecutará. |
id |
String |
Obligatorio. ID de dispositivo, según el ID proporcionado en SYNC. |
customData |
Objeto |
Si el objeto customData opaco se proporciona en SYNC, se envía aquí. |
execution |
Matriz |
Obligatorio. Lista de comandos para ejecutar en dispositivos de destino. |
[item, ...] |
Objeto |
Comando del dispositivo. |
command |
String |
Obligatorio. Es el comando que se ejecutará, generalmente con parámetros adjuntos. |
params |
Objeto |
Alineados con los parámetros de cada comando. |
Ejemplos
Solicitud de intent EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123", "customData": { "fooValue": 74, "barValue": true, "bazValue": "sheepdip" } }, { "id": "456", "customData": { "fooValue": 36, "barValue": false, "bazValue": "moarsheep" } } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
Formato de respuesta
Campos | Tipo | Descripción |
---|---|---|
requestId |
String |
Obligatorio. Es el ID de la solicitud correspondiente. |
payload |
Objeto |
Obligatorio. Carga útil de la respuesta de intent. |
errorCode |
String |
Un código de error para toda la transacción en busca de fallas de autenticación y de falta de disponibilidad del sistema del desarrollador. Para errores de dispositivos individuales, usa el errorCode dentro del objeto del dispositivo. |
debugString |
String |
Errores detallados que nunca se presentarán a los usuarios, pero que pueden registrarse o usarse durante el desarrollo. |
commands |
Matriz |
Cada objeto contiene uno o más dispositivos con detalles de respuesta. N.B. Es posible que no estén agrupados de la misma manera que en la solicitud. Por ejemplo, la solicitud podría encender 7 luces, con 3 lámparas en funcionamiento y 4 con fallas, por lo tanto, con dos grupos en la respuesta. |
[item, ...] |
Objeto |
Resultado de la ejecución del dispositivo. |
ids |
Matriz |
Obligatorio. Es una lista de los IDs de dispositivos que corresponden a este estado. |
[item, ...] |
String |
ID de dispositivo |
status |
String |
Obligatorio. Resultado de la operación de ejecución. Valores admitidos:
|
states |
Objeto |
Se alinea con los estados por característica descritos en cada referencia del esquema de características. Estos son los estados posteriores a la ejecución, si están disponibles. |
online |
Booleano |
Indica si el dispositivo está en línea (es decir, es accesible) o no. |
errorCode |
String |
Expansión del estado de ERROR, si es necesario, a partir de los códigos de error predeterminados, que se asignarán a los errores que se presentan a los usuarios. |
Ejemplos
Respuesta al intent EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }