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