Home Assistant и немного физики: измеряем эффективность увлажнителя

Home Assistant и немного физики: измеряем эффективность увлажнителя

Зимой с микроклиматом все сложно. Закрываешь окна — жарко и душно, открываешь, чтобы проветрить, — увлажнитель не успевает увлажнять 😓 Приходится искать какой-то баланс и добиваться более-менее нормальных показателей температуры, влажности и CO₂.

Графики качества воздуха, температуры, влажности и CO₂

Но сколько баланс ни ищи, а влажность до нормальных 40% не поднимается. А может от бытового увлажнителя вообще нет толку? Как понять, сколько он там наувлажнял? Можно, конечно, на какое-то время выключить прибор, и посмотреть до какого уровня упадет влажность. Но ждать придется долго, да и в разные дни влажность разная.

А что если сравнить влажность дома и на улице? Но на улице показывает 85% влажности, а дома все равно чуть больше 30%. Почему воздух дома наоборот более сухой? 🤔

Делаем увлажнитель воздуха умным
Добавляем к простому увлажнителю воздуха гигростат и оповещения о пустом баке с помощью Home Assistant.

Давайте разбираться, что такое относительная влажность и как оценить эффективность увлажнителя воздуха.

Не стоит воспринимать эту статью как инструкцию к действию. Это скорее урок по физике.

Батареи не сушат воздух

Они его просто подогревают. А чем воздух теплее, тем больше влаги он может в себя вместить.

Для примера возьмем 2 стакана, которые отражают, сколько влаги максимально может вместить одинаковый объем воздуха при -5°C и при +20°C:

Маленький и большой стаканы

Допустим -5°C — это температура на улице, а относительную влажность возьмем за 90%. Если «откачать» всю воду из воздуха и налить ее в первый стакан, то стакан будет заполнен на 90% — это и есть относительная влажность.

А что произойдет, когда уличный воздух попадет в помещение и нагреется до +20°C?

Маленький и большой стаканы, наполненные до одного уровня

Объем воды останется таким же, но то же самое количество воды во втором стакане будет занимать только 18%.

При такой низкой влажности воздух интенсивно «всасывает» влагу из всего, чего только можно. Дело в том, что чем ниже относительная влажность, тем выше интенсивность испарения. В итоге при низкой влажности вода начинает усиленно испаряться с поверхности кожи и слизистых, деревянная мебель усыхает, а постиранное белье сохнет быстрее.

То же самое касается и эффективности увлажнителя воздуха. Если воздух изначально очень сухой, то увлажнитель сможет достаточно быстро его увлажнить, но только до определенного предела. Дальше увлажнение будет происходить не так хорошо, просто потому что воздух уже и так насыщен влагой. Поэтому если на улице мороз, то выше 40% бытовой увлажнитель вообще вряд ли сможет что-то наувлажнять (если нет проблем с вентиляцией).

Здесь еще можно было бы рассказать про точку росы и про то, что происходит, когда влажность доходит до 100%, но может быть в другой раз. Давайте уже переходить к расчетам.

Расчет эффективности увлажнителя

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

В итоге если построить графики для реальной и теоретической влажности, то можно увидеть, что первая оказывается выше второй:

Графики влажности и модельной влажности

То есть все, что выше уровня теоретической влажности, это заслуга увлажнителя. На графике также видно, что когда увлажнитель был выключен (промежуток, закрашенный серым), то графики сошлись.

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

Настройка Home Assistant

Тем не менее, если захотите повторить то же самое в Home Assistant, то вам понадобится добавить следующий сенсор в configuration.yaml:

template:
  - sensor:
      - name: Main room model humidity
        icon: "hass:water-percent"
        unit_of_measurement: "%"
        device_class: "humidity"
        state: >-
          {% set out_temp = states('sensor.narodmon_temperature') | float(0) %}
          {% set out_humidity = states('sensor.narodmon_humidity') | float(0) %}
          {% set in_temp = states('sensor.main_room_air_temperature') | float(0) %}

          {% set in_sat_var_p = 6.122 * e**(17.62 * in_temp / (243.12 + in_temp)) %}
          {% set out_sat_var_p = 6.122 * e**(17.62 * out_temp / (243.12 + out_temp)) %}
          {% set calculated_in_humidity = (in_temp + 273) * out_humidity * out_sat_var_p / ((out_temp + 273) * in_sat_var_p) %}

          {{ calculated_in_humidity | round(2) }}
        availability: >-
          {{
            not is_state('sensor.narodmon_temperature', 'unavailable') and
            not is_state('sensor.narodmon_humidity', 'unavailable') and
            not is_state('sensor.main_room_air_temperature', 'unknown')
          }}

Я не буду углубляться в математику. Скажу только, что расчеты основаны на уравнении Клапейрона-Клаузиуса, но тот же результат можно получить и по диаграмме Молье.

Данные об уличной температуре и влажности я беру с сервиса Народного мониторинга — они оказались точнее всего, но их можно заменить данными одного из провайдеров погоды:

...

        state: >-
          {% set out_temp = state_attr('weather.saint_petersburg', 'temperature') | float(0) %}
          {% set out_humidity = state_attr('weather.saint_petersburg', 'humidity') | float(0) %}

...

        availability: >-
          {{
            not is_state('weather.saint_petersburg', 'unavailable') and
            not is_state('sensor.main_room_air_temperature', 'unknown')
          }}

А данные о температуре в комнате я получаю с Zigbee-датчика (sensor.main_room_air_temperature).

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

Графики

После перезапуска Home Assistant добавится новый сенсор, для которого можно построить график с помощью Lovelace Mini Graph Card:

type: custom:mini-graph-card
entities:
  - entity: sensor.main_room_air_humidity
    name: Влажность
  - entity: sensor.main_room_model_humidity
    show_fill: false
    color: var(--accent-color)
    name: Теоретическая влажность
color_thresholds:
  - color: '#b83829'
    value: 0
  - color: '#b58e31'
    value: 20
  - color: '#537ec5'
    value: 30
  - color: '#b58e31'
    value: 70
  - color: '#b83829'
    value: 80
decimals: 1
hours_to_show: 12
line_width: 3
points_per_hour: 3
align_icon: state
show:
  icon_adaptive_color: true
  name: false

Следующее видео

Некоторое время назад я как-то порывался записать видео про точку росы и про то, откуда в кондиционерах конденсат.

Кондиционер на схеме

Но не знаю, нужен ли кому-то этот научпоп 🤔 Тем более подобного контента наверняка и так уже много. Но если вдруг эта тема вам интересна, то можете отписаться в комментариях под статьей.

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

А о новых статьях и видео можно узнать в Telegram.

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

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

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

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

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