Guida al cancello smart home
action.devices.types.GATE: i cancelli possono essere aperti e chiusi, potenzialmente in più di una direzione.
Questo tipo indica che il dispositivo riceve l'icona Cancello e alcuni sinonimi e alias correlati.
Funzionalità del dispositivo
Consulta la documentazione del 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 richiesti
Questi tratti e comandi sono obbligatori, se applicabili al tuo
dispositivo. Se il tuo dispositivo non supporta queste caratteristiche, 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 tutte le caratteristiche disponibili per trovare la corrispondenza migliore con le funzionalità del prodotto esistenti.
Dispositivo di esempio: cancello semplice
Questa sezione contiene payload di intent di esempio che rappresentano un "Gate" 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.GATE", "traits": [ "action.devices.traits.LockUnlock", "action.devices.traits.OpenClose" ], "name": { "name": "Simple gate" }, "willReportState": 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, "openPercent": 50, "isLocked": false, "isJammed": false } } } }
Esempi di comandi EXECUTE
LockUnlock
Per ulteriori dettagli sui parametri del comando,
consulta il
action.devices.traits.LockUnlock
di riferimento.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.LockUnlock", "params": { "lock": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "isLocked": true, "isJammed": false } } ] } }
OpenClose
Per ulteriori dettagli sui parametri del comando,
consulta il
action.devices.traits.OpenClose
di riferimento.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OpenClose", "params": { "openPercent": 100 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "openPercent": 100 } } ] } }