Schemat trait trybów inteligentnego domu

action.devices.traits.Modes – ta cecha obejmuje wszystkie dostępne tryby i ustawienia specyficzne dla danego urządzenia.

Ta cecha należy do urządzeń z dowolną liczbą trybów „n-way”, w których tryby i ustawienia poszczególnych trybów są dowolne i unikalne dla każdego urządzenia lub typu urządzenia. Każdy tryb ma wiele możliwych ustawień, ale w danym momencie można wybrać tylko jedno – suszarka nie może jednocześnie pracować w trybie „delikatnym”, „normalnym” i „o dużym stopniu intensywności”. Ustawienie, które można łatwo włączyć lub wyłączyć, należy do cechy Toggles.

Na przykład pralka może mieć ustawienia rozmiaru wsadu i temperatury. Oba te tryby są niezależne od siebie, ale w danym momencie każdy z nich może mieć tylko jeden stan. Użytkownik może bezpośrednio ustawić tryb, na przykład temperaturę, używając polecenia takiego jak Ustaw temperaturę pralki na zimno.

Niektóre tryby są uporządkowane, a także można je regulować w górę i w dół, zwiększając lub zmniejszając poziom dźwięku. Na przykład rozmiar ładunku (mały, średni, duży) i temperatura są wyraźnie uporządkowane (pamiętaj, że temperatura nie jest rzeczywistym termostatem z liczbą docelową, jak w przypadku innych urządzeń), ale typ obciążenia (delikatne, normalne, wełna itp.) może już nie być.

Ta cecha obejmuje 1 lub więcej indywidualnych trybów, które użytkownicy mogą ustawić. Ogólnie tryby te powinny być używane w przypadku funkcji, które są odłączone od działania innych urządzeń. Powiązane działania, takie jak włączanie lub wyłączanie urządzenia, powinny wykorzystywać bardziej szczegółowe cechy (na przykład thermostatMode w cechu TemperatureSetting).

Urządzenie ATTRIBUTES

Urządzenia z tą cechą mogą zgłaszać poniższe atrybuty w ramach operacji SYNC. Więcej informacji o obsłudze intencji SYNC znajdziesz w artykule o realizacji intencji.

Atrybuty Typ Opis
availableModes Tablica

Wymagane.

Lista dostępnych trybów.

[item, ...] Obiekt

Tryb dostępności.

name String

Wymagane.

Wewnętrzna nazwa trybu, która będzie używana w poleceniach i stanach. Tekst ten może nie być przyjazny dla użytkownika i będzie udostępniany we wszystkich językach.

name_values Tablica

Wymagane.

Synonimy trybu w poszczególnych obsługiwanych językach.

[item, ...] Obiekt

Synonimy trybu w danym języku.

name_synonym Tablica

Wymagane.

Synonimy trybu. Pierwszy ciąg znaków na liście jest używany jako nazwa kanoniczna poziomu w danym języku.

[item, ...] String

Nazwa synonimu.

lang String

Wymagane.

Kod języka (ISO 639-1). Zobacz obsługiwane języki.

settings Tablica

Wymagane.

Ustawienia obsługiwane w tym trybie.

[item, ...] Obiekt

Obsługiwane ustawienie.

Wymaga co najmniej 2 elementów.

setting_name String

Wymagane.

Wewnętrzna nazwa ustawienia trybu, która będzie używana w poleceniach i stanach. Tekst ten może nie być przyjazny dla użytkownika i będzie udostępniany we wszystkich językach.

setting_values Tablica

Wymagane.

Synonimy ustawienia w każdym obsługiwanym języku.

[item, ...] Obiekt

Synonimy ustawienia w danym języku.

setting_synonym Tablica

Wymagane.

Synonimy ustawienia. Pierwszy ciąg znaków na liście jest używany jako nazwa kanoniczna poziomu w danym języku.

[item, ...] String

Nazwa synonimu.

lang String

Wymagane.

Kod języka (ISO 639-1). Zobacz obsługiwane języki.

ordered Wartość logiczna

(Domyślnie: false)

Jeśli zasada ma wartość Prawda, dodatkowa gramatyka dla logiki zwiększania/zmniejszania jest stosowana w kolejności (rosnącej) w tablicy ustawień.

commandOnlyModes Wartość logiczna

(Domyślnie: false)

Określa, czy urządzenie obsługuje komunikację jednokierunkową (prawda) czy dwukierunkową (fałsz). Ustaw ten atrybut na wartość true, jeśli urządzenie nie może odpowiedzieć na intencję QUERY lub stan raportu w przypadku tej cechy.

queryOnlyModes Wartość logiczna

(Domyślnie: false)

Wymagane, jeśli urządzenie obsługuje tylko wykonywanie zapytań. Ten atrybut wskazuje, czy urządzenie może być wywoływane tylko przez informacje o stanie i nie może nim sterować.

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 obsługujące tryby tylko polecenia.

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

Urządzenie STATES

Encje z tą cechą mogą zgłaszać poniższe stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule o realizacji intencji.

Stany Typ Opis
currentModeSettings Obiekt

Wymagane.

Para klucz/wartość z trybem name urządzenia jako kluczem, a bieżącą wartością setting_name jako wartością.

<string> String

Obecnie setting_name.

Przykłady

W jakim trybie jest włączone urządzenie?

{
  "currentModeSettings": {
    "load_mode": "small_load",
    "temp_mode": "cold_temp"
  }
}

CommandS na urządzeniu

Urządzenia z tą cechą mogą reagować na podane niżej polecenia w ramach operacji EXECUTE. Więcej informacji o obsłudze intencji EXECUTE znajdziesz w artykule o realizacji intencji.

action.devices.commands.SetModes

Zaktualizuj ustawienia trybu.

Parametry

Parametry Typ Opis
updateModeSettings Obiekt

Wymagane.

Para klucz/wartość z trybem name urządzenia jako kluczem, a nową wartością setting_name jako wartością.

<string> String

Nowy setting_name.

Przykłady

Ustaw duże obciążenie.

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

Urządzenie ERRORS

Zobacz pełną listę błędów i wyjątków.