Устройство, сущность, область
Три понятия, без которых интерфейс Home Assistant выглядит хаотично, а с ними — вполне логично: устройство, сущность и область. Путаница между первыми двумя — самая частая причина вопроса «почему у меня в списке двадцать строк, а розеток всего пять».
Устройство — это физический объект, сущность — то, чем можно управлять
Устройство — конкретная вещь: розетка на столе, датчик на двери, реле в
щитке. Сущность — это то, из чего Home Assistant реально складывает
интерфейс и логику автоматизаций: один переключатель, один датчик
температуры, одна кнопка сценария. Программа не умеет «включить розетку»
как единое действие — она включает конкретную сущность switch.rozetka_kuhnya,
которая просто физически живёт внутри устройства «Розетка кухня».
Почему одно устройство даёт несколько сущностей
Умная розетка с измерением энергопотребления — типичный пример: одно устройство отдаёт как минимум три сущности — переключатель (включена или выключена нагрузка), датчик текущей мощности в ваттах и датчик накопленной энергии в киловатт-часах. У Zigbee-датчика движения может быть отдельная сущность для самого движения, отдельная для освещённости, если в него встроен люксметр, и отдельная для заряда батареи. Это не избыточность интерфейса — просто каждая измеримая или переключаемая величина требует своей сущности, потому что состояние и история хранятся отдельно для каждой.
Состояние и атрибуты
У каждой сущности есть одно основное состояние — строка вроде on, off,
23.5, home — и произвольный набор атрибутов при нём: дополнительные
данные, которые не являются главным значением, но полезны. У сущности
освещения состояние — on или off, а яркость и цветовая температура
лежат в атрибутах. У сущности климат-контроля состояние — обычно текущий
режим работы (heat, cool, off), а целевая и измеренная температура —
атрибуты при этом состоянии. Автоматизации чаще всего реагируют на смену
состояния, а атрибуты используют как дополнительное условие или значение
для подстановки в действие.
Область
Область группирует устройства и сущности по помещению или зоне — «кухня», «коридор», «улица». Это позволяет писать не «включить свет.кухня_1, свет.кухня_2, свет.кухня_потолок», а обращаться сразу к области целиком, и так же работают панели интерфейса: один блок «Кухня» показывает все относящиеся к ней сущности, даже если физически они от разных производителей и разных протоколов.
Где это видно в интерфейсе
В разделе «Устройства и службы» → «Устройства» — список физических объектов; открыв конкретное устройство, вы увидите список его сущностей и можно назначить ему область. В «Инструментах разработчика» → «Состояния» — плоская таблица всех сущностей системы: идентификатор, текущее состояние, атрибуты в исходном виде. Это самое быстрое место, чтобы проверить, как именно называется нужная сущность и что она сейчас показывает, прежде чем ссылаться на неё в автоматизации.