action.devices.EJECUTAR
Este intent envía comandos para ejecutar en dispositivos de casa inteligente.
La entrega debe procesar cada comando, transmitirlo al dispositivo correspondiente y mostrar el estado nuevo en la respuesta de EXECUTE
.
Un solo intent EXECUTE
puede orientarse a varios dispositivos con varios comandos.
Por ejemplo, un intent activado puede establecer el brillo y el color de un conjunto de luces o puede establecer varias luces en cada uno.
Para obtener más detalles, consulta Cómo ejecutar y consultar.
Formato de la solicitud
Campos | Tipo | Descripción |
---|---|---|
requestId |
String |
Obligatorio. ID de la solicitud. |
inputs |
Matriz |
Obligatorio. Lista de entradas que coinciden con la solicitud del intent. |
[item, ...] |
Objeto |
Tipo y carga útil asociadas con la solicitud de intent |
intent |
Obligatorio. (Valor de la constante: Tipo de solicitud de intent. |
|
payload |
Objeto |
Obligatorio. Carga útil de solicitud EXECUTE. |
commands |
Matriz |
Obligatorio. Lista de dispositivos objetivo y pares de comando. |
[item, ...] |
Objeto |
Conjunto de comandos para ejecutar en las orientaciones de dispositivo adjuntas. |
devices |
Matriz |
Obligatorio. Lista de dispositivos de destino. |
[item, ...] |
Objeto |
Orientación por dispositivo que se ejecutará. |
id |
String |
Obligatorio. ID del 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. El comando para ejecutar, generalmente con los parámetros adjuntos. |
params |
Objeto |
Se alinea con los parámetros de cada comando. |
Ejemplos
Solicitud de intent EJECUTAR
{ "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 la respuesta
Campos | Tipo | Descripción |
---|---|---|
requestId |
String |
Obligatorio. ID de la solicitud correspondiente. |
payload |
Objeto |
Obligatorio. Carga útil de respuesta de intent. |
errorCode |
String |
Un código de error de toda la transacción para fallas de autenticación y falta de disponibilidad del sistema para desarrolladores Para errores de dispositivos individuales, usa el errorCode dentro del objeto del dispositivo. |
debugString |
String |
Es un error detallado que nunca se presentará a los usuarios, pero que se podrá registrar o usar durante el desarrollo. |
commands |
Matriz |
Cada objeto contiene uno o más dispositivos con detalles de respuesta. N.B. Estos no se pueden agrupar de la misma manera que en la solicitud. Por ejemplo, la solicitud podría encender 7 luces, con 3 lámparas correctas y 4 con errores, por lo que serían dos grupos en la respuesta. |
[item, ...] |
Objeto |
Resultado de la ejecución del dispositivo. |
ids |
Matriz |
Obligatorio. Lista de los ID de dispositivos correspondientes a este estado. |
[item, ...] |
String |
ID del dispositivo. |
status |
String |
Obligatorio. Resultado de la operación de ejecución. Valores admitidos:
|
states |
Objeto |
Se alinea con los estados por característica que se describen en cada referencia de esquema de características. Estos son los estados después de la ejecución, si están disponibles. |
online |
Booleano |
Indica si el dispositivo está en línea (es decir, si se puede acceder a él) o no. |
errorCode |
String |
Expande el estado 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 del intent EJECUTAR
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }