Esquema de traço de preenchimento de casa inteligente

action.devices.traits.Fill: esse traço se aplica a dispositivos que podem ser preenchidos, 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 Fulfillment de intent.

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 compatível.

[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 verdadeiro, o dispositivo vai processar gramática adicional para lógica de aumento ou diminuição, conforme representado pela matriz levels (por exemplo, metade do 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

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 Execução 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 está preenchido.

currentFillPercent Número

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

O valor precisa estar entre 0 e 100.

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 Fulfillment de intent.

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.

O valor precisa estar entre 0 e 100.

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.