action.devices.EXECUTE
Questo intent invia comandi da eseguire sui dispositivi per la smart home.
Il fulfillment deve elaborare ogni comando, trasmetterlo al dispositivo corrispondente e restituire
il nuovo stato nella risposta EXECUTE
.
Un singolo intent EXECUTE
può scegliere come target più dispositivi con più comandi.
Ad esempio, un intent attivato potrebbe impostare sia la luminosità che il colore su un insieme di
o l'impostazione di più luci ciascuna su un colore diverso.
Per maggiori dettagli, consulta Eseguire query ed eseguire.
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 dispositivi target e di comandi. |
[item, ...] |
Oggetto |
Insieme di comandi da eseguire sui target dei dispositivi collegati. |
devices |
Array |
Obbligatorio. Elenco dei dispositivi di destinazione. |
[item, ...] |
Oggetto |
Dispositivo target da eseguire. |
id |
String |
Obbligatorio. ID dispositivo, come per l'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 di destinazione. |
[item, ...] |
Oggetto |
Comando del dispositivo. |
command |
String |
Obbligatorio. Il comando da eseguire, solitamente con parametri associati. |
params |
Oggetto |
Allineato ai parametri di ogni comando. |
Esempi
ESEGUI richiesta di 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 della risposta
Campi | Tipo | Descrizione |
---|---|---|
requestId |
String |
Obbligatorio. ID della richiesta corrispondente. |
payload |
Oggetto |
Obbligatorio. Payload della risposta dell'intent. |
errorCode |
String |
Un codice di errore per l'intera transazione per errori di autenticazione e mancata disponibilità del sistema degli sviluppatori. Per i singoli errori del dispositivo, utilizza il codice errorCode all'interno dell'oggetto dispositivo. |
debugString |
String |
Errore dettagliato che non verrà mai mostrato agli utenti, ma potrebbe essere registrato o utilizzato durante lo sviluppo. |
commands |
Array |
Ogni oggetto contiene uno o più dispositivi con i dettagli della risposta. N.B. Questi potrebbero non essere raggruppati come nella richiesta. Ad esempio, la richiesta potrebbe accendere 7 luci, con 3 luci che funzionano e 4 con errori, quindi con due gruppi nella risposta. |
[item, ...] |
Oggetto |
Risultato esecuzione dispositivo. |
ids |
Array |
Obbligatorio. Elenco di ID dispositivo corrispondente a questo stato. |
[item, ...] |
String |
ID dispositivo. |
status |
String |
Obbligatorio. Risultato dell'operazione di esecuzione. Valori supportati:
|
states |
Oggetto |
Allineato agli stati per trait descritti in ogni riferimento allo schema dei tratti. Questi sono gli stati dopo l'esecuzione, se disponibili. |
online |
Valore booleano |
Indica se il dispositivo è online (ossia raggiungibile) o meno. |
errorCode |
String |
Espansione dello stato ERRORE, se necessario, dai codici di errore preimpostati, che verranno mappati agli errori presentati agli utenti. |
Esempi
ESEGUI la risposta all'intent
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }