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 intencji SYNC znajdziesz w artykule Realizacja intencji.

Atrybuty Typ Opis
availableFillLevels Obiekt

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

levels Tablica

Wymagane.

Lista nazw poziomów i synonimów w różnych językach.

[item, ...] Obiekt

Nazwa poziomu i jej synonimy w różnych językach.

level_name String

Wymagane.

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

level_values Tablica

Wymagane.

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 atrybutu en.

level_synonym Tablica

Wymagane.

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 atrybutu en.

lang String

Wymagane.

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

ordered Wartość logiczna

Wymagane.

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

supportsFillPercent Wartość logiczna

(Domyślnie: false)

Jeśli ma wartość true (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 obsługujące 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

Podmioty z tą cechą mogą zgłaszać te stany w ramach operacji QUERY. Więcej informacji o obsłudze intencji QUERY znajdziesz w artykule Realizacja intencji.

Stany Typ Opis
isFilled Wartość logiczna

Wymagane.

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ą wartość atrybutu level_name z atrybutu availableFillLevels, przy której urządzenie jest wypełnione.

currentFillPercent Number

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

Wartość musi znajdować się w zakresie od 0 do 100.

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 intencji EXECUTE znajdziesz w artykule Realizacja intencji.

action.devices.commands.Fill

Napełnij lub opróżnij urządzenie.

Parametry

Parametry Typ Opis
fill Wartość logiczna

Wymagane.

Wartość „prawda” oznacza napełnianie, a „fałsz” – opróżnianie.

fillLevel String

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

fillPercent Number

Wskazuje żądany procent poziomu.

Wartość musi znajdować się w zakresie od 0 do 100.

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.