action.devices.EXECUTE
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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" } ] } }