Схема заполнения характеристик умного дома

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

АТРИБУТЫ УСТРОЙСТВА

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

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

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

levels Множество

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

Список названий уровней и синонимов, специфичных для каждого языка.

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

Название уровня и его синонимы на соответствующем языке.

level_name Нить

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

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

level_values Множество

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

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

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

Синонимы уровня в данном языке. Для обеспечения возможности выбора языка требуется как минимум один элемент со значением lang , равным en .

level_synonym Множество

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

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

[ item, ... ] Нить

Название синонима. Для обеспечения возможности выбора языка требуется как минимум один элемент со значением lang , равным en .

lang Нить

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

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

ordered Логический

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

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

supportsFillPercent Логический

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

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

Примеры

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

{}

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

{
  "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 Логический

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

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

currentFillLevel Нить

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

currentFillPercent Число

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

Значение должно быть в диапазоне от 0 до 100 .

Примеры

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

{
  "isFilled": true
}

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

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

КОМАНДЫ УСТРОЙСТВА

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

action.devices.commands.Fill

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

Параметры

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

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

Правильно — заполнить, неправильно — слить.

fillLevel Нить

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

fillPercent Число

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

Значение должно быть в диапазоне от 0 до 100 .

Примеры

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

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

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

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