Схема заполнения характеристик умного дома
action.devices.traits.Fill
— эта черта применяется к устройствам, поддерживающим наполнение, например к ваннам.
АТРИБУТЫ УСТРОЙСТВА
Устройства с этой характеристикой могут сообщать следующие атрибуты в рамках операции SYNC
. Подробнее об обработке намерений SYNC
см. в разделе «Выполнение намерений» .
Атрибуты | Тип | Описание |
---|---|---|
availableFillLevels | Объект | Описывает различные уровни наполнения устройства. |
levels | Множество | Необходимый. Список названий уровней и синонимов, специфичных для конкретного языка. |
[ item, ... ] | Объект | Название уровня и его синонимы, специфичные для конкретного языка. |
level_name | Нить | Необходимый. Внутреннее название уровня. Оно может быть неудобным для пользователя и будет использоваться на всех языках. |
level_values | Множество | Необходимый. Синонимы уровня на каждом поддерживаемом языке. |
[ item, ... ] | Объект | Синонимы уровня на заданном языке. Для обеспечения резервного языка требуется хотя бы один элемент со значением |
level_synonym | Множество | Необходимый. Синоним уровня. Первая строка в этом списке используется как каноническое название уровня на данном языке. |
[ item, ... ] | Нить | Имя-синоним. Для обеспечения резервного языка требуется хотя бы один элемент со |
lang | Нить | Необходимый. Код языка (ISO 639-1). См. поддерживаемые языки . |
ordered | Булевое значение | Необходимый. Если значение true, устройство обрабатывает дополнительную грамматику для логики увеличения или уменьшения, представленной массивом |
supportsFillPercent | Булевое значение | (По умолчанию: Если 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 | Булевое значение | Необходимый. True, если устройство заполнено до любого уровня. False, если устройство полностью опустошено. |
currentFillLevel | Нить | Обязательно, если задан атрибут |
currentFillPercent | Число | Обязательно, если задан атрибут |
Примеры
Ванна наполнена?
{ "isFilled": true }
Наполнена ли ванна? (с уровнями).
{ "isFilled": true, "currentFillLevel": "half_level" }
КОМАНДЫ устройства
Устройства с этой функцией могут реагировать на следующие команды в рамках операции EXECUTE
. Подробнее об обработке намерений EXECUTE
см. в разделе «Выполнение намерений» .
action.devices.commands.Fill
Заполните или слейте воду из устройства.
Параметры
Параметры | Тип | Описание |
---|---|---|
fill | Булевое значение | Необходимый. True для заполнения, false для слива. |
fillLevel | Нить | Указывает |
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" } }