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: "action.devices.EXECUTE")

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:

SUCCESS
Confirma que el comando se ejecutó de forma correcta.
PENDING
El comando está en cola, pero se espera que funcione correctamente.
OFFLINE
El dispositivo de destino se encuentra en estado sin conexión o es inaccesible.
EXCEPTIONS
Hay un problema o una alerta asociados con un comando. El comando podría completarse con éxito o fallar. Por lo general, este tipo de estado se establece cuando quieres enviar información adicional sobre otro dispositivo conectado.
ERROR
El dispositivo de destino no puede ejecutar el comando.
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"
      }
    ]
  }
}