Schemat atrybutu wypełnienia inteligentnego domu

action.devices.traits.Fill – ta cecha dotyczy urządzeń, które można napełniać, np. wanny.

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
availableFillLevels Obiekt

Opisuje różne poziomy napełnienia urządzenia.

levels Tablica

Wymagany.

Lista nazw poziomów i synonimów w poszczególnych językach.

[item, ...] Obiekt

nazwę poziomu i jej synonimy w różnych językach;

level_name String

Wymagany.

Wewnętrzna nazwa poziomu. Może to być nieprzyjazne dla użytkownika i będzie udostępniane we wszystkich językach.

level_values Tablica

Wymagany.

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

[item, ...] Obiekt

Synonimy poziomu 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.

level_synonym Tablica

Wymagany.

Synonim poziomu. 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.

ordered Wartość logiczna

Wymagany.

Jeśli wartość to „true”, urządzenie obsługuje dodatkową gramatykę dla logiki zwiększania lub zmniejszania, co jest reprezentowane przez tablicę levels (np. pół poziomu).

supportsFillPercent Wartość logiczna

(Domyślnie: false)

Jeśli wartość to prawda, akceptuj polecenia dostosowywania poziomu do wartości procentowej.

Przykłady

Urządzenie z podstawowymi funkcjami napełniania i opróżniania, które nie obsługuje dyskretnych poziomów napełnienia.

{}

Urządzenie, które obsługuje dyskretne poziomy napełnienia.

{
  "availableFillLevels": {
    "levels": [
      {
        "level_name": "half_level",
        "level_values": [
          {
            "level_synonym": [
              "Half",
              "Half way",
              "One half"
            ],
            "lang": "en"
          }
        ]
      },
      {
        "level_name": "full_level",
        "level_values": [
          {
            "level_synonym": [
              "Full",
              "All the way",
              "Complete"
            ],
            "lang": "en"
          }
        ]
      }
    ],
    "ordered": true
  }
}

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
isFilled Wartość logiczna

Wymagany.

Prawda, jeśli urządzenie jest wypełnione na dowolnym poziomie. Fałsz, jeśli urządzenie jest całkowicie rozładowane.

currentFillLevel String

Wymagany, jeśli ustawiony jest atrybut availableFillLevels. Wskazuje bieżącą level_name z atrybutu availableFillLevels, na której urządzenie jest wypełnione.

currentFillPercent Number

Wymagany, jeśli ustawiony jest atrybut supportsFillPercent. Wskazuje bieżący procent wypełnienia.

Przykłady

Czy wanna jest napełniona?

{
  "isFilled": true
}

Czy wanna jest napełniona? (z poziomami).

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

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.Fill

napełniać lub opróżniać urządzenie;

Parametry

Parametry Typ Opis
fill Wartość logiczna

Wymagany.

Wartość „true” oznacza napełnianie, a „false” – opróżnianie.

fillLevel String

Wskazuje level_name z atrybutu availableFillLevels do ustawienia. Jeśli nie podasz tu żadnej wartości, zostanie użyty domyślny poziom wypełnienia.

fillPercent Number

Wskazuje żądany procent poziomu.

Przykłady

Napełnij wannę.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true
  }
}

Opróżnij wannę.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": false
  }
}

Napełnij wannę do połowy.

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "half_level"
  }
}

Zwiększ poziom napełnienia wanny o 1 (wymaga, aby atrybut ordered miał wartość true).

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "full_level"
  }
}

BŁĘDY urządzenia

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