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: 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:
|
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"
}
]
}
}