Esquema de características 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 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 de "dupla" ao mesmo tempo. 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 e temperatura de carregamento. Ambos são 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 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 as teclas para cima/baixo, aumentar/diminuir. Por exemplo, o tamanho de carregamento (pequeno, médio, grande) e a temperatura são ordenados claramente (observe que a temperatura não é um termo real com uma meta numérica, como em outros dispositivos), mas o tipo de carregamento (delicates, 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 que são desvinculadas de outro comportamento
do dispositivo. O comportamento vinculado, como ativar ou desativar o dispositivo, precisa
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
fulfillment de 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. Essa página pode ser fácil de usar e será compartilhada 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 nesse idioma. |
[item, ...] |
String |
Nome de 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. Requer pelo menos dois itens. |
setting_name |
String |
Obrigatório. Nome interno da configuração do modo, que será usado em comandos e estados. Essa página pode ser fácil de usar e será compartilhada em todos os idiomas. |
setting_values |
Array |
Obrigatório. São 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 nesse idioma. |
[item, ...] |
String |
Nome de sinônimo. |
lang |
String |
Obrigatório. Código do idioma (ISO 639-1). Consulte os idiomas compatíveis. |
ordered |
Booleano |
Padrão: Se for definida como verdadeira, a gramática adicional para lógica de aumento/diminuição será aplicada, na ordem (em 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 QUERY ou a um estado de 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 somente 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
Dispositivos com essa característica podem informar os estados
a seguir como parte da operação QUERY
. Para saber
mais sobre como processar intents QUERY
, consulte
fulfillment de 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 aos seguintes
comandos como parte da operação EXECUTE
. Para saber
mais sobre como processar intents EXECUTE
, consulte
fulfillment de intent.
action.devices.commands.SetModes
Configurações do modo de atualização.
Parâmetros
Parâmetros | Tipo | Descrição |
---|---|---|
updateModeSettings |
Object |
Obrigatório. Par de chave-valor com o modo |
<string> |
String |
Novo |
Exemplos
Ajuste para carga grande.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Exemplos de declarações
de-DE
-
Stelle
den Staubsauger aufRuhemodus
en-US
-
set
the vacuum toenergy saver mode
es-ES
-
pon
la lavadora en modofrío
fr-FR
-
mets
l'aspirateur ensilencieux
hi-IN
-
वैक्यूम परकार्पेट मोड लगाएं
it-IT
-
imposta
l'aspirapolvere susilenzioso
ja-JP
-
掃除機 を静音 モードに設定して
ko-KR
-
세탁기 세탁량 많음 으로 설정해
pt-BR
-
acionar a função
autolimpeza doaspirador -
ligar o modo de
aquecimento