Схема заполнения умного дома

action.devices.traits.Fill — эта черта применяется к устройствам, поддерживающим наполнение, например к ванне.

АТРИБУТЫ устройства

Устройства с этой чертой могут сообщать о следующих атрибутах как часть операции SYNC . Дополнительные сведения об обработке намерений SYNC см. в разделе Выполнение намерений .

Атрибуты Тип Описание
availableFillLevels Объект

Описаны различные уровни заполнения устройства.

levels Множество

Необходимый.

Список имен уровней и синонимов для конкретных языков.

[ item, ... ] Объект

Имя уровня и его языковые синонимы.

level_name Нить

Необходимый.

Внутреннее имя уровня. Это может быть неудобным для пользователя и будет общим для всех языков.

level_values Множество

Необходимый.

Синонимы уровня на каждом поддерживаемом языке.

[ item, ... ] Объект

Синонимы уровня в данном языке.

level_synonym Множество

Необходимый.

Синоним уровня. Первая строка в этом списке используется как каноническое имя уровня на этом языке.

[ item, ... ] Нить

Синоним имени.

lang Нить

Необходимый.

Код языка (ISO 639-1). См. поддерживаемые языки .

ordered логический

Необходимый.

Если значение равно true, устройство обрабатывает дополнительную грамматику для логики увеличения или уменьшения, представленную массивом levels (например, половинный уровень).

supportsFillPercent логический

(По умолчанию: false )

Если true, примите команды для настройки уровня в процентах.

Примеры

Устройство с базовыми возможностями наполнения или слива, не поддерживающее дискретные уровни наполнения.

{}

Устройство, поддерживающее дискретные уровни заполнения.

{
  "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
  }
}

СОСТОЯНИЯ устройства

Сущности с этим признаком могут сообщать о следующих состояниях как часть операции QUERY . Дополнительные сведения об обработке намерений QUERY см. в разделе Выполнение намерений .

состояния Тип Описание
isFilled логический

Необходимый.

Истинно, если устройство заполнено до любого уровня. False, если устройство полностью разряжено.

currentFillLevel Нить

Требуется, если установлен атрибут availableFillLevels . Указывает текущее level_name из атрибута availableFillLevels , при котором заполняется устройство.

currentFillPercent Число

Требуется, если установлен атрибут supportsFillPercent . Указывает процент текущего уровня заполнения.

Примеры

Ванна наполнена?

{
  "isFilled": true
}

Ванна наполнена? (с уровнями).

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

КОМАНДЫ устройства

Устройства с этой чертой могут отвечать на следующие команды как часть операции EXECUTE . Дополнительные сведения об обработке намерений EXECUTE см. в разделе Выполнение намерений .

action.devices.commands.Fill

Заполните или опорожните устройство.

Параметры

Параметры Тип Описание
fill логический

Необходимый.

True для заполнения, false для слива.

fillLevel Нить

Указывает level_name из атрибута availableFillLevels для установки. Если не указано, заполните до уровня по умолчанию.

fillPercent Число

Указывает запрошенный уровень в процентах.

Примеры

Наполните ванну.

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

Слейте ванну.

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

Наполните ванну наполовину.

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

Увеличьте уровень заполнения ванны на единицу (требуется, чтобы атрибут ordered имел значение true ).

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

ОШИБКИ устройства

См. полный список ошибок и исключений .