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"
}
]
}
}