Esquema de atributo de modos da casa inteligente

action.devices.traits.Modes: essa característica abrange todos os modos disponíveis e as configurações específicas de 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 no modo "delicado", "normal" e "pesado" simultaneamente. Uma configuração que simplesmente pode ser ativada ou desativada pertence ao atributo Toggles.

Por exemplo, uma máquina de lavar pode ter configurações de tamanho de carga e temperatura. Eles seriam 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 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 a linguagem para cima/para baixo, aumentar/diminuir. Por exemplo, o tamanho da carga (pequeno, médio, grande) e a temperatura são ordenados de forma clara. A temperatura não é um termostato real com um alvo numérico, como em outros dispositivos, mas o tipo de carga (delicados, 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 não estão vinculadas a outros comportamentos do dispositivo. O comportamento vinculado, como ligar ou desligar o 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 processamento 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. Isso pode ser difícil de usar e 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 na lista é usada como o nome canônico do nível nesse idioma.

[item, ...] String

Nome do sinônimo.

lang String

Obrigatório.

Código de idioma (ISO 639-1). Consulte os idiomas aceitos.

settings Array

Obrigatório.

Configurações compatíveis com esse modo.

[item, ...] Object

Configuração com suporte.

É necessário ter pelo menos dois itens.

setting_name String

Obrigatório.

Nome interno da configuração de modo, que será usado em comandos e estados. Isso pode ser difícil de usar e será compartilhado em todos os idiomas.

setting_values Array

Obrigatório.

Sinônimos da configuração em cada idioma com suporte.

[item, ...] Object

Sinônimos da configuração em um determinado idioma.

setting_synonym Array

Obrigatório.

Sinônimos da configuração. A primeira string na lista é usada como o nome canônico do nível nesse idioma.

[item, ...] String

Nome do sinônimo.

lang String

Obrigatório.

Código de idioma (ISO 639-1). Consulte os idiomas aceitos.

ordered Booleano

Padrão: false.

Se definido como "true", a gramática adicional para a lógica de aumento/diminuição será aplicada na ordem (crescente) do array de configurações.

commandOnlyModes Booleano

Padrão: false.

Indica se o dispositivo oferece suporte a comunicação unidirecional (verdadeiro) ou bidirecional (falso). Defina esse atributo como verdadeiro se o dispositivo não puder responder a uma intent de QUERY ou ao estado de relatório dessa característica.

queryOnlyModes Booleano

Padrão: false.

Obrigatório se o dispositivo oferece suporte à execução somente de consulta. 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 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 DO DISPOSITIVO

As entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre o processamento de intents QUERY, consulte Fulfillment de intents.

Estados Tipo Descrição
currentModeSettings Object

Obrigatório.

Par de chave-valor com o modo name do dispositivo como chave e o setting_name atual como valor.

<string> String

Atual: setting_name.

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 comandos abaixo como parte da operação EXECUTE. Para saber mais sobre o processamento de intents EXECUTE, consulte Fulfillment de intents.

action.devices.commands.SetModes

Atualize as configurações do modo.

Parâmetros

Parâmetros Tipo Descrição
updateModeSettings Object

Obrigatório.

Par de chave-valor com o modo name do dispositivo como chave e o novo setting_name como valor.

<string> String

Novo setting_name.

Exemplos

Defina 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

ERROS do dispositivo

Confira a lista completa de erros e exceções.