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ą lang równą en.

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 równą en.

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: false)

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: false)

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: false)

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 name urządzenia, a wartością – bieżący setting_name.

<string> String

Obecnie setting_name.

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 name urządzenia, a wartością jest nowy tryb setting_name.

<string> String

Nowy setting_name

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

BŁĘDY urządzenia

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