Esquema de traços dos modos de casa inteligente
action.devices.traits.Modes
: essa característica abrange todos os modos disponíveis e configurações específicas do 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 configurações de cada modo são arbitrários e exclusivos. 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 "trabalho pesado" simultaneamente. Uma configuração que simplesmente pode ser ativada ou desativada pertence à característica Toggles.
Por exemplo, uma máquina de lavar pode ter configurações de tamanho de carga e temperatura. Esses dois seriam modos porque são independentes um do outro, mas cada pode estar em apenas um estado por vez. Defina um modo, como a temperatura, explicitamente com um comando como Definir a temperatura da lavadora como fria.
Alguns modos são "ordenados" e também podem ser ajustados com palavras para cima/para baixo, aumentar/diminuir. Por exemplo, o tamanho da carga (pequeno, médio, grande) e a temperatura são ordenados claramente (observe que a temperatura não é um termostato real com um destino numérico, como em outros dispositivos), mas o tipo de carga (delicado, 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 precisam ser usados para funcionalidades desvinculadas de outros comportamentos
do dispositivo. O comportamento vinculado, como ligar ou desligar o próprio dispositivo, precisa
usar características mais específicas (por exemplo, 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 o gerenciamento de intents SYNC
, consulte
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. Ele não é fácil de usar e vai ser compartilhado em todos os idiomas. |
name_values |
Array |
Obrigatório. Sinônimos do modo em cada idioma com suporte. |
[item, ...] |
Object |
Sinônimos do modo em um determinado idioma. |
name_synonym |
Array |
Obrigatório. Sinônimos do modo. A primeira string nessa lista é usada como o nome canônico do nível no idioma em questão. |
[item, ...] |
String |
Nome do sinônimo. |
lang |
String |
Obrigatório. Código do idioma (ISO 639-1). Veja os idiomas compatíveis. |
settings |
Array |
Obrigatório. Configurações com suporte para este modo. |
[item, ...] |
Object |
Configuração compatível. É necessário ter pelo menos dois itens. |
setting_name |
String |
Obrigatório. Nome interno da configuração do modo, que será usado em comandos e estados. Ele não é fácil de usar e vai 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 do contexto em um determinado idioma. |
setting_synonym |
Array |
Obrigatório. Sinônimos do contexto. A primeira string nessa lista é usada como o nome canônico do nível no idioma em questão. |
[item, ...] |
String |
Nome do sinônimo. |
lang |
String |
Obrigatório. Código do idioma (ISO 639-1). Veja os idiomas compatíveis. |
ordered |
Booleano |
Padrão: Se ela for definida como verdadeira, a 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 oferece suporte ao uso de comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent QUERY ou ao estado do relatório dessa característica. |
queryOnlyModes |
Booleano |
Padrão: Obrigatório se o dispositivo permitir a execução somente de consulta. Esse atributo indica se o dispositivo só pode ser consultado em busca de 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 }
STATES do dispositivo
Entidades com essa característica podem informar os seguintes estados como parte da operação QUERY
. Para saber
mais sobre o gerenciamento de intents QUERY
, consulte
fulfillment de intents.
Estados | Tipo | Descrição |
---|---|---|
currentModeSettings |
Object |
Obrigatório. Par de chave-valor com o modo |
<string> |
String |
Atual: |
Exemplos
Em que 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 o gerenciamento de intents EXECUTE
, consulte
fulfillment de intents.
action.devices.commands.SetModes
Atualizar configurações do modo.
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
updateModeSettings |
Object |
Obrigatório. Par de chave-valor com o modo |
<string> |
String |
Novo |
Exemplos
Defina como uma 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