Esquema de atributos de modos de casa inteligente
action.devices.traits.Modes
: Esta característica abarca todos los modos disponibles y la configuración específica de cada modo para un dispositivo.
Esta característica pertenece a cualquier dispositivo con una cantidad arbitraria de modos "n" en los que los modos y la configuración de cada modo son arbitrarios y únicos para cada dispositivo o tipo de dispositivo. Cada modo tiene varios parámetros de configuración posibles, pero solo se puede seleccionar uno a la vez. Una secadora no puede estar en los modos “delicado”, “normal” y “intensivo” de forma simultánea. Un parámetro de configuración que solo se puede activar o desactivar pertenece al atributo Toggles.
Por ejemplo, una lavadora puede tener parámetros de configuración para el tamaño de la carga y la temperatura. Ambos serían modos porque son independientes entre sí, pero cada uno puede estar en un solo estado a la vez. El usuario puede establecer un modo, como la temperatura, de forma explícita con un comando como Establece la temperatura de la lavadora en fría.
Algunos modos están "ordenados" y también se pueden ajustar con la opción de subir o bajar, y aumentar o disminuir el lenguaje. Por ejemplo, el tamaño de la carga (pequeño, mediano, grande) y la temperatura están ordenados claramente (ten en cuenta que la temperatura no es un termostato real con un objetivo numérico, como en otros dispositivos), pero es posible que el tipo de carga (delicados, normal, lana, etc.) no lo sea.
Esta característica abarca uno o más modos individuales que los usuarios pueden configurar. En general, estos modos deben usarse para funciones que no están vinculadas a otros comportamientos del dispositivo. El comportamiento vinculado, como encender o apagar el dispositivo, debe usar rasgos más específicos (por ejemplo, el thermostatMode
en el rasgo TemperatureSetting).
ATRIBUTOS del dispositivo
Los dispositivos con esta característica pueden informar los siguientes atributos como parte de la operación SYNC
. Para obtener más información sobre cómo controlar intents SYNC
, consulta Cómo entregar intents.
Atributos | Tipo | Descripción |
---|---|---|
availableModes |
Matriz |
Obligatorio. Es la lista de modos disponibles. |
[item, ...] |
Objeto |
Modo disponible |
name |
String |
Obligatorio. Es el nombre interno del modo, que se usará en los comandos y estados. Esto puede no ser fácil de usar y se compartirá en todos los idiomas. |
name_values |
Matriz |
Obligatorio. Sinónimos del modo en cada idioma admitido. |
[item, ...] |
Objeto |
Son sinónimos del modo en un idioma determinado. |
name_synonym |
Matriz |
Obligatorio. Sinónimos del modo. La primera cadena de esta lista se usa como el nombre canónico del nivel en ese idioma. |
[item, ...] |
String |
Es el nombre del sinónimo. |
lang |
String |
Obligatorio. Código de idioma (ISO 639-1). Consulta los idiomas admitidos. |
settings |
Matriz |
Obligatorio. Configuración admitida para este modo. |
[item, ...] |
Objeto |
Configuración admitida. Se requieren al menos 2 elementos. |
setting_name |
String |
Obligatorio. Es el nombre interno del parámetro de configuración de modo, que se usará en los comandos y estados. Esto puede no ser fácil de usar y se compartirá en todos los idiomas. |
setting_values |
Matriz |
Obligatorio. Sinónimos de la configuración en cada idioma admitido. |
[item, ...] |
Objeto |
Son sinónimos del parámetro de configuración en un idioma determinado. |
setting_synonym |
Matriz |
Obligatorio. Sinónimos del parámetro de configuración. La primera cadena de esta lista se usa como el nombre canónico del nivel en ese idioma. |
[item, ...] |
String |
Es el nombre del sinónimo. |
lang |
String |
Obligatorio. Código de idioma (ISO 639-1). Consulta los idiomas admitidos. |
ordered |
Booleano |
(Predeterminado: Si se establece como verdadero, se aplicará una gramática adicional para la lógica de aumento o disminución, en el orden (aumentando) del array de configuración. |
commandOnlyModes |
Booleano |
(Predeterminado: Indica si el dispositivo admite la comunicación unidireccional (verdadero) o bidireccional (falso). Establece este atributo como verdadero si el dispositivo no puede responder a un intent de QUERY o a un estado de informe para esta función. |
queryOnlyModes |
Booleano |
(Predeterminado: Obligatorio si el dispositivo admite la ejecución de solo consulta. Este atributo indica si solo se puede consultar información de estado del dispositivo y no se puede controlar. |
Ejemplos
Dispositivo con varios modos y parámetros de configuración.
{ "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 modos de solo comandos
{ "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 DEL DISPOSITIVO
Las entidades con este atributo pueden informar los siguientes
estados como parte de la operación QUERY
. Para obtener más información sobre cómo controlar intents QUERY
, consulta Cómo entregar intents.
Estados | Tipo | Descripción |
---|---|---|
currentModeSettings |
Objeto |
Obligatorio. Es un par clave-valor con el modo |
<string> |
String |
|
Ejemplos
¿En qué modo está el dispositivo?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
COMANDOS del dispositivo
Los dispositivos con esta característica pueden responder a los siguientes comandos como parte de la operación EXECUTE
. Para obtener más información sobre cómo controlar intents EXECUTE
, consulta Cómo entregar intents.
action.devices.commands.SetModes
Actualiza la configuración del modo.
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
updateModeSettings |
Objeto |
Obligatorio. Es un par clave-valor con el modo |
<string> |
String |
Nuevo |
Ejemplos
Establece una carga grande.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Expresiones de muestra
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