action.devices.EXECUTE
Essa intent envia comandos para execução em dispositivos de casa inteligente.
A fulfillment precisa processar cada comando, transmiti-lo ao dispositivo correspondente e retornar
  o novo estado na resposta EXECUTE.
Uma única intent EXECUTE pode segmentar vários dispositivos com vários comandos.
Por exemplo, uma intent acionada pode definir o brilho e a cor em um conjunto de
luzes ou definir várias luzes para 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:  Tipo de solicitação de intent.  | 
  |
payload | 
    Object | 
       Obrigatório. Payload de solicitação EXECUTE.  | 
  
commands | 
    Array | 
       Obrigatório. Lista de pares de destino e comando do dispositivo.  | 
  
[item, ...] | 
    Object | 
       Conjunto de comandos a serem executados nos dispositivos de segmentação conectados.  | 
  
devices | 
    Array | 
       Obrigatório. Lista de dispositivos de destino.  | 
  
[item, ...] | 
    Object | 
       Destino do dispositivo a ser executado.  | 
  
id | 
    String | 
       Obrigatório. ID do dispositivo, conforme o ID fornecido em SYNC.  | 
  
customData | 
    Object | 
       Se o objeto customData opaco for fornecido na SYNC, ele será enviado aqui.  | 
  
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.  | 
  
params | 
    Object | 
       Alinhados com os parâmetros de cada comando.  | 
  
Exemplos
Solicitação 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 da resposta
| Campos | Tipo | Descrição | 
|---|---|---|
requestId | 
    String | 
       Obrigatório. ID da solicitação correspondente.  | 
  
payload | 
    Object | 
       Obrigatório. Payload da resposta da intent.  | 
  
errorCode | 
    String | 
       Um código de erro para toda a transação de 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 de resposta detalhada 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, com três luzes funcionando e quatro falhando, ou seja, 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: 
  | 
  
states | 
    Object | 
       Alinhados com os estados de cada atributo descritos em cada referência de esquema de atributo. Estes 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 | 
       Expandir o estado de ERRO, se necessário, a partir dos códigos de erro predefinidos, que serão mapeados para os erros apresentados aos usuários.  | 
  
debugString | 
    String | 
       Erro detalhado no nível do comando, que nunca será apresentado aos usuários, mas pode ser registrado ou usado durante o desenvolvimento.  | 
  
Exemplos
Resposta da 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" } ] } }