Esquema de atributo de preenchimento da casa inteligente

action.devices.traits.Fill: essa característica 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 o processamento de intents SYNC, consulte Fulfillment de intents.

Atributos Tipo Descrição
availableFillLevels Object

Descreve os 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 com suporte.

[item, ...] Object

Sinônimos do nível em um determinado idioma.

level_synonym Array

Obrigatório.

Sinônimo do nível. 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

Obrigatório.

Se verdadeiro, o dispositivo processa uma gramática adicional para a lógica de aumento ou diminuição, conforme representado pelo array levels (por exemplo, metade do nível).

supportsFillPercent Booleano

Padrão: false.

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

Exemplos

Dispositivo com recursos básicos de enchimento ou esgotamento que não oferece suporte a 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 o processamento de intents QUERY, consulte 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 vazio.

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

action.devices.commands.Fill

Encher ou esvaziar o dispositivo.

Parâmetros

Parâmetros Tipo Descrição
fill Booleano

Obrigatório.

Verdadeiro para encher, falso para esvaziar.

fillLevel String

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

fillPercent Número

Indica a porcentagem de nível solicitada.

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 (exija 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.