Schema del tratto Modalità della smart home
action.devices.traits.Modes
: questa caratteristica copre tutte le modalità disponibili e le impostazioni specifiche della modalità per un dispositivo.
Questa caratteristica appartiene a qualsiasi dispositivo con un numero arbitrario di modalità "n-way" in cui le modalità e le impostazioni per ogni modalità sono arbitrarie e uniche per ogni dispositivo o tipo di dispositivo. Ogni modalità ha più impostazioni possibili, ma è possibile selezionarne solo una alla volta; un'asciugatrice non può essere contemporaneamente in modalità "delicati", "normale" e "resistenti". Un'impostazione che può essere semplicemente attivata o disattivata appartiene al tratto Toggles.
Ad esempio, una lavatrice può avere impostazioni per la dimensione del carico e la temperatura. Entrambi sarebbero modalità perché sono indipendenti l'una dall'altra, ma ognuna può trovarsi in un solo stato alla volta. L'utente può impostare una modalità come la temperatura in modo esplicito con un comando come Imposta la temperatura della lavatrice su freddo.
Alcune modalità sono "ordinate" e possono essere regolate anche con le espressioni aumenta/diminuisci. Ad esempio, le dimensioni del carico (piccolo, medio, grande) e la temperatura sono chiaramente ordinate (tieni presente che la temperatura non è un termostato effettivo con un target numerico, come su altri dispositivi), ma il tipo di carico (delicati, normale, lana e così via) potrebbe non esserlo.
Questa caratteristica copre una o più modalità individuali che gli utenti possono impostare. In generale,
queste modalità devono essere utilizzate per funzionalità non collegate al comportamento di altri dispositivi. Il comportamento collegato, ad esempio l'accensione o lo spegnimento del dispositivo stesso, deve
utilizzare tratti più specifici (ad esempio, thermostatMode
nel
tratto TemperatureSetting).
ATTRIBUTI dispositivo
I dispositivi con questa caratteristica potrebbero segnalare i seguenti
attributi nell'ambito dell'operazione SYNC
. Per saperne di più
sulla gestione degli intent SYNC
, consulta
Completamento degli intent.
Attributi | Tipo | Descrizione |
---|---|---|
availableModes |
Array |
Obbligatorio. Elenco delle modalità disponibili. |
[item, ...] |
Oggetto |
Modalità Disponibile. |
name |
String |
Obbligatorio. Nome interno della modalità, che verrà utilizzato nei comandi e negli stati. Questo può essere difficile da leggere e verrà condiviso in tutte le lingue. |
name_values |
Array |
Obbligatorio. Sinonimi della modalità in ciascuna lingua supportata. |
[item, ...] |
Oggetto |
Sinonimi della modalità in una determinata lingua. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore |
name_synonym |
Array |
Obbligatorio. Sinonimi della modalità. La prima stringa di questo elenco viene utilizzata come nome canonico del livello in quella lingua. |
[item, ...] |
String |
Nome del sinonimo. Per fornire il fallback della lingua, è necessario almeno un elemento con un valore |
lang |
String |
Obbligatorio. Codice lingua (ISO 639-1). Consulta le lingue supportate. |
settings |
Array |
Obbligatorio. Impostazioni supportate per questa modalità. |
[item, ...] |
Oggetto |
Impostazione supportata. Richiede almeno 2 elementi. |
setting_name |
String |
Obbligatorio. Nome interno dell'impostazione della modalità, che verrà utilizzato nei comandi e negli stati. Questo può essere difficile da leggere e verrà condiviso in tutte le lingue. |
setting_values |
Array |
Obbligatorio. Sinonimi dell'impostazione in ogni lingua supportata. |
[item, ...] |
Oggetto |
Sinonimi dell'impostazione in una determinata lingua. |
setting_synonym |
Array |
Obbligatorio. Sinonimi dell'impostazione. La prima stringa di questo elenco viene utilizzata come nome canonico del livello in quella lingua. |
[item, ...] |
String |
Nome del sinonimo. |
lang |
String |
Obbligatorio. Codice lingua (ISO 639-1). Consulta le lingue supportate. |
ordered |
Valore booleano |
(Predefinito: Se questo valore è impostato su true, verrà applicata una grammatica aggiuntiva per la logica di aumento/diminuzione, nell'ordine (crescente) dell'array di impostazioni. |
commandOnlyModes |
Valore booleano |
(Predefinito: Indica se il dispositivo supporta la comunicazione unidirezionale (true) o bidirezionale (false). Imposta questo attributo su true se il dispositivo non può rispondere a un intent QUERY o a Report State per questo tratto. |
queryOnlyModes |
Valore booleano |
(Predefinito: Obbligatorio se il dispositivo supporta l'esecuzione solo di query. Questo attributo indica se il dispositivo può essere interrogato solo per informazioni sullo stato e non può essere controllato. |
Esempi
Dispositivo con più modalità e impostazioni.
{ "availableModes": [ { "name": "load_mode", "name_values": [ { "name_synonym": [ "Load", "Size", "Load size" ], "lang": "en" } ], "settings": [ { "setting_name": "small_load", "setting_values": [ { "setting_synonym": [ "Small", "Half" ], "lang": "en" } ] }, { "setting_name": "medium_load", "setting_values": [ { "setting_synonym": [ "Medium", "Normal" ], "lang": "en" } ] }, { "setting_name": "large_load", "setting_values": [ { "setting_synonym": [ "Large", "Full" ], "lang": "en" } ] } ], "ordered": true }, { "name": "temp_mode", "name_values": [ { "name_synonym": [ "Temperature", "Temp" ], "lang": "en" } ], "settings": [ { "setting_name": "hot_temp", "setting_values": [ { "setting_synonym": [ "Hot", "White" ], "lang": "en" } ] }, { "setting_name": "warm_temp", "setting_values": [ { "setting_synonym": [ "Warm", "Color" ], "lang": "en" } ] }, { "setting_name": "cold_temp", "setting_values": [ { "setting_synonym": [ "Cold", "Delicate" ], "lang": "en" } ] } ], "ordered": false } ] }
Dispositivo con modalità solo comandi.
{ "availableModes": [ { "name": "light_mode", "name_values": [ { "name_synonym": [ "Light", "Lighting" ], "lang": "en" } ], "settings": [ { "setting_name": "day_light", "setting_values": [ { "setting_synonym": [ "Day", "Bright" ], "lang": "en" } ] }, { "setting_name": "night_light", "setting_values": [ { "setting_synonym": [ "Night", "Dark" ], "lang": "en" } ] }, { "setting_name": "reading_light", "setting_values": [ { "setting_synonym": [ "Reading", "Ambiant" ], "lang": "en" } ] } ], "ordered": false } ], "commandOnlyModes": true, "queryOnlyModes": false }
STATI del dispositivo
Le entità con questo tratto possono segnalare i seguenti stati nell'ambito dell'operazione QUERY
. Per saperne di più
sulla gestione degli intent QUERY
, consulta
Completamento degli intent.
Stati | Tipo | Descrizione |
---|---|---|
currentModeSettings |
Oggetto |
Obbligatorio. Coppia chiave/valore con la modalità |
<string> |
String |
Attuale: |
Esempi
In che modalità si trova il dispositivo?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
COMANDI del dispositivo
I dispositivi con questo tratto potrebbero rispondere ai seguenti
comandi nell'ambito dell'operazione EXECUTE
. Per saperne di più
sulla gestione degli intent EXECUTE
, consulta
Completamento degli intent.
action.devices.commands.SetModes
Aggiorna le impostazioni della modalità.
Parametri
Parametri | Tipo | Descrizione |
---|---|---|
updateModeSettings |
Oggetto |
Obbligatorio. Coppia chiave/valore con la modalità |
<string> |
String |
Novità |
Esempi
Imposta su carico grande.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Esempi di espressioni
de-DE
- Stelle den Staubsauger auf Ruhemodus
en-US
- set the vacuum to energy saver mode
es-ES
- pon la lavadora en modo frío
fr-FR
- mets l'aspirateur en silencieux
hi-IN
- वैक्यूम पर कार्पेट मोड लगाएं
it-IT
- imposta l'aspirapolvere su silenzioso
ja-JP
- 掃除機 を 静音 モードに設定して
ko-KR
- 세탁기 세탁량 많음 으로 설정해
pt-BR
- acionar a função autolimpeza do aspirador
- ligar o modo de aquecimento