action.devices.EXECUTE
Essa intent envia comandos para serem executados em dispositivos de casa inteligente.
O fulfillment precisa processar cada comando, transmiti-lo para o dispositivo correspondente e retornar
o novo estado na resposta EXECUTE
.
Uma única intent EXECUTE
pode segmentar vários dispositivos com diversos comandos.
Por exemplo, uma intent acionada pode definir o brilho e a cor de um conjunto de
luzes ou definir várias luzes cada uma para uma cor diferente.
Veja mais detalhes em 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. EXECUTAR payload de solicitação. |
commands |
Array |
Obrigatório. Lista de pares de comando e destino de dispositivo. |
[item, ...] |
Object |
Conjunto de comandos a serem executados nos destinos de dispositivos anexados. |
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 em SYNC, ele será enviado aqui. |
execution |
Array |
Obrigatório. Lista de comandos a serem executados em dispositivos de destino. |
[item, ...] |
Object |
Comando do dispositivo. |
command |
String |
Obrigatório. O comando a ser executado, normalmente com parâmetros correspondentes. |
params |
Object |
De acordo com os parâmetros de cada comando. |
Exemplos
EXECUTAR solicitação de intent
{ "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. É o ID da solicitação correspondente. |
payload |
Object |
Obrigatório. Payload de resposta de intent. |
errorCode |
String |
Um código de erro para toda a transação com falhas de autenticação e indisponibilidade do sistema do desenvolvedor. Para erros de dispositivos individuais, use o errorCode no objeto dispositivo. |
debugString |
String |
Erro detalhado que nunca será apresentado aos usuários, mas poderá ser registrado ou usado durante o desenvolvimento. |
commands |
Array |
Cada objeto contém um ou mais dispositivos com detalhes de resposta. Observação: elas não podem ser agrupadas da mesma forma que na solicitação. Por exemplo, a solicitação pode acender sete luzes, com três luzes funcionando e quatro falhando, assim, com dois grupos na resposta. |
[item, ...] |
Object |
Resultado da execução do dispositivo. |
ids |
Array |
Obrigatório. Lista de IDs de dispositivo correspondentes a esse status. |
[item, ...] |
String |
ID do dispositivo. |
status |
String |
Obrigatório. Resultado da operação de execução. Os valores suportados são:
|
states |
Object |
Alinhado com os estados por característica descritos em cada referência do esquema de características. 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 |
Expandindo o estado ERROR, se necessário, dos códigos de erro predefinidos, que mapeiam os erros apresentados aos usuários. |
Exemplos
EXECUTAR resposta de intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }