Esquema de traço de modos de casa inteligente
action.devices.traits.Modes
: esse traço abrange todos os modos disponíveis e as configurações específicas de modo para um dispositivo.
Essa característica pertence a qualquer dispositivo com um número arbitrário de modos "n-way", em que os modos e as configurações de cada modo são arbitrários e exclusivos para cada dispositivo ou tipo de dispositivo. Cada modo tem várias configurações possíveis, mas apenas uma pode ser selecionada por vez. Uma secadora não pode estar nos modos "delicado", "normal" e "pesado" simultaneamente. Uma configuração que pode ser ativada ou desativada pertence à característica Toggles.
Por exemplo, uma máquina de lavar pode ter configurações para tamanho da carga e temperatura. Ambos seriam modos porque são independentes um do outro, mas cada um pode estar em apenas um estado por vez. O usuário pode definir um modo, como temperatura, explicitamente com um comando como Defina a temperatura da lavadora como fria.
Alguns modos são "ordenados" e também podem ser ajustados com a linguagem de aumentar/diminuir, subir/descer. Por exemplo, o tamanho da carga (pequena, média, grande) e a temperatura são claramente ordenados (observe que a temperatura não é um termostato real com uma meta numérica, como em outros dispositivos), mas o tipo de carga (delicados, normal, lã etc.) pode não ser.
Essa característica abrange um ou mais modos individuais que os usuários podem definir. Em geral, esses modos devem ser usados para funcionalidades que não estão vinculadas a outros comportamentos do dispositivo. Comportamentos vinculados, como ligar ou desligar o dispositivo, devem usar características mais específicas (por exemplo, o thermostatMode
na característica TemperatureSetting).
ATRIBUTOS do dispositivo
Dispositivos com essa característica podem informar os seguintes atributos como parte da operação SYNC
. Para saber mais sobre como processar intents SYNC
, consulte Lógica de fulfillment de intents.
Atributos | Tipo | Descrição |
---|---|---|
availableModes |
Array |
Obrigatório. Lista de modos disponíveis. |
[item, ...] |
Object |
Modo disponível. |
name |
String |
Obrigatório. Nome interno do modo, que será usado em comandos e estados. Isso pode não ser fácil de usar e será compartilhado em todos os idiomas. |
name_values |
Array |
Obrigatório. Sinônimos do modo em cada idioma compatível. |
[item, ...] |
Object |
Sinônimos do modo em um determinado idioma. É necessário pelo menos um item com um valor |
name_synonym |
Array |
Obrigatório. Sinônimos do modo. A primeira string dessa lista é usada como o nome canônico do nível nesse idioma. |
[item, ...] |
String |
Nome do sinônimo. É necessário pelo menos um item com um valor |
lang |
String |
Obrigatório. Código de idioma (ISO 639-1). Confira os idiomas aceitos. |
settings |
Array |
Obrigatório. Configurações compatíveis com esse modo. |
[item, ...] |
Object |
Configuração compatível. Requer pelo menos dois itens. |
setting_name |
String |
Obrigatório. Nome interno da configuração de modo, que será usado em comandos e estados. Isso pode não ser fácil de usar e será compartilhado em todos os idiomas. |
setting_values |
Array |
Obrigatório. Sinônimos da configuração em cada idioma compatível. |
[item, ...] |
Object |
Sinônimos da configuração em um determinado idioma. |
setting_synonym |
Array |
Obrigatório. Sinônimos da configuração. A primeira string dessa lista é usada como o nome canônico do nível nesse idioma. |
[item, ...] |
String |
Nome do sinônimo. |
lang |
String |
Obrigatório. Código de idioma (ISO 639-1). Confira os idiomas aceitos. |
ordered |
Booleano |
Padrão: Se for definido como "true", uma gramática adicional para a lógica de aumento/diminuição será aplicada, na ordem (crescente) da matriz de configurações. |
commandOnlyModes |
Booleano |
Padrão: Indica se o dispositivo aceita comunicação unidirecional (true) ou bidirecional (false). Defina esse atributo como "true" se o dispositivo não puder responder a uma intent QUERY ou Report State para essa característica. |
queryOnlyModes |
Booleano |
Padrão: Obrigatório se o dispositivo for compatível com a execução somente de consultas. Esse atributo indica se o dispositivo só pode ser consultado para informações de estado e não pode ser controlado. |
Exemplos
Dispositivo com vários modos e configurações.
{ "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 com modos somente de 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 }
ESTADOS DO DISPOSITIVO
As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY
. Para saber mais sobre como processar intents QUERY
, consulte Lógica de fulfillment de intents.
Estados | Tipo | Descrição |
---|---|---|
currentModeSettings |
Object |
Obrigatório. Par de chave-valor com o modo |
<string> |
String |
Atual: |
Exemplos
Em qual modo o dispositivo está?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
COMANDOS do dispositivo
Dispositivos com essa característica podem responder aos seguintes
comandos como parte da operação EXECUTE
. Para saber mais sobre como processar intents EXECUTE
, consulte Lógica de fulfillment de intents.
action.devices.commands.SetModes
Atualize as configurações de modo.
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
updateModeSettings |
Object |
Obrigatório. Par de chave-valor com o modo |
<string> |
String |
Novo |
Exemplos
Definir para carga grande.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Exemplos de declarações
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