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 atributos a seguir como parte da operação SYNC. Para saber mais sobre como processar 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 entre 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 definido como "true", o dispositivo processa uma gramática adicional para a lógica de aumento ou diminuição, conforme representado pela matriz 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. Falso se o dispositivo estiver completamente sem bateria.

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 como processar 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
  }
}

Drene 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 no dispositivo

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