action.devices.EXECUTE
Questo intent invia comandi da eseguire sui dispositivi per la smart home.
Il fulfillment dovrebbe elaborare ogni comando, trasmetterlo al dispositivo corrispondente e restituire il nuovo stato nella risposta EXECUTE
.
Un singolo intent EXECUTE
può avere come target più dispositivi con più comandi.
Ad esempio, un attivatore attivato può impostare sia la luminosità sia il colore su un set di luci o impostare più luci su ogni colore.
Per maggiori dettagli, vedi Eseguire ed eseguire query.
Formato della richiesta
Campi | Tipo | Descrizione |
---|---|---|
requestId |
Stringa |
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. ESEGUI payload di richiesta. |
commands |
Array |
Obbligatorio. Elenco di coppie di targeting per dispositivo e comando. |
[item, ...] |
Oggetto |
Insieme di comandi da eseguire sui target dei dispositivi associati. |
devices |
Array |
Obbligatorio. Elenco dei dispositivi di destinazione. |
[item, ...] |
Oggetto |
Dispositivo target da eseguire. |
id |
Stringa |
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 di destinazione. |
[item, ...] |
Oggetto |
Comando dispositivo. |
command |
Stringa |
Obbligatorio. Il comando da eseguire, generalmente con parametri associati. |
params |
Oggetto |
In linea con i parametri per 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 |
Stringa |
Obbligatorio. ID della richiesta corrispondente. |
payload |
Oggetto |
Obbligatorio. Payload della risposta dell'intent. |
errorCode |
Stringa |
Un codice di errore per l'intera transazione per errori di autenticazione e disponibilità del sistema dello sviluppatore. Per gli errori relativi a singoli dispositivi, utilizza il codice di errore all'interno dell'oggetto del dispositivo. |
debugString |
Stringa |
Errore dettagliato che non verrà mai presentato agli utenti, ma potrebbe essere registrato o utilizzato durante lo sviluppo. |
commands |
Array |
Ogni oggetto contiene uno o più dispositivi con dettagli di risposta. N.B. È possibile che non vengano raggruppati come indicato nella richiesta. Ad esempio, la richiesta potrebbe accendere 7 luci, con 3 luci riuscite e 4 non riuscite, quindi con due gruppi nella risposta. |
[item, ...] |
Oggetto |
Risultato dell'esecuzione del dispositivo. |
ids |
Array |
Obbligatorio. Elenco di ID dispositivo corrispondenti a questo stato. |
[item, ...] |
Stringa |
ID dispositivo. |
status |
Stringa |
Obbligatorio. Risultato dell'operazione di esecuzione. Valori supportati:
|
states |
Oggetto |
Allineato con gli stati per singolo trattino descritti in ciascun riferimento allo schema del tratto. Questi sono gli stati successivi all'esecuzione, se disponibili. |
online |
Booleano |
Indica se il dispositivo è online (ossia raggiungibile). |
errorCode |
Stringa |
Possibilità di espandere lo stato ERROR se necessario dai codici di errore preimpostati, che verranno mappati agli errori presentati agli utenti. |
Esempi
ESEGUI risposta all'intenzione
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }