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ą  | 
| 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 | 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ę  | 
| supportsFillPercent | Wartość logiczna | (Domyślnie:  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  | 
| currentFillPercent | Number | Wymagany, jeśli ustawiony jest atrybut  | 
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  | 
| 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"
  }
}