Общие сведения
После долгих дискуссий было решено, что способности
это максимально подходящее по смыслу слово русского языка, которое может заменить слово exposes
в контексте описания сервисов HOMEd и других систем умного дома.
Cпособности устройств это абстрактные сущности, на которых основана работа функции Home Assistant MQTT Discovery, работа сервиса HOMEd Cloud, а так же работа веб-интерфейса. Например, способность "temperature"
указывает на наличие датчика темературы, а "light"
описывает осветительный прибор.
Типовые способности
Типовые способности устройств делятся на 6 основных категорий:
- Бинарный сенсорор (binary)
- Сенсор (sensor)
- Переключатель (toggle)
- Диапазон (number)
- Селектор (select)
- Триггер (button)
Категоря способности, как и прочие параметры, настраивается при помощи опций.
Бинарный сенсор
Данная способность описывает сенсоры, имеющие всего два состояния (активен/не активен), например, датчик протечки воды или датчик движения. Данная способность не предполагает возможности установки значения.
Пример описания:
{
"type": "binary"
}
Сенсор
Данная способность описывает любые сенсоры, такие, как датчик температуры или силы тока. Данная способность не предполагает возможности установки значения.
Обязательные опции:
"type"
- категория способности, всегда "sensor"
Дополнительные опции:
"unit"
- единица измерения, например "°C"
, "%"
или "kWh"
Переключатель
Данная способность описывает органы управления или настройки устройства, имеющие два состояния (включено/выключено). Данная способность предполагает возможность установки значения.
Обязательные опции:
"type"
- категория способности, всегда "toggle"
Диапазон
Данная способность описывает органы управления или настройки устройства, имеющие числовой дипазон значений. Данная способность предполагает возможность установки значения.
Обязательные опции:
"type"
- категория способности, всегда "number"
"min"
- минимальное возможное значение
"max"
- максимальное возможное значение
Дополнительные опции:
"unit"
- единица измерения, например "°C"
или "%"
"step"
- минимальный шаг изменения значения, например 0.1
Селектор
Триггер
Общие опции
Специальные способности
Описание добавлю позже.