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

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

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

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

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

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

levels Множество

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

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

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

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

level_name Нить

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

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

level_values Множество

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

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

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

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

level_synonym Множество

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

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

[ item, ... ] Нить

Название-синоним.

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 логическое значение

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

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

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

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

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