action.devices.EXECUTE
Questo intent invia comandi da eseguire sui dispositivi per la smart home.
L'implementazione deve elaborare ogni comando, trasmetterlo al dispositivo corrispondente e restituire il nuovo stato nella risposta EXECUTE.
Un singolo intento EXECUTE può avere come target più dispositivi con più comandi.
Ad esempio, un'intenzione attivata può impostare sia la luminosità che il colore su un insieme di lampadine o può impostare più lampadine ciascuna su un colore diverso.
Per maggiori dettagli, vedi Eseguire query.
Formato della richiesta
| Campi | Tipo | Descrizione |
|---|---|---|
requestId |
String |
Obbligatorio. ID della richiesta. |
inputs |
Array |
Obbligatorio. Elenco di input corrispondenti alla richiesta di intent. |
[item, ...] |
Oggetto |
Tipo e payload associati alla richiesta di intent. |
intent |
Obbligatorio. (Valore costante: Tipo di richiesta di intent. |
|
payload |
Oggetto |
Obbligatorio. Payload della richiesta EXECUTE. |
commands |
Array |
Obbligatorio. Elenco di coppie di target e comandi del dispositivo. |
[item, ...] |
Oggetto |
Set di comandi da eseguire sui target dispositivo collegati. |
devices |
Array |
Obbligatorio. Elenco dei dispositivi target. |
[item, ...] |
Oggetto |
Target dispositivo da eseguire. |
id |
String |
Obbligatorio. ID dispositivo, in base all'ID fornito in SYNC. |
customData |
Oggetto |
Se l'oggetto customData opaco viene fornito in SYNC, viene inviato qui. |
execution |
Array |
Obbligatorio. Elenco di comandi da eseguire sui dispositivi target. |
[item, ...] |
Oggetto |
Comando del dispositivo. |
command |
String |
Obbligatorio. Il comando da eseguire, in genere con i parametri associati. |
params |
Oggetto |
Allineati ai parametri di ciascun comando. |
Esempi
EXECUTE intent request
{ "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 della risposta
| Campi | Tipo | Descrizione |
|---|---|---|
requestId |
String |
Obbligatorio. ID della richiesta corrispondente. |
payload |
Oggetto |
Obbligatorio. Payload della risposta all'intent. |
errorCode |
String |
Un codice di errore per l'intera transazione per errori di autenticazione e mancata disponibilità del sistema per gli sviluppatori. Per i singoli errori del dispositivo, utilizza errorCode all'interno dell'oggetto device. |
debugString |
String |
Errore di risposta dettagliato che non verrà mai mostrato agli utenti, ma che può essere registrato o utilizzato durante lo sviluppo. |
commands |
Array |
Ogni oggetto contiene uno o più dispositivi con i dettagli della risposta. N.B.: potrebbero non essere raggruppati nello stesso modo della richiesta. Ad esempio, la richiesta potrebbe accendere 7 luci, di cui 3 si accendono correttamente e 4 non si accendono, quindi con due gruppi nella risposta. |
[item, ...] |
Oggetto |
Risultato dell'esecuzione del dispositivo. |
ids |
Array |
Obbligatorio. Elenco degli ID dispositivo corrispondenti a questo stato. |
[item, ...] |
String |
ID dispositivo. |
status |
String |
Obbligatorio. Risultato dell'operazione di esecuzione. Valori supportati:
|
states |
Oggetto |
Allineati agli stati per tratto descritti in ogni riferimento allo schema del tratto. Questi sono gli stati dopo l'esecuzione, se disponibili. |
online |
Valore booleano |
Indica se il dispositivo è online (ovvero raggiungibile) o meno. |
errorCode |
String |
Espansione dello stato ERROR, se necessario, dai codici di errore preimpostati, che verranno mappati agli errori presentati agli utenti. |
debugString |
String |
Errore dettagliato a livello di comando che non verrà mai mostrato agli utenti, ma che può essere registrato o utilizzato durante lo sviluppo. |
Esempi
Risposta all'intenzione EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }