Schemat atrybutu Tryby inteligentnego domu

action.devices.traits.Modes – ta cecha obejmuje wszystkie dostępne tryby i ustawienia dotyczące trybów na urządzeniu.

Ta cecha należy do dowolnych urządzeń z dowolną liczbą „n-kierunkowych” trybów, w których tryby i ustawienia dla każdego trybu są dowolne i unikalne dla każdego urządzenia lub typu urządzenia. Każdy tryb ma wiele możliwych ustawień, ale można wybrać tylko jedno naraz. Suszarka nie może być jednocześnie w trybie „delikatnym”, „normalnym” i „intensywnym”. Ustawienie, które można włączyć lub wyłączyć, należy do atrybutu Toggles.

Na przykład pralka może mieć ustawienia dotyczące rozmiaru i temperatury prania. Oba te tryby 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 również dostosować za pomocą sformułowań w dół/w górę lub zwiększyć/zmniejszyć. 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 wartością liczbową, jak w przypadku innych urządzeń), ale typ ładunku (delikatny, normalny, wełna itp.) może nie być uporządkowany.

Ta cecha obejmuje co najmniej 1 indywidualny tryb, który użytkownicy mogą ustawić. Zasadniczo te tryby należy stosować w przypadku funkcji, które nie są powiązane z innymi funkcjami urządzenia. Powiązane zachowania, takie jak włączanie i wyłączanie urządzenia, powinny używać bardziej szczegółowych atrybutów (np. thermostatMode w atrybucie TemperatureSetting).

ATRYBUTY URZĄDZENIA

Urządzenia z tą cechą mogą zgłaszać te atrybuty w ramach operacji SYNC. Więcej informacji o obsługiwaniu intencji SYNC znajdziesz w artykule Realizacja intencji.

Atrybuty Typ Opis
availableModes Tablica

Wymagany.

Lista dostępnych trybów.

[item, ...] Obiekt

Dostępny tryb.

name String

Wymagany.

Wewnętrzna nazwa trybu, która będzie używana w przypadku poleceń i stanów. Może to być niewygodne dla użytkowników, a ta funkcja będzie dostępna 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.

name_synonym Tablica

Wymagany.

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

[item, ...] String

Nazwa synonimu.

lang String

Wymagany.

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

settings Tablica

Wymagany.

Obsługiwane ustawienia tego trybu.

[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 przypadku poleceń i stanów. Może to być niewygodne dla użytkowników, a ta funkcja będzie dostępna 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 na liście jest używany jako kanoniczna nazwa 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

(wartość domyślna: false)

Jeśli to ustawienie ma wartość Prawda, zostanie zastosowana dodatkowa gramatyka dla zwiększania i zmniejszania w kolejności (rosnącej) tablicy ustawień.

commandOnlyModes Wartość logiczna

(wartość domyślna: false)

Wskazuje, czy urządzenie obsługuje komunikację w jednym kierunku (prawda) czy w obu kierunkach (fałsz). Ustaw ten atrybut na „PRAWDA”, jeśli urządzenie nie może odpowiadać na intencję QUERY lub raportować stanu dla tej cechy.

queryOnlyModes Wartość logiczna

(wartość domyślna: false)

Wymagane, jeśli urządzenie obsługuje wykonywanie tylko zapytań. Ten atrybut wskazuje, czy urządzenie może być tylko zapytane o informacje o stanie, czy też nie może być kontrolowane.

Przykłady

Urządzenie z kilkoma 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
}

STANOWISKO URZĄDZENIA

Elementy z tą cechą mogą raportować te stany w ramach operacji QUERY. Więcej informacji o obsługiwaniu intencji QUERY znajdziesz w artykule Realizacja intencji.

Stany Typ Opis
currentModeSettings Obiekt

Wymagany.

Para klucz-wartość z kluczem name trybu urządzenia i obecną wartością setting_name.

<string> String

Obecnie setting_name.

Przykłady

W jakim trybie jest urządzenie?

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

Polecenia urządzenia

Urządzenia z tą cechą mogą odpowiadać na te polecenia w ramach operacji EXECUTE. Więcej informacji o obsługiwaniu intencji EXECUTE znajdziesz w artykule Realizacja intencji.

action.devices.commands.SetModes

Zmień ustawienia trybu.

Parametry

Parametry Typ Opis
updateModeSettings Obiekt

Wymagany.

Para klucz-wartość z kluczem name urządzenia i wartością setting_name.

<string> String

Nowy setting_name.

Przykłady

Ustaw na duży ł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.