Schemat atrybutu wypełnienia inteligentnego domu
action.devices.traits.Fill – ta cecha dotyczy urządzeń, które można napełniać, np. wanny.
Atrybuty urządzenia
Urządzenia z tą cechą mogą zgłaszać te atrybuty w ramach operacji SYNC. Więcej informacji o obsłudze SYNC intencji znajdziesz w artykule Realizacja intencji.
| Atrybuty | Typ | Opis |
|---|---|---|
availableFillLevels |
Obiekt |
Opisuje różne poziomy napełnienia urządzenia. |
levels |
Tablica |
Wymagany. Lista nazw poziomów i synonimów w poszczególnych językach. |
[item, ...] |
Obiekt |
nazwę poziomu i jej synonimy w różnych językach; |
level_name |
String |
Wymagany. Wewnętrzna nazwa poziomu. Może to być nieprzyjazne dla użytkownika i będzie udostępniane we wszystkich językach. |
level_values |
Tablica |
Wymagany. Synonimy poziomu w każdym obsługiwanym języku. |
[item, ...] |
Obiekt |
Synonimy poziomu w danym języku. Aby zapewnić działanie awaryjne w przypadku języka, wymagany jest co najmniej 1 produkt z wartością |
level_synonym |
Tablica |
Wymagany. Synonim poziomu. Pierwszy ciąg znaków na tej liście jest używany jako nazwa kanoniczna poziomu w danym języku. |
[item, ...] |
String |
Nazwa synonimu. Aby zapewnić działanie awaryjne w przypadku języka, wymagany jest co najmniej 1 produkt z wartością |
lang |
String |
Wymagany. Kod języka (ISO 639-1). Sprawdź obsługiwane języki. |
ordered |
Wartość logiczna |
Wymagany. Jeśli wartość to „true”, urządzenie obsługuje dodatkową gramatykę dla logiki zwiększania lub zmniejszania, co jest reprezentowane przez tablicę |
supportsFillPercent |
Wartość logiczna |
(Domyślnie: Jeśli wartość to prawda, akceptuj polecenia dostosowywania poziomu do wartości procentowej. |
Przykłady
Urządzenie z podstawowymi funkcjami napełniania i opróżniania, które nie obsługuje dyskretnych poziomów napełnienia.
{}Urządzenie, które obsługuje dyskretne poziomy napełnienia.
{
"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
}
}Stany urządzenia
Elementy z tym atrybutem mogą zgłaszać te stany w ramach operacji QUERY. Więcej informacji o obsłudze QUERY intencji znajdziesz w artykule Realizacja intencji.
| Stany | Typ | Opis |
|---|---|---|
isFilled |
Wartość logiczna |
Wymagany. Prawda, jeśli urządzenie jest wypełnione na dowolnym poziomie. Fałsz, jeśli urządzenie jest całkowicie rozładowane. |
currentFillLevel |
String |
Wymagany, jeśli ustawiony jest atrybut |
currentFillPercent |
Number |
Wymagany, jeśli ustawiony jest atrybut |
Przykłady
Czy wanna jest napełniona?
{
"isFilled": true
}Czy wanna jest napełniona? (z poziomami).
{
"isFilled": true,
"currentFillLevel": "half_level"
}Polecenia dotyczące urządzenia
Urządzenia z tą cechą mogą odpowiadać na te polecenia w ramach operacji EXECUTE. Więcej informacji o obsłudze EXECUTE intencji znajdziesz w artykule Realizacja intencji.
action.devices.commands.Fill
napełniać lub opróżniać urządzenie;
Parametry
| Parametry | Typ | Opis |
|---|---|---|
fill |
Wartość logiczna |
Wymagany. Wartość „true” oznacza napełnianie, a „false” – opróżnianie. |
fillLevel |
String |
Wskazuje |
fillPercent |
Number |
Wskazuje żądany procent poziomu. |
Przykłady
Napełnij wannę.
{
"command": "action.devices.commands.Fill",
"params": {
"fill": true
}
}Opróżnij wannę.
{
"command": "action.devices.commands.Fill",
"params": {
"fill": false
}
}Napełnij wannę do połowy.
{
"command": "action.devices.commands.Fill",
"params": {
"fill": true,
"fillLevel": "half_level"
}
}Zwiększ poziom napełnienia wanny o 1 (wymaga, aby atrybut ordered miał wartość true).
{
"command": "action.devices.commands.Fill",
"params": {
"fill": true,
"fillLevel": "full_level"
}
}