Ti diamo il benvenuto nel Centro sviluppatori Google Home, la nuova destinazione per scoprire come sviluppare azioni per la smart home. Nota: continuerai a creare azioni nella console di Actions.

Guida all'asciugatrice per la smart home

action.devices.types.DRYER - Le asciugatrici dispongono di funzionalità di avvio e arresto indipendenti dall'accensione e dallo spegnimento. Alcune possono essere messe in pausa e riavviate durante l'asciugatura. Anche le asciugatrici dispongono di varie modalità e ciascuna ha le proprie impostazioni correlate. Sono specifici per l'asciugatrice e vengono interpretati in forma generalizzata.

Questo tipo indica che il dispositivo visualizza l'icona dell'asciugatrice e alcuni sinonimi e alias correlati.

Funzionalità del dispositivo

Fai riferimento alla documentazione sulle trait corrispondente per i dettagli sull'implementazione, ad esempio gli attributi e gli stati che il tuo servizio dovrebbe supportare, e come creare risposte EXECUTE e QUERY.

Trait obbligatori

Questi trait e comandi sono obbligatori, se applicabile al tuo dispositivo. Se il tuo dispositivo non supporta questi trait, inserisci il codice di errore di functionNotSupported in una risposta QUERY o EXECUTE. Per ulteriori informazioni, consulta Errori ed eccezioni.

Queste caratteristiche sono consigliate, se applicabili al tuo dispositivo. Tuttavia, puoi combinare liberamente tutte le caratteristiche disponibili per abbinarle al meglio alle funzionalità esistenti del prodotto.

Requisiti di qualità

  • Latenza: deve essere inferiore o uguale a 3000 ms.
  • Affidabilità:deve essere superiore o uguale al 97%.

Esempio di dispositivo: asciugatrice semplice

Questa sezione contiene payload di intent di esempio che rappresentano un'"asciugatrice" comune in base al tipo di dispositivo e ai trait indicati sopra. Se aggiungi o rimuovi i trait nell'implementazione, modifica le risposte di conseguenza per riflettere queste modifiche.

Esempio di risposta SYNC

Richiesta
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.DRYER",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.RunCycle",
          "action.devices.traits.StartStop",
          "action.devices.traits.Modes"
        ],
        "name": {
          "name": "Simple dryer"
        },
        "willReportState": true,
        "attributes": {
          "availableModes": [
            {
              "name": "load_key",
              "name_values": [
                {
                  "name_synonym": [
                    "Load",
                    "Size",
                    "Load size"
                  ],
                  "lang": "en"
                }
              ],
              "settings": [
                {
                  "setting_name": "small_key",
                  "setting_values": [
                    {
                      "setting_synonym": [
                        "Small",
                        "Half"
                      ],
                      "lang": "en"
                    }
                  ]
                },
                {
                  "setting_name": "large_key",
                  "setting_values": [
                    {
                      "setting_synonym": [
                        "Large",
                        "Full"
                      ],
                      "lang": "en"
                    }
                  ]
                }
              ],
              "ordered": true
            }
          ],
          "pausable": true
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Esempio di risposta QUERY

Richiesta
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "on": true,
        "isRunning": true,
        "isPaused": false,
        "currentRunCycle": [
          {
            "currentCycle": "dry",
            "lang": "en"
          }
        ],
        "currentTotalRemainingTime": 600,
        "currentCycleRemainingTime": 300,
        "currentModeSettings": {
          "load_key": "small_key"
        }
      }
    }
  }
}

Esempi di comandi EXECUTE

OnOff

Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento action.devices.traits.OnOff.

Richiesta
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "on": true
        }
      }
    ]
  }
}

StartStop

Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento action.devices.traits.StartStop.

Richiesta
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.StartStop",
                "params": {
                  "start": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isRunning": true,
          "isPaused": false
        }
      }
    ]
  }
}

Modalità Set

Per maggiori dettagli sui parametri del comando, consulta la pagina di riferimento action.devices.traits.Modes.

Richiesta
{
  "requestId": "6894439706274654522",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.SetModes",
                "params": {
                  "updateModeSettings": {
                    "load_key": "large_key"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Risposta
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "currentModeSettings": {
            "load_key": "large_key"
          }
        }
      }
    ]
  }
}

ERRORS dispositivo

Consulta l'elenco completo di errori ed eccezioni.