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