Schema del tratto Modalità smart home
action.devices.traits.Modes
: questo attributo copre tutte le modalità disponibili e le impostazioni specifiche per ogni modalità di 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 univoche per ogni dispositivo o tipo di dispositivo. Ogni modalità ha più impostazioni possibili, ma è possibile selezionarne una alla volta. Un'asciugatrice non può essere contemporaneamente in modalità "delicata", "normale" e "pesante". Un'impostazione che può essere attivata o disattivata appartiene al tratto Toggles.
Ad esempio, una lavatrice può avere impostazioni per la dimensione del carico e la temperatura. Entrambe sono modalità perché sono indipendenti l'una dall'altra, ma ciascuna può essere in un solo stato alla volta. L'utente può impostare una modalità come la temperatura esplicitamente con un comando come Imposta la temperatura della lavatrice su freddo.
Alcune modalità sono "ordinate" e possono essere regolate anche con i comandi su/giù, aumento/diminuzione. Ad esempio, le dimensioni del carico (piccolo, medio, grande) e la temperatura sono chiaramente ordinate (tieni presente che la temperatura non è un vero e proprio termostato con un target numerico, come su altri dispositivi), ma il tipo di carico (delicati, normale, lana e così via) potrebbe non esserlo.
Questo tratto copre una o più singole modalità che gli utenti possono impostare. In generale, queste modalità devono essere utilizzate per le funzionalità scollegate dal 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 del dispositivo
I dispositivi con questa caratteristica possono segnalare i seguenti
attributi nell'ambito dell'operazione SYNC
. Per scoprire di più sulla gestione degli intent SYNC
, consulta Adempimento 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 in comandi e stati. Questo approccio può non essere user-friendly e verrà condiviso in tutte le lingue. |
name_values |
Array |
Obbligatorio. Sinonimi della modalità in ogni lingua supportata. |
[item, ...] |
Oggetto |
Sinonimi della modalità in una determinata lingua. |
name_synonym |
Array |
Obbligatorio. Sinonimi della modalità. La prima stringa in questo elenco viene utilizzata come nome canonico del livello nella lingua in questione. |
[item, ...] |
String |
Nome del sinonimo. |
lang |
String |
Obbligatorio. Codice lingua (ISO 639-1). Consulta le lingue supportate. |
settings |
Array |
Obbligatorio. Impostazioni supportate per questa modalità. |
[item, ...] |
Oggetto |
Impostazione supportata. Sono necessari almeno 2 elementi. |
setting_name |
String |
Obbligatorio. Nome interno dell'impostazione della modalità, che verrà utilizzato in comandi e stati. Questo approccio può non essere user-friendly 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 in questo elenco viene utilizzata come nome canonico del livello nella lingua in questione. |
[item, ...] |
String |
Nome del sinonimo. |
lang |
String |
Obbligatorio. Codice lingua (ISO 639-1). Consulta le lingue supportate. |
ordered |
Valore booleano |
(valore predefinito: Se questo valore è impostato su true, verrà applicata una grammatica aggiuntiva per la logica di aumento/diminuzione, nell'ordine (crescente) dell'array delle impostazioni. |
commandOnlyModes |
Valore booleano |
(valore 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 intento QUERY o a uno stato Report per questa caratteristica. |
queryOnlyModes |
Valore booleano |
(valore predefinito: Obbligatorio se il dispositivo supporta l'esecuzione solo di query. Questo attributo indica se è possibile eseguire query sul dispositivo 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 comando.
{ "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 attributo possono segnalare i seguenti stati nell'ambito dell'operazione QUERY
. Per scoprire di più sulla gestione degli intent QUERY
, consulta Adempimento degli intent.
Stati | Tipo | Descrizione |
---|---|---|
currentModeSettings |
Oggetto |
Obbligatorio. Coppia chiave/valore con la modalità |
<string> |
String |
Attuale: |
Esempi
In quale modalità è il dispositivo?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
COMANDI del dispositivo
I dispositivi con questa caratteristica possono rispondere ai seguenti comandi nell'ambito dell'operazione EXECUTE
. Per scoprire di più sulla gestione degli intent EXECUTE
, consulta Adempimento 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 |
Nuovo |
Esempi
Imposta la lavatrice su carico grande.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Frasi di esempio
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