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

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 , см. Intent performment .

Штаты Тип Описание
isFilled Булев

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

True, если устройство заполнено до любого уровня. 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"
  }
}

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

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