Делаем увлажнитель воздуха умным

Делаем увлажнитель воздуха умным
AJ Jean / Unsplash

Какие дополнительные функции может добавить Home Assistant простому увлажнителю воздуха?

  1. Оповещение, когда в увлажнителе закончилась вода (например, через Telegram).
  2. Гигростат, который будет автоматически влючать и выключать увлажнитель в зависимости от желаемого уровня влажности.
  3. Автовыключение, когда дома никого нет.

Принцип работы

С удаленным включением и выключением увлажнителя все просто — достаточно подключить его через любую умную розетку, которая работает с Home Assistant. При наличии датчика влажности это позволит настроить включение и выключение увлажнителя в зависимости от нужного уровня влажности в помещении.

С отслеживанием уровня воды на самом деле тоже все просто. Большинство увлажнителей сами выключаются, когда в баке закончилась вода, а значит потребляемый ток существенно падает. Отследить момент выключения можно с помощью розетки, которая умеет замерять энергопотребление.

Какие увлажнители и розетки подойдут

Сами увлажнители бывают очень разные и эта статья актуальна не для всех типов увлажнителей. Условно я поделю увлажнители на 3 группы:

  1. Увлажнители со встроенным Wi-Fi, которые и так умные. Например какой-нибудь Xiaomi Smartmi Zhimi Air Humidifier 2. Здесь в общем все и так понятно — достаточно найти нужную модель в разделе с интеграциями на сайте Home Assistant и эта статья не нужна.
  2. Как бы «умные» увлажнители — со встроенным гигрометром, которые самостоятельно могут поддерживать заданный уровень влажности, но без нативной возможности подключения к централизованному умному дому. Так как гигростат в таких увлажнителях уже и так встроен, то помимо него дополнительно можно «прикрутить» оповещение о низком уровне воды.
  3. Простые увлажнители с одним выключателем, в которых нет ничего кроме возможности выбрать интенсивность испарения. Для таких увлажнителей можно настроить и гигростат и оповещение о низком уровне воды.

У меня дома простой увлажнитель от Philips:

Увлажнитель Philips HU4707/13
Увлажнитель Philips HU4707/13.

С розетками все немного сложнее. Я использую Tp-Link HS110 с мониторингом энергопотребления. Розетка куплена давно и поэтому на ней стоит старая прошивка, но если ее обновить, то отвалится возможность управления по локальной сети 😅 На сколько я знаю с Wi-Fi розетками от Xiaomi такая же беда.

Поэтому если вы выбираете розетку к покупке, то учитывайте такую потенциальную подставу. Более безопасный вариант, как мне кажется, купить Zigbee-розетку из списка поддерживаемых, но это если у вас есть Zigbee-донгл и настроен Zigbee2MQTT.

Что такое Zigbee? С чего начать умный дом?
Обзор протокола #Zigbee. Какие устройства купить для умного дома.Устройства, поддерживаемые в Zigbee2MQTT: bit.ly/3MMaHEtZigbee адаптер от SONOFF: bit.ly/3G1…

Если все таки хочется рискнуть с Wi-Fi розеткой от Tp-Link, то предварительно изучите документацию на сайте Home Assistant.

Wi-Fi розетка Tp-Link HS110
Wi-Fi розетка Tp-Link HS110.

Оповещение о пустом баке

Для начала нужно отследить момент выключения увлажнителя, когда вода в баке закончилась. Для этого потребуется добавить сенсор, который будет отображать текущее состояние увлажнителя:

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:

История циклов работы увлажнителя воздуха в Home Assistant

Но потребление энергии в состоянии простоя может быть и выше 0.1 ватта — все в зависимости от увлажнителя. Для определения правильной цифры нужно посмотреть историю потребления энергии в активном состоянии и состоянии простоя:

График потребления электроэнергии в Home Assistant

Состояние увлажнителя известно, остается только добавить сами оповещения. Пример конфига для 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 можно почитать в официальной документации. Ну или можно спросить в комментариях 🙂

Настройка гигростата

Для этого понадобится датчик влажности. Я использую вот такой:

Климатический датчик LifeControl MCLH-08
Климатический датчик LifeControl MCLH-08.

Так же нужна любая умная розетка — необязательно с возможностью измерения энергопотребления, главное чтобы была возможность удаленно включать/выключать увлажнитель в зависимости от желаемого уровня влажности.

Home Assistant и немного физики: измеряем эффективность увлажнителя
Расчет влажности в помещении на основе уличной температуры и влажности, а также оценка эффективности увлажнителя по графику в Home Assistant.

Конфиг гигростата выглядит следующим образом:

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:

humidifier в Home Assistant

Осталось только добавить непосредственно сам гигростат (карточку) в панель управления:

0:00
/0:17

Управление простое — достаточно выставить желаемый уровень влажности и проверить, что гигростат включен.

Выключение увлажнителя с помощью автоматизации выглядит вот так:

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

Другие идеи

Похожая логика применима и к другим электроприборам. Например, если подключить стиральную машинку через розетку с мониторингом энергопотребления, то можно отследить момент окончания стирки и прислать уведомление. Может быть, в будущем напишу отдельную статью по этой теме.

man smart-home
Telegram про умный дом: идеи, девайсы, Home Assistant.

Оповещения о новых статьях я публикую в Telegram.

Была ли статья полезна?

Хотите сказать спасибо? Кофе автору — ваша благодарность.

На кофе
Подписка на новые статьи

Уведомления, как только в блоге появится что-нибудь интересненькое.

Подписываясь, вы даете согласие на обработку персональных данных.