Небольшой обзор достаточно новой модели увлажнителя Xiaomi MIJIA Intelligent UV-C (zhimi.airpurifier.ma4) и моя интеграция его в Home Assistant
Характеристики, от производителя
- Мощность: 25 W
- Объем: 4.5 л
- Уровень шума: 38 дБ
- Тип подключения: Wi-Fi
- Wi-Fi: 802.11 b/g/n, 2.4 ГГц
- Взаимодействие с мобильным приложением: Mi Home
- УФ лампа
- Индикация: Низкого уровня воды
- Увлажнение Продолжительность работы: до 15 ч
- Расход воды: 300 — 350 мл/ч
- Источник питания: От сети
- Параметры входа: 220V ~50 Hz
- Размеры: 190 х 190 х 353 мм
- Вес (g): 1900
Пару уточнений от меня
Уф лампа действует только на ту воду, что уходит в распылитель, соответственно толку в ней немного
Wifi работает стабильно, в отличие от розеток xiaomi пропажи сигнала нет
Шум достаточно сильный, но спать можно, от режима к режиму громкость почти не меняется
Есть 3 режима мощности, а так же встроенная функция «держать заданный уровень влажности»
Можно снять бачок отдельно и долить его, при этом почти не капает
Есть индикация снятого бака
Есть прозрачная полоска для слежения за уровнем воды
Есть встроенный датчик влажности и температуры, недоступные из mi home
Китайская вилка(встроенная)
Фото и личный опыт
Фото снаружи, и со снятым баком
Купил увлажнитель зимой 20 года, выбирая по двум критериям — во первых, не слишком дорогой, во вторых — с интеграцией в умный дом. В тот момент я использовал инфраструктуру xiaomi mi home, соответственно выбрал эту модель, в дальнейшем я перешел на Home Assistant, и подключил его туда. Увлажнитель меня полностью устроил, каких-то проблем с ним нет. Единственное — наполненный бак с кухни таскать тяжело девушке:) Установлен он в спальне, при засыпании с увлажнителем как будто стал лучше себя чувствовать с утра, но вполне возможно что это эффект плацебо.
При максимальной мощности полного бака хватает чуть больше чем на ночь, при этом на верхней крышке образуются капли. Шум не мешает спать, но возможно кому-то более чувствительному будет мешать, увлажнитель периодически булькает доливая себя из бака. Датчик влажности увлажнителя завышает во время работы на 5-7% (сравнивал с двумя датчиками в другом конце комнаты)
Вот фотографии от xiaomi как он выглядит внутри
Работа с приложением Mi Home
Подключение к mi home стандартное, если включено авто обнаружение — устройство найдется само, если нет — его нужно выбрать и добавить, даже нужно настроить wifi, обновить прошивку если предложит — собственно и все. Регион должен быть — Китай, или нужно ставить патченную версию приложения
Скриншоты из mi home:
Из приложения можно отключать и включать подсветку, пикающий динамик, менять режим работы, выставлять необходимый уровень влажности который увлажнитель будет поддерживать. Можно настраивать авто включение и другие автоматизации, останавливаться на этом подробнее не буду
Интеграция в Home Assistant
Гаджет достаточно новый, встроенной поддержки пока еще нет(версия 0.111.0b1). Для интеграции нужно установить сторонний компонент
github.com/syssi/xiaomi_airpurifier
Сделать это можно через HACS, если у вас полноценный HASS, либо поместив файлы компонента в каталог /config/custom_components если у вас Home Assistant Core
затем в configuration.yaml
fan:
- platform: xiaomi_miio
host: XXX.XXX.XXX.XXX
token: abcdefg12345abcdefg12345abcdefg12345
name: Очиститель
model: zhimi.airpurifier.ma4
Токен можно получить разными путями, самый простой — поставить вместо приложения из play market версию от vevs —
www.kapiba.ru/2017/11/mi-home.html, затем зайти в увлажнитель — дополнительные настройки — информация о сети, там и будет токен
Имейте в виду, у всех устройств xiaomi токен разный, от пылесоса не подойдет
После перезапуска hass в разделе «Объекты» появится увлажнитель, если имя сделали на русском как у меня — он его транслитом поменяет на английское в ID объекта
Сходу доступны следующие данные:
Включение и выключение, задание режима мощности
Данные встроенных датчиков температуры и влажности
Подсветка, динамик
Датчик наличия воды, датчик снятия бака
«целевая» влажность
Теперь добавим сенсоры отдельно, чтобы с ними можно было работать. У меня сенсоры вынесены в отдельный файл, подключенный в configuration.yaml с помощью таких строк
binary_sensor: !include binary_sensors.yaml
sensor: !include sensors.yaml
в sensors.yaml прописываем
- platform: template
sensors:
airhumidifier_temperature:
friendly_name: Air Humidifier Temperature
value_template: '{{ states.fan.uvlazhnitel.attributes.temperature }}'
unit_of_measurement: '°C'
airhumidifier_humidity:
friendly_name: Air Humidifier Humidity
value_template: '{{ states.fan.uvlazhnitel.attributes.humidity }}'
unit_of_measurement: '%'
airhumidifier_mode:
friendly_name: Air Humidifier Mode
value_template: '{{ states.fan.uvlazhnitel.attributes.mode }}'
airhumidifier_target_humidity:
friendly_name: Air Humidifier Target Humidity
value_template: '{{ states.fan.uvlazhnitel.attributes.target_humidity }}'
unit_of_measurement: '%'
airhumidifier_speed:
friendly_name: Air Humidifier Speed
value_template: '{{ states.fan.uvlazhnitel.attributes.speed }}'
в binary_sensors.yaml прописываем
- platform: template
sensors:
airhumidifier_water:
friendly_name: Air Humidifier Water
value_template: '{{ states.fan.uvlazhnitel.attributes.no_water }}'
airhumidifier_water_tank:
friendly_name: Air Humidifier Water Tank
value_template: '{{ states.fan.uvlazhnitel.attributes.water_tank_detached }}'
Вместо fan.uvlazhnitel вам нужно будет подставить ваш ID увлажнителя. Теперь в «Объектах» у нас будут доступны как отдельные сенсоры все перечисленные, и их можно будет использовать в автоматизациях
Для начала добавим кнопку в Lovelace, которая будет включать и выключать увлажнитель, код:
entity: fan.uvlazhnitel
hold_action:
action: more-info
icon: 'mdi:water'
icon_height: 50px
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
Во включенном состоянии капля будет желтая, в выключенном — синяя, если увлажнитель отключен от сети или розетки — серая
А вот несколько примеров автоматизации. Автоматизации прописываются в automations.yaml
# Нотификации
# Уведомление о закончившейся воде в увлажнителе
- alias: Уведомление о закончившейся воде в увлажнителе
trigger:
entity_id: sensor.airhumidifier_water
platform: state
to: 'on'
action:
service: telegram_bot.send_message
data:
message: В увлажнителе закончилась вода!
target: ХХХХХХХ
timeout: 15000
# Уведомление о включении увлажнителя
- alias: Уведомление о включении увлажнителя
trigger:
entity_id: sensor.airhumidifier_speed
platform: state
to: 'High'
action:
service: telegram_bot.send_message
data:
message: "Увлажнитель включен - текущая влажность {{ states('sensor.humidity_158d000ХХХХХХХ') }}% "
target: ХХХХХХХ
timeout: 15000
# Уведомление об отключении увлажнителя
- alias: Уведомление об отключении увлажнителя
trigger:
entity_id: sensor.airhumidifier_speed
platform: state
from: 'High'
action:
service: telegram_bot.send_message
data:
message: "Увлажнитель выключен - текущая влажность {{ states('sensor.humidity_158d000ХХХХХХХ') }}% "
target: ХХХХХХХХХХХ
timeout: 15000
Тут sensor.humidity_158d000ХХХХХХХ — внешний датчик влажности, расположенный у кровати, подальше от увлажнителя
Если нет внешних датчиков можно использовать встроенный, или не использовать влажность в нотификации
# Включение и отключение по расписанию
# Включение увлажнителя
- alias: Включение увлажнителя примерно с 22:00
trigger:
- platform: time_pattern
minutes: "/5"
condition:
condition: and
conditions:
- condition: time
after: '22:00:00'
before: '11:00:00'
- condition: numeric_state
entity_id: sensor.humidity_158d000ХХХХХХХ
below: 45
- condition: state
entity_id: sensor.airhumidifier_water
state: 'off'
action:
- service: fan.turn_on
entity_id: fan.uvlazhnitel
- service: fan.set_speed
entity_id: fan.uvlazhnitel
data:
speed: 'High'
# Отключение при нахождении в лимитах влажности
- alias: Отключение увлажнителя при достижении предела влажности
trigger:
- platform: time_pattern
minutes: "/5"
condition:
condition: and
conditions:
- condition: time
after: '22:10:00'
before: '11:10:00'
- condition: numeric_state
entity_id: sensor.humidity_158d000ХХХХХХХ
above: 55
action:
service: fan.turn_off
entity_id: fan.uvlazhnitel
# Отключение в 11:15
- alias: Отключение увлажнителя в 11:15
trigger:
- platform: time
at: '11:15:00'
action:
service: fan.turn_off
entity_id: fan.uvlazhnitel
Логика такая — если влажность меньше 45%, время после 22:00, и увлажнитель еще не включен — включаем его. Если влажность достигает 55% — отключаем его, в 11:15 отключаем его насовсем. Граница установлена с разницей в 10% для того чтобы он не работал в режиме постоянного включения-выключения, а днем влажность в спальне уже не нужна.
Вот и все, если есть вопросы — задавайте в комментариях!
А то при максимальном режиме воды в бачке на ночь может не хватить. У меня по проще вариант, без мозгов :)
дома тупой бонеко нужно каждый день доливать
Это тогда нужно колхозить ограничители и все такое. Целый серьезный проект.
Да оно и не стоит того. Бака хватает на несколько ночей (у меня правда старая версия этого увлажнителя).
Ну и кмк 45% — это очень комфортно, вот ниже 30% — уже ой.
У меня 2 таких комплекта. Один с TH10 и выносным датчиком, другой с Basic. Включаются автоматически за час до сна. Датчик поставил потому что был лишний. Прекрасно понимаю, что это всё костыль и к тому же при включенном увлажнителе на расстоянии 30см показания датчика будут так себе достоверные. :)