Schemat atrybutu wypełniania inteligentnego domu

action.devices.traits.Fill – ta cecha dotyczy urządzeń, które można wypełniać, takich jak wanna.

ATRYBUTY URZĄDZENIA

Urządzenia z tą cechą mogą raportować te atrybuty w ramach operacji SYNC. Więcej informacji o obsługiwaniu intencji SYNC 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 skojarzeń w różnych językach.

[item, ...] Obiekt

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

level_name String

Wymagany.

Wewnętrzna nazwa poziomu. Może to być niewygodne dla użytkowników, a ta funkcja będzie udostępniana 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.

level_synonym Tablica

Wymagany.

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

Wymagany.

Jeśli wartość to prawda, urządzenie obsługuje dodatkową gramatykę dla zwiększania lub zmniejszania, reprezentowaną przez tablicę levels (np. pół poziomu).

supportsFillPercent Wartość logiczna

(wartość domyślna: false)

Jeśli wartość to prawda, akceptuj polecenia dotyczące dostosowania poziomu do wartości procentowej.

Przykłady

Urządzenie z podstawowymi możliwościami napełniania lub opróżniania, które nie obsługuje oddzielnych poziomów napełniania.

{}

Urządzenie obsługujące oddzielne poziomy wypeł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
  }
}

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

Wymagany.

Prawda, jeśli urządzenie jest wypełnione na dowolnym poziomie. Wartość false, jeśli bateria jest całkowicie rozładowana.

currentFillLevel String

Wymagane, jeśli atrybut availableFillLevels jest ustawiony. Wskazuje bieżącą wartość atrybutu level_name (availableFillLevels), która jest przypisana do urządzenia.

currentFillPercent Number

Wymagane, jeśli atrybut supportsFillPercent jest ustawiony. Wskazuje bieżący procentowy poziom wypełnienia.

Przykłady

Czy wanna jest napełniona?

{
  "isFilled": true
}

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

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

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

naładować lub rozładować urządzenie;

Parametry

Parametry Typ Opis
fill Wartość logiczna

Wymagany.

Prawda oznacza napełnianie, fałsz – opróżnianie.

fillLevel String

Wskazuje wartość level_name z atrybutu availableFillLevels, którą należy ustawić. Jeśli nie podasz poziomu, zostanie użyty poziom domyślny.

fillPercent Number

Wskazuje procentowy poziom żądanego 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 jeden (wymagaj atrybutu ordered o wartości 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.