Guida alla lavatrice smart home
action.devices.types.WASHER - Le lavatrici possono avere funzionalità di avvio e arresto indipendenti dall'accensione o dallo spegnimento (alcune lavatrici hanno pulsanti di accensione separati, altre no). Alcuni possono essere messi in pausa e ripresi durante il lavaggio.
Anche le lavatrici hanno varie modalità e ognuna ha le proprie impostazioni correlate. Questi sono specifici per la lavatrice e vengono interpretati in forma generalizzata.
Questo tipo indica che il dispositivo riceve l'icona della lavatrice e alcuni sinonimi e alias correlati.
Per un esempio su come controllare una lavatrice con Google smart home, consulta il codelab per lavatrici smart home.
Funzionalità per il dispositivo
Consulta la documentazione relativa al tratto corrispondente per i dettagli di implementazione, come gli attributi e gli stati che il tuo servizio deve supportare e come creare risposte EXECUTE e QUERY.
Tratti obbligatori
Questi tratti e comandi sono obbligatori, se applicabili al tuo
dispositivo. Se il tuo dispositivo non supporta questi tratti, inserisci il codice di errore
functionNotSupported in una risposta QUERY o EXECUTE. Per saperne di più, consulta la sezione Errori ed eccezioni.
Tratti consigliati
Queste caratteristiche sono consigliate, se applicabili al tuo dispositivo. Tuttavia, puoi combinare tutti i tratti disponibili per adattarli al meglio alle funzionalità del prodotto esistenti.
-
action.devices.traits.Modes -
action.devices.traits.OnOff -
action.devices.traits.RunCycle -
action.devices.traits.Toggles
Dispositivo di esempio: lavatrice semplice
Questa sezione contiene payload di intent di esempio che rappresentano una "lavatrice" comune in base al tipo di dispositivo e alle caratteristiche sopra indicati. Se aggiungi o rimuovi caratteristiche nell'implementazione, modifica le risposte di conseguenza per riflettere queste modifiche.
Esempio di risposta SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.WASHER", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.RunCycle", "action.devices.traits.StartStop", "action.devices.traits.Modes" ], "name": { "name": "Simple washer" }, "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
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "isRunning": true, "isPaused": false, "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300, "currentModeSettings": { "load_key": "small_key" } } } } }
Comandi EXECUTE di esempio
OnOff
Per ulteriori dettagli sui parametri del comando,
consulta il
riferimento action.devices.traits.OnOff.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }
StartStop
Per ulteriori dettagli sui parametri del comando,
consulta il
riferimento action.devices.traits.StartStop.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.StartStop", "params": { "start": true } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isRunning": true, "isPaused": false } } ] } }
PauseUnpause
Per ulteriori dettagli sui parametri del comando,
consulta il
riferimento action.devices.traits.StartStop.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.PauseUnpause", "params": { "pause": true } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "PENDING", "states": { "online": true, "isRunning": false, "isPaused": true } } ] } }
SetModes
Per ulteriori dettagli sui parametri del comando,
consulta il
riferimento action.devices.traits.Modes.
{ "requestId": "6894439706274654522", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_key": "large_key" } } } ] } ] } } ] }
{ "requestId": "6894439706274654522", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "currentModeSettings": { "load_key": "large_key" } } } ] } }