Schemat cechy trybów inteligentnego domu
action.devices.traits.Modes
– ten atrybut obejmuje wszystkie dostępne tryby i ustawienia specyficzne dla trybu na urządzeniu.
Ten atrybut należy do wszystkich urządzeń z dowolną liczbą trybów „n-way”, w których tryby i ustawienia każdego trybu są dowolne i unikalne dla każdego urządzenia lub typu urządzenia. Każdy tryb ma kilka możliwych ustawień, ale tylko jedno z nich można wybrać w danym momencie. Suszarka nie może działać jednocześnie w trybie „delikatne”, „normalne” i „intensywne”. Ustawienie, które można po prostu włączyć lub wyłączyć, należy do cechy Toggles.
Na przykład pralka może mieć ustawienia dotyczące wielkości załadunku i temperatury. Oba te elementy są trybami, ponieważ są od siebie niezależne, ale każdy z nich może być w danym momencie tylko w jednym stanie. Użytkownik może ustawić tryb, np. temperaturę, za pomocą polecenia takiego jak Ustaw temperaturę pralki na zimną.
Niektóre tryby są „uporządkowane” i można je też dostosowywać za pomocą słów „w górę” lub „w dół”, „zwiększ” lub „zmniejsz”. Na przykład rozmiar wsadu (mały, średni, duży) i temperatura są wyraźnie uporządkowane (pamiętaj, że temperatura nie jest rzeczywistym termostatem z wartością docelową, jak w przypadku innych urządzeń), ale rodzaj wsadu (delikatne, normalne, wełna itp.) może nie być.
Ten atrybut obejmuje co najmniej 1 tryb, który użytkownicy mogą ustawić. Ogólnie rzecz biorąc, te tryby powinny być używane w przypadku funkcji, które nie są powiązane z innymi działaniami urządzenia. Powiązane działania, takie jak włączanie i wyłączanie samego urządzenia, powinny korzystać z bardziej szczegółowych cech (np. thermostatMode
w cechy TemperatureSetting).
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 |
---|---|---|
availableModes |
Tablica |
Wymagany. Lista dostępnych trybów. |
[item, ...] |
Obiekt |
Tryb dostępny. |
name |
String |
Wymagany. Wewnętrzna nazwa trybu, która będzie używana w poleceniach i stanach. Może to być nieprzyjazne dla użytkownika i będzie udostępniane we wszystkich językach. |
name_values |
Tablica |
Wymagany. Synonimy trybu w każdym obsługiwanym języku. |
[item, ...] |
Obiekt |
Synonimy trybu w danym języku. Aby zapewnić działanie awaryjne w przypadku języka, wymagany jest co najmniej 1 produkt z wartością |
name_synonym |
Tablica |
Wymagany. Synonimy trybu. 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. |
settings |
Tablica |
Wymagany. Ustawienia obsługiwane w tym trybie. |
[item, ...] |
Obiekt |
Obsługiwane ustawienie. Wymaga co najmniej 2 elementów. |
setting_name |
String |
Wymagany. Wewnętrzna nazwa ustawienia trybu, która będzie używana w poleceniach i stanach. Może to być nieprzyjazne dla użytkownika i będzie udostępniane we wszystkich językach. |
setting_values |
Tablica |
Wymagany. Synonimy ustawienia w każdym obsługiwanym języku. |
[item, ...] |
Obiekt |
Synonimy ustawienia w danym języku. |
setting_synonym |
Tablica |
Wymagany. Synonimy ustawienia. Pierwszy ciąg znaków na tej liście jest używany jako nazwa kanoniczna poziomu w danym języku. |
[item, ...] |
String |
Nazwa synonimu. |
lang |
String |
Wymagany. Kod języka (ISO 639-1). Sprawdź obsługiwane języki. |
ordered |
Wartość logiczna |
(Domyślnie: Jeśli ta opcja ma wartość Prawda, stosowana jest dodatkowa gramatyka dla logiki zwiększania/zmniejszania w kolejności (rosnącej) tablicy ustawień. |
commandOnlyModes |
Wartość logiczna |
(Domyślnie: Wskazuje, czy urządzenie obsługuje komunikację jednokierunkową (prawda) czy dwukierunkową (fałsz). Ustaw ten atrybut na „true”, jeśli urządzenie nie może odpowiadać na intencję QUERY ani zgłaszać stanu w przypadku tej cechy. |
queryOnlyModes |
Wartość logiczna |
(Domyślnie: Wymagane, jeśli urządzenie obsługuje wykonywanie tylko zapytań. Ten atrybut wskazuje, czy urządzenie może być używane tylko do sprawdzania informacji o stanie, a nie do sterowania. |
Przykłady
Urządzenie z wieloma trybami i ustawieniami.
{ "availableModes": [ { "name": "load_mode", "name_values": [ { "name_synonym": [ "Load", "Size", "Load size" ], "lang": "en" } ], "settings": [ { "setting_name": "small_load", "setting_values": [ { "setting_synonym": [ "Small", "Half" ], "lang": "en" } ] }, { "setting_name": "medium_load", "setting_values": [ { "setting_synonym": [ "Medium", "Normal" ], "lang": "en" } ] }, { "setting_name": "large_load", "setting_values": [ { "setting_synonym": [ "Large", "Full" ], "lang": "en" } ] } ], "ordered": true }, { "name": "temp_mode", "name_values": [ { "name_synonym": [ "Temperature", "Temp" ], "lang": "en" } ], "settings": [ { "setting_name": "hot_temp", "setting_values": [ { "setting_synonym": [ "Hot", "White" ], "lang": "en" } ] }, { "setting_name": "warm_temp", "setting_values": [ { "setting_synonym": [ "Warm", "Color" ], "lang": "en" } ] }, { "setting_name": "cold_temp", "setting_values": [ { "setting_synonym": [ "Cold", "Delicate" ], "lang": "en" } ] } ], "ordered": false } ] }
Urządzenie z trybami tylko z poleceniami.
{ "availableModes": [ { "name": "light_mode", "name_values": [ { "name_synonym": [ "Light", "Lighting" ], "lang": "en" } ], "settings": [ { "setting_name": "day_light", "setting_values": [ { "setting_synonym": [ "Day", "Bright" ], "lang": "en" } ] }, { "setting_name": "night_light", "setting_values": [ { "setting_synonym": [ "Night", "Dark" ], "lang": "en" } ] }, { "setting_name": "reading_light", "setting_values": [ { "setting_synonym": [ "Reading", "Ambiant" ], "lang": "en" } ] } ], "ordered": false } ], "commandOnlyModes": true, "queryOnlyModes": false }
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 |
---|---|---|
currentModeSettings |
Obiekt |
Wymagany. Para klucz-wartość, w której kluczem jest tryb |
<string> |
String |
Obecnie |
Przykłady
W jakim trybie pracuje urządzenie?
{ "currentModeSettings": { "load_mode": "small_load", "temp_mode": "cold_temp" } }
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.SetModes
Zmień ustawienia trybu.
Parametry
Parametry | Typ | Opis |
---|---|---|
updateModeSettings |
Obiekt |
Wymagany. Para klucz-wartość, w której kluczem jest tryb |
<string> |
String |
Nowy |
Przykłady
Ustaw duży załadunek.
{ "command": "action.devices.commands.SetModes", "params": { "updateModeSettings": { "load_mode": "large_load" } } }
Przykładowe wypowiedzi
de-DE
- Stelle den Staubsauger auf Ruhemodus
en-US
- set the vacuum to energy saver mode
es-ES
- pon la lavadora en modo frío
fr-FR
- mets l'aspirateur en silencieux
hi-IN
- वैक्यूम पर कार्पेट मोड लगाएं
it-IT
- imposta l'aspirapolvere su silenzioso
ja-JP
- 掃除機 を 静音 モードに設定して
ko-KR
- 세탁기 세탁량 많음 으로 설정해
pt-BR
- acionar a função autolimpeza do aspirador
- ligar o modo de aquecimento