action.devices.EXECUTE

Essa intent envia comandos para execução em dispositivos de casa inteligente.

O fulfillment precisa processar cada comando, transmiti-lo ao dispositivo correspondente e retornar o novo estado na resposta EXECUTE.

Uma única intent EXECUTE pode ser destinada a vários dispositivos com diversos comandos. Por exemplo, uma intent acionada pode definir brilho e cor em um conjunto de luzes ou pode definir várias luzes, cada uma com uma cor diferente.

Para mais detalhes, consulte Consultar e executar.

Formato da solicitação

Campos Tipo Descrição
requestId String

Obrigatório.

ID da solicitação.

inputs Array

Obrigatório.

Lista de entradas que correspondem à solicitação de intent.

[item, ...] Object

Tipo e payload associados à solicitação de intent.

intent

Obrigatório.

(Valor constante: "action.devices.EXECUTE")

Tipo de solicitação de intent.

payload Object

Obrigatório.

EXECUTE o payload da solicitação.

commands Array

Obrigatório.

Lista de pares de destino do dispositivo e comando.

[item, ...] Object

Conjunto de comandos a serem executados nos destinos do dispositivo anexado.

devices Array

Obrigatório.

Lista de dispositivos de destino.

[item, ...] Object

Segmentação por dispositivo a ser executada.

id String

Obrigatório.

ID do dispositivo, de acordo com o ID fornecido em SYNC.

customData Object

Se o objeto customData opaco for fornecido em SYNC, ele será enviado para cá.

execution Array

Obrigatório.

Lista de comandos a serem executados nos dispositivos de destino.

[item, ...] Object

Comando do dispositivo.

command String

Obrigatório.

O comando a ser executado, geralmente com parâmetros associados.

params Object

Alinhado com os parâmetros de cada comando.

Exemplos

Solicitação de intent EXECUTAR

{
  "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 da resposta

Campos Tipo Descrição
requestId String

Obrigatório.

ID da solicitação correspondente.

payload Object

Obrigatório.

Payload de resposta da intent.

errorCode String

Um código de erro para toda a transação para falhas de autenticação e indisponibilidade do sistema do desenvolvedor. Para erros de dispositivos individuais, use o errorCode no objeto do dispositivo.

debugString String

Erro detalhado que nunca será apresentado aos usuários, mas pode ser registrado ou usado durante o desenvolvimento.

commands Array

Cada objeto contém um ou mais dispositivos com detalhes de resposta. Observação: Eles podem não ser agrupados da mesma forma que na solicitação. Por exemplo, a solicitação pode acender sete luzes, três delas funcionando e quatro falhando, com dois grupos na resposta.

[item, ...] Object

Resultado da execução do dispositivo.

ids Array

Obrigatório.

Lista de IDs de dispositivos correspondentes a esse status.

[item, ...] String

ID do dispositivo.

status String

Obrigatório.

Resultado da operação de execução.

Valores compatíveis:

SUCCESS
Confirmar se o comando foi bem-sucedido.
PENDING
O comando está na fila, mas espera-se que seja bem-sucedido.
OFFLINE
O dispositivo de destino está off-line ou inacessível.
EXCEPTIONS
Há um problema ou um alerta associado a um comando. O comando pode funcionar ou falhar. Normalmente, esse tipo de status é definido quando você quer enviar informações adicionais sobre outro dispositivo conectado.
ERROR
O dispositivo de destino não pode executar o comando.
states Object

Alinhados com os estados por característica descritos em cada referência de esquema de característica. Esses são os estados após a execução, se disponíveis.

online Booleano

Indica se o dispositivo está on-line (ou seja, acessível) ou não.

errorCode String

Expansão do estado ERROR, se necessário, dos códigos de erro predefinidos, que serão mapeados para os erros apresentados aos usuários.

Exemplos

Resposta de intent EXECUTAR

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}