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 |
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 |
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 |
supportsFillPercent |
Booleano |
Padrão: 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 |
currentFillPercent |
Número |
Obrigatório se o atributo |
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 |
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"
}
}