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 intencji SYNC znajdziesz w artykule Realizacja intencji.
| Atrybuty | Typ | Opis |
|---|---|---|
availableFillLevels |
Obiekt |
Opisuje różne poziomy napełnienia urządzenia. |
levels |
Tablica |
Wymagane. Lista nazw poziomów i synonimów w różnych językach. |
[item, ...] |
Obiekt |
Nazwa poziomu i jej synonimy w różnych językach. |
level_name |
String |
Wymagane. Wewnętrzna nazwa poziomu. Może to być nieprzyjazne dla użytkownika i będzie udostępniane we wszystkich językach. |
level_values |
Tablica |
Wymagane. 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 |
Wymagane. 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 |
Wymagane. Kod języka (ISO 639-1). Zobacz obsługiwane języki. |
ordered |
Wartość logiczna |
Wymagane. 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 ma wartość true (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 obsługujące 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
Podmioty z tą cechą mogą zgłaszać te stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule Realizacja intencji.
| Stany | Typ | Opis |
|---|---|---|
isFilled |
Wartość logiczna |
Wymagane. 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 Wartość musi znajdować się w zakresie od |
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 intencji EXECUTE znajdziesz w artykule Realizacja intencji.
action.devices.commands.Fill
Napełnij lub opróżnij urządzenie.
Parametry
| Parametry | Typ | Opis |
|---|---|---|
fill |
Wartość logiczna |
Wymagane. Wartość „prawda” oznacza napełnianie, a „fałsz” – opróżnianie. |
fillLevel |
String |
Wskazuje |
fillPercent |
Number |
Wskazuje żądany procent poziomu. Wartość musi znajdować się w zakresie od |
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"
}
}