Какие дополнительные функции может добавить Home Assistant простому увлажнителю воздуха?
- Оповещение, когда в увлажнителе закончилась вода (например, через Telegram).
- Гигростат, который будет автоматически влючать и выключать увлажнитель в зависимости от желаемого уровня влажности.
- Автовыключение, когда дома никого нет.
Принцип работы
С удаленным включением и выключением увлажнителя все просто — достаточно подключить его через любую умную розетку, которая работает с Home Assistant. При наличии датчика влажности это позволит настроить включение и выключение увлажнителя в зависимости от нужного уровня влажности в помещении.
С отслеживанием уровня воды на самом деле тоже все просто. Большинство увлажнителей сами выключаются, когда в баке закончилась вода, а значит потребляемый ток существенно падает. Отследить момент выключения можно с помощью розетки, которая умеет замерять энергопотребление.
Какие увлажнители и розетки подойдут
Сами увлажнители бывают очень разные и эта статья актуальна не для всех типов увлажнителей. Условно я поделю увлажнители на 3 группы:
- Увлажнители со встроенным Wi-Fi, которые и так умные. Например какой-нибудь Xiaomi Smartmi Zhimi Air Humidifier 2. Здесь в общем все и так понятно — достаточно найти нужную модель в разделе с интеграциями на сайте Home Assistant и эта статья не нужна.
- Как бы «умные» увлажнители — со встроенным гигрометром, которые самостоятельно могут поддерживать заданный уровень влажности, но без нативной возможности подключения к централизованному умному дому. Так как гигростат в таких увлажнителях уже и так встроен, то помимо него дополнительно можно «прикрутить» оповещение о низком уровне воды.
- Простые увлажнители с одним выключателем, в которых нет ничего кроме возможности выбрать интенсивность испарения. Для таких увлажнителей можно настроить и гигростат и оповещение о низком уровне воды.
У меня дома простой увлажнитель от Philips:
С розетками все немного сложнее. Я использую Tp-Link HS110 с мониторингом энергопотребления. Розетка куплена давно и поэтому на ней стоит старая прошивка, но если ее обновить, то отвалится возможность управления по локальной сети 😅 На сколько я знаю с Wi-Fi розетками от Xiaomi такая же беда.
Поэтому если вы выбираете розетку к покупке, то учитывайте такую потенциальную подставу. Более безопасный вариант, как мне кажется, купить Zigbee-розетку из списка поддерживаемых, но это если у вас есть Zigbee-донгл и настроен Zigbee2MQTT.
Если все таки хочется рискнуть с Wi-Fi розеткой от Tp-Link, то предварительно изучите документацию на сайте Home Assistant.
Оповещение о пустом баке
Для начала нужно отследить момент выключения увлажнителя, когда вода в баке закончилась. Для этого потребуется добавить сенсор, который будет отображать текущее состояние увлажнителя:
template:
- sensor:
- name: Humidifier
state: >-
{% if is_state('switch.humidifier', 'on') and
states('sensor.humidifier_current_consumption') | float < 0.1 %}
empty
{% else %}
{{ states('switch.humidifier') }}
{% endif %}
icon: mdi:air-humidifier
availability: "{{ states('sensor.humidifier_current_consumption') not in ['unknown', 'unavailable'] }}"
В шаблоне проверяется значение sensor.humidifier_current_consumption
, которое показывает потребление энергии в ваттах. Если увлажнитель потребляет меньше 0.1 Вт, то значит вода закончилась и испарение выключилось (сенсор показывает empty
).
Во всех остальных случаях сенсор просто показывает состояние розетки switch.humidifier
, то есть on
или off
.
После перезапуска Home Assistant в Developer Tools появится новый сенсор sensor.humidifier
:
Но потребление энергии в состоянии простоя может быть и выше 0.1 ватта — все в зависимости от увлажнителя. Для определения правильной цифры нужно посмотреть историю потребления энергии в активном состоянии и состоянии простоя:
Состояние увлажнителя известно, остается только добавить сами оповещения. Пример конфига для Telegram:
alert:
humidifier_tank_empty:
name: Humidifier water tank is empty
entity_id: sensor.humidifier
state: 'empty'
repeat:
- 2
- 30
skip_first: true
notifiers: ['telegram_roland']
notify:
- name: telegram_roland
platform: telegram
chat_id: 1234567890
В итоге, когда вода в баке закончится и sensor.humidifier
перейдет в состояние empty
, то мы получим уведомление в Telegram спустя 2 минуты и затем напоминания будут приходить каждые 30 минут.
Подробнее про интеграцию Telegram и настройку Alert можно почитать в официальной документации. Ну или можно спросить в комментариях 🙂
Настройка гигростата
Для этого понадобится датчик влажности. Я использую вот такой:
Так же нужна любая умная розетка — необязательно с возможностью измерения энергопотребления, главное чтобы была возможность удаленно включать/выключать увлажнитель в зависимости от желаемого уровня влажности.
Конфиг гигростата выглядит следующим образом:
generic_hygrostat:
- name: Humidifier
humidifier: switch.humidifier
target_sensor: sensor.main_room_air_humidity
Здесь switch.humidifier
это умная розетка и sensor.main_room_air_humidity
это датчик влажности. Подробнее про остальные параметры можно почитать в документации.
После перезапуска Home Assistant должна появиться новая сущность в Developer Tools:
Осталось только добавить непосредственно сам гигростат (карточку) в панель управления:
Управление простое — достаточно выставить желаемый уровень влажности и проверить, что гигростат включен.
Выключение увлажнителя с помощью автоматизации выглядит вот так:
automation:
- id: routine_away_mode
alias: "Turn off everything when leaving home"
trigger:
platform: state
entity_id: person.roland
from: 'home'
action:
service: humidifier.turn_off
entity_id: humidifier.humidifier
Другие идеи
Похожая логика применима и к другим электроприборам. Например, если подключить стиральную машинку через розетку с мониторингом энергопотребления, то можно отследить момент окончания стирки и прислать уведомление. Может быть, в будущем напишу отдельную статью по этой теме.