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

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:

SUCCESS
Confirma que el comando se realizó de forma correcta.
PENDING
El comando está en cola, pero se espera que se ejecute correctamente.
OFFLINE
El dispositivo de destino está en estado sin conexión o inaccesible.
EXCEPTIONS
Hay un problema o una alerta asociada a un comando. El comando puede 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 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"
      }
    ]
  }
}