action.devices.EXECUTE
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 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 en un conjunto de luces o puede establecer varias luces con un color diferente.
Para obtener más detalles, consulta Cómo consultar y ejecutar.
Formato de solicitud
| Campos | Tipo | Descripción | 
|---|---|---|
| requestId | String | Obligatorio. Es el ID de la solicitud. | 
| inputs | Matriz | Obligatorio. Es la lista de entradas que coinciden con la solicitud de intent. | 
| [item, ...] | Objeto | Es el tipo y la carga útil asociados con la solicitud de intent. | 
| intent | Obligatorio. (valor constante:  Tipo de solicitud de intent. | |
| payload | Objeto | Obligatorio. Carga útil de la solicitud EXECUTE. | 
| commands | Matriz | Obligatorio. Es una lista de pares de comandos y destinos de dispositivos. | 
| [item, ...] | Objeto | Es un conjunto de comandos para ejecutar en los destinos de dispositivos conectados. | 
| devices | Matriz | Obligatorio. Es la lista de dispositivos de destino. | 
| [item, ...] | Objeto | Es el dispositivo de destino 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. Es una lista de comandos para ejecutar en los dispositivos de destino. | 
| [item, ...] | Objeto | Comando del dispositivo. | 
| command | String | Obligatorio. Es el comando que se ejecutará, por lo general, con parámetros adicionales. | 
| params | Objeto | Se alinean 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 del intent. | 
| errorCode | String | Es un código de error para toda la transacción por fallas de autenticación y falta de disponibilidad del sistema del desarrollador. Para errores de dispositivos individuales, usa errorCode dentro del objeto device. | 
| debugString | String | Es un error de respuesta detallado que nunca se presentará a los usuarios, pero que se puede registrar o usar durante el desarrollo. | 
| commands | Matriz | Cada objeto contiene uno o más dispositivos con detalles de la respuesta. Nota: Es posible que no se agrupen de la misma manera que en la solicitud. Por ejemplo, la solicitud podría encender 7 luces, con 3 que se encienden correctamente y 4 que fallan, por lo que habría dos grupos en la respuesta. | 
| [item, ...] | Objeto | Es el resultado de la ejecución del dispositivo. | 
| ids | Matriz | Obligatorio. Es la lista de IDs de dispositivos correspondientes a este estado. | 
| [item, ...] | String | ID de dispositivo | 
| status | String | Obligatorio. Es el resultado de la operación de ejecución. Valores admitidos: 
 | 
| states | Objeto | Se alinean con los estados por rasgo que se describen en cada referencia del esquema de rasgo. 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 desde los códigos de error predeterminados, que se asignarán a los errores que se presentan a los usuarios. | 
| debugString | String | Es un error detallado a nivel del comando que nunca se presentará a los usuarios, pero que se puede registrar o usar durante el desarrollo. | 
Ejemplos
Respuesta del 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" } ] } }