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: "action.devices.EXECUTE")

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:

SUCCESS
Verifica che il comando sia riuscito.
PENDING
Il comando è in coda, ma si prevede che l'operazione vada a buon fine.
OFFLINE
Il dispositivo di destinazione è offline o non è raggiungibile.
EXCEPTIONS
Si è verificato un problema o un avviso associato a un comando. Il comando potrebbe avere esito positivo o negativo. In genere questo tipo di stato viene impostato per inviare informazioni aggiuntive su un altro dispositivo connesso.
ERROR
Il dispositivo di destinazione non è in grado di eseguire il comando.
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"
      }
    ]
  }
}