Esquema de traço de preenchimento de casa inteligente

action.devices.traits.Fill: esse traço se aplica a dispositivos que podem ser enchidos, como uma banheira.

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 Lógica de fulfillment de intents.

Atributos Tipo Descrição
availableFillLevels Object

Descreve diferentes níveis de preenchimento do dispositivo.

levels Array

Obrigatório.

Lista de nomes de níveis e sinônimos específicos do idioma.

[item, ...] Object

Nome do nível e sinônimos específicos do idioma.

level_name String

Obrigatório.

Nome interno do nível. Isso pode não ser fácil de usar e será compartilhado em todos os idiomas.

level_values Array

Obrigatório.

Sinônimos do nível em cada idioma aceito.

[item, ...] Object

Sinônimos do nível em um determinado idioma. É necessário pelo menos um item com um valor lang de en para oferecer substituição de idioma.

level_synonym Array

Obrigatório.

Sinônimo do nível. A primeira string dessa lista é usada como o nome canônico do nível nesse idioma.

[item, ...] String

Nome do sinônimo. É necessário pelo menos um item com um valor lang de en para oferecer substituição de idioma.

lang String

Obrigatório.

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

ordered Booleano

Obrigatório.

Se for "true", o dispositivo vai processar gramática adicional para lógica de aumento ou diminuição, conforme representado pela matriz levels (por exemplo, meio nível).

supportsFillPercent Booleano

Padrão: false.

Se for verdadeiro, aceita comandos para ajustar o nível a uma porcentagem.

Exemplos

Dispositivo com recursos básicos de enchimento ou drenagem que não aceita níveis de enchimento discretos.

{}

Dispositivo compatível com níveis de preenchimento discretos.

{
  "availableFillLevels": {
    "levels": [
      {
        "level_name": "half_level",
        "level_values": [
          {
            "level_synonym": [
              "Half",
              "Half way",
              "One half"
            ],
            "lang": "en"
          }
        ]
      },
      {
        "level_name": "full_level",
        "level_values": [
          {
            "level_synonym": [
              "Full",
              "All the way",
              "Complete"
            ],
            "lang": "en"
          }
        ]
      }
    ],
    "ordered": true
  }
}

ESTADOS DO DISPOSITIVO

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

Estados Tipo Descrição
isFilled Booleano

Obrigatório.

Verdadeiro se o dispositivo estiver cheio em qualquer nível. False se o dispositivo estiver completamente descarregado.

currentFillLevel String

Obrigatório se o atributo availableFillLevels estiver definido. Indica o level_name atual do atributo availableFillLevels em que o dispositivo é preenchido.

currentFillPercent Número

Obrigatório se o atributo supportsFillPercent estiver definido. Indica a porcentagem atual do nível de preenchimento.

Exemplos

A banheira está cheia?

{
  "isFilled": true
}

A banheira está cheia? (com níveis).

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

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 Lógica de fulfillment de intents.

action.devices.commands.Fill

Encha ou esvazie o dispositivo.

Parâmetros

Parâmetros Tipo Descrição
fill Booleano

Obrigatório.

True para preencher, false para esvaziar.

fillLevel String

Indica o level_name do atributo availableFillLevels a ser definido. Se não for especificado, preencha até o nível padrão.

fillPercent Número

Indica a porcentagem do nível solicitado.

Exemplos

Encha a banheira.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true
  }
}

Esvazie a banheira.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": false
  }
}

Encha a banheira até a metade.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "half_level"
  }
}

Aumente o nível de enchimento da banheira em um (exige que o atributo ordered seja true).

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "full_level"
  }
}

ERROS do dispositivo

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