Esquema del rasgo de modos de casa inteligente

action.devices.traits.Modes: Este rasgo abarca todos los modos disponibles y la configuración específica de cada modo para un dispositivo.

Este rasgo pertenece a cualquier dispositivo con una cantidad arbitraria de modos "n-way" 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 ajustes posibles, pero solo se puede seleccionar uno a la vez. Una secadora no puede estar en modo "delicado", "normal" y "trabajo pesado" de forma simultánea. Un parámetro de configuración que simplemente se puede activar o desactivar pertenece al rasgo 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 solo puede estar en un 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ío.

Algunos modos están "ordenados" y también se pueden ajustar con las palabras arriba/abajo y aumentar/disminuir. Por ejemplo, el tamaño de la carga (pequeña, mediana, grande) y la temperatura están claramente ordenados (ten en cuenta que la temperatura no es un termostato real con un objetivo numérico, como en otros dispositivos), pero el tipo de carga (delicada, normal, lana, etc.) puede no estarlo.

Este rasgo abarca uno o más modos individuales que los usuarios pueden configurar. En general, estos modos se deben usar para la funcionalidad que no está vinculada a otro comportamiento del dispositivo. El comportamiento vinculado, como encender o apagar el dispositivo, debe usar rasgos más específicos (por ejemplo, thermostatMode en el rasgo TemperatureSetting).

Atributos del dispositivo

Los dispositivos con este rasgo pueden informar los siguientes atributos como parte de la operación SYNC. Para obtener más información sobre cómo controlar intents de SYNC, consulta Entrega de intents.

Atributos Tipo Descripción
availableModes Matriz

Obligatorio.

Es la lista de modos disponibles.

[item, ...] Objeto

Modo disponible.

name String

Obligatorio.

Nombre interno del modo, que se usará en comandos y estados. Esto puede no ser fácil de usar y se compartirá en todos los idiomas.

name_values Matriz

Obligatorio.

Son los sinónimos del modo en cada idioma admitido.

[item, ...] Objeto

Son los sinónimos del modo en un idioma determinado. Se requiere al menos un elemento con un valor de lang de en para proporcionar un resguardo de idioma.

name_synonym Matriz

Obligatorio.

Son los sinónimos del modo. La primera cadena de esta lista se usa como el nombre canónico del nivel en ese idioma.

[item, ...] String

Nombre del sinónimo. Se requiere al menos un elemento con un valor de lang de en para proporcionar un resguardo de idioma.

lang String

Obligatorio.

Código de idioma (ISO 639-1). Consulta los idiomas admitidos.

settings Matriz

Obligatorio.

Es la configuración admitida para este modo.

[item, ...] Objeto

Es un parámetro de configuración admitido.

Se requieren al menos 2 elementos.

setting_name String

Obligatorio.

Es el nombre interno del parámetro de configuración 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.

setting_values Matriz

Obligatorio.

Son los sinónimos del parámetro de configuración en cada idioma admitido.

[item, ...] Objeto

Son los 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

Nombre del sinónimo.

lang String

Obligatorio.

Código de idioma (ISO 639-1). Consulta los idiomas admitidos.

ordered Booleano

(Predeterminado: false)

Si se establece en verdadero, se aplicará una gramática adicional para la lógica de aumento o disminución, en el orden (aumento) del array de configuración.

commandOnlyModes Booleano

(Predeterminado: false)

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 una intención de QUERY o a un Report State para este rasgo.

queryOnlyModes Booleano

(Predeterminado: false)

Se requiere si el dispositivo admite la ejecución solo de consultas. Este atributo indica si solo se puede consultar el 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 solo 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 del dispositivo

Las entidades con este rasgo pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre cómo controlar intents de QUERY, consulta Entrega de intents.

Estados Tipo Descripción
currentModeSettings Objeto

Obligatorio.

Par clave-valor con el modo name del dispositivo como clave y el setting_name actual como valor.

<string> String

setting_name actual.

Ejemplos

¿En qué modo está el dispositivo?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

COMANDOS del dispositivo

Los dispositivos con este rasgo pueden responder a los siguientes comandos como parte de la operación EXECUTE. Para obtener más información sobre cómo controlar intents de EXECUTE, consulta Entrega de 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 name del dispositivo como clave y el nuevo setting_name como valor.

<string> String

Nuevo setting_name

Ejemplos

Configurado para 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

ERRORES del dispositivo

Consulta la lista completa de errores y excepciones.