Esquema de traços dos modos de casa inteligente
action.devices.traits.Modes
: essa característica abrange todos os modos disponíveis e as configurações específicas do modo de um dispositivo.
Essa característica pertence a qualquer dispositivo com um número arbitrário de "n-way" em que o 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 de cada vez. a secadora não consegue ser "delicadas", "normal", e de 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 da carga e temperatura. Ambos seriam modos , pois são independentes um do outro, mas cada podem estar em apenas um estado por vez. O usuário pode definir um modo como explicitamente com um comando como Definir a temperatura da lavadora para frio.
Alguns modos são "ordenados" e também pode ser ajustado para cima/baixo, aumentar/diminuir o texto. Por exemplo, o tamanho do carregamento (pequeno, médio, grande) e temperatura estejam claramente ordenados (observe que a temperatura não é um valor real termostato com uma meta numérica, 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 devem ser usados para funcionalidades desvinculadas de outros dispositivos.
do seu modelo. O comportamento vinculado, como ligar ou desligar o próprio dispositivo, precisa
usar traços mais específicos (por exemplo, o thermostatMode
na
característica TemperatureSetting).
ATRIBUTOS DO dispositivo
Dispositivos com essa característica podem relatar o seguinte
atributos como parte da operação SYNC
. Para saber
mais sobre como lidar com intents SYNC
, consulte
Fulfillment da intent.
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 entre 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. |
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). Consulte os idiomas compatíveis. |
settings |
Array |
Obrigatório. Configurações compatíveis com este modo. |
[item, ...] |
Object |
Configuração compatível. Exige pelo menos dois itens. |
setting_name |
String |
Obrigatório. Nome interno da configuração de modo, que será usada em comandos e estados. Isso pode não ser fácil de usar e será compartilhado entre 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 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). Consulte os idiomas compatíveis. |
ordered |
Booleano |
Padrão: Se for definido como verdadeiro, será aplicada gramática adicional para a lógica de aumento/diminuição, na ordem (crescente) da matriz de configurações. |
commandOnlyModes |
Booleano |
Padrão: Indica se o dispositivo suporta o uso de comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent de CONSULTA ou ao estado do relatório 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 apenas 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 relatar o seguinte
como parte da operação QUERY
. Para saber
mais sobre como lidar com intents QUERY
, consulte
Fulfillment da intent.
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 ao seguinte
como parte da operação EXECUTE
. Para saber
mais sobre como lidar com intents EXECUTE
, consulte
Fulfillment da intent.
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
Definido como 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