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