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" } }