Найти в Дзене
PRO УМНЫЙ ДОМ

Xiaomi Air Smart Purifier 4 в Home Assistant

Очиститель воздуха Xiaomi Air Smart Purifier 4 используется в моем доме на протяжении полугода и за это время он зарекомендовал себя с лучшей стороны, а я получил положительный опыт использования этого устройства. Приобретался очиститель воздуха на основе изучения мной множества статей и отзывов, а одним из главный факторов было локальное подключение к серверу Home Assitant минуя облако производителя. Почему стоит подключать устройства локально думаю и так понятно, что в случае проблем с сетью в связи со сбоями у провайдера или недоступности сервисов производителя устройства или голосового помощника вы столкнетесь с трудностями. А при локальном управлении Вы по прежнему сможете управлять устройством с телефона, компьютера или локального голосового помощника благодаря Home Assistant. Отмечу, что тем голосовым помощникам, что есть в мире open source на июнь 2024 года и способным на локальное управление умными домами далеко до Алисы которую сделали в Яндексе. Это мое мнение, оно неизменн
Оглавление

Очиститель воздуха Xiaomi Air Smart Purifier 4 используется в моем доме на протяжении полугода и за это время он зарекомендовал себя с лучшей стороны, а я получил положительный опыт использования этого устройства. Приобретался очиститель воздуха на основе изучения мной множества статей и отзывов, а одним из главный факторов было локальное подключение к серверу Home Assitant минуя облако производителя.

Почему стоит подключать устройства локально думаю и так понятно, что в случае проблем с сетью в связи со сбоями у провайдера или недоступности сервисов производителя устройства или голосового помощника вы столкнетесь с трудностями. А при локальном управлении Вы по прежнему сможете управлять устройством с телефона, компьютера или локального голосового помощника благодаря Home Assistant. Отмечу, что тем голосовым помощникам, что есть в мире open source на июнь 2024 года и способным на локальное управление умными домами далеко до Алисы которую сделали в Яндексе. Это мое мнение, оно неизменно, если оно отличается от моего, то я все понимаю и уважаю ваш выбор.

Что касается управления очистителем, то как говорит один мой знакомый «Умный дом должен работать самостоятельно и не отвлекать хозяина» , вот это как раз про это устройство. Он не создавал мне проблем и не отвлекал меня все это время, просто стоит в углу в коридоре и очищает воздух. Эффективность использования очистителя видна на фильтре, который я недавно почистил и сделал очиститель снова великим повысил его пропускную способность как у нового фильтра.

Подключается Xiaomi Air Smart Purifier 4 к HA довольно просто, для этого используется интеграция XiaomiGateway3 для получения токена, необходимого для локального управления, и интеграция Xiaomi Miot, через которую осуществляется управление устройством и получение сенсоров. Обе эти интеграции Вы сможете найти в HACS. Весь процесс осуществляется в пару кликов мыши по аналогии с подключением увлажнителя воздуха Smartmi Evaporative Humidifier 2 из этой статьи, а создание карточки по аналогии с этой статьей.

После подключения мы получим в HA все переключатели и сенсоры доступные в родном приложении Mihome, но только напрямую, минуя облачное подключение к серверам Xiaomi.

Xiaomi Air Smart Purifier 4 в Home Assistant
Xiaomi Air Smart Purifier 4 в Home Assistant

Вспомогательные сенсоры

Для работы автоматизаций и скриптов на очистителе воздуха, я настроил вспомогательные сенсоры. Также данные сенсоры я использую для вывода данных на карточку с типом picture-elements.

Вспомогательные сенсоры
Вспомогательные сенсоры

Я привык выводить нужные мне сенсоры из атрибутов устройства для дальнейшего использования в автоматизациях и карточках.

Примеры сенсоров:

Переводим числовое состояния концентрации частиц pm2.5 в понятное человеческому глазу благодаря сенсору состояния воздуха в доме sensor.sostoianie_vozdukha_v_dome:

{% if (states('sensor.zhimi_mb5a_3725_pm25_density')| int | round(2)) > 250 %}Сильно загрязнен
{% elif (states('sensor.zhimi_mb5a_3725_pm25_density')| int | round(2)) > 150 %}Умеренно загрязнен
{% elif (states('sensor.zhimi_mb5a_3725_pm25_density')| int | round(2)) > 55 %}Воздух загрязнен
{% elif (states('sensor.zhimi_mb5a_3725_pm25_density')| int | round(2)) > 35 %}Слегка загрязнен
{% elif (states('sensor.zhimi_mb5a_3725_pm25_density')| int | round(2)) > 12 %}Нормальный воздух
{% elif (states('sensor.zhimi_mb5a_3725_pm25_density')| int | round(2)) <= 12 %}Чистый воздух
{% endif %}

Раскрашивать иконки в зависимости от состояния я буду опираясь на эту таблицу:

Уровни концентрации частиц PM 2.5
Уровни концентрации частиц PM 2.5

Я создал свои сенсоры состояния уровня частиц pm2.5, температуры и влажности на основе тех, что присутствуют в интеграции устройства, так как мне это было необходимо для вывода их в том формате (виде) который мы видим на экране очистителя. Можно было каждый раз обращаться к атрибутам и переводить форматирование, но я выбрал путь создания вспомогательного сенсора.

Например шаблон сенсора состояния концентрации частиц sensor.ochistitel_vozdukha_kolichestvo_chastits выглядит вот так :

{{ "{:03}".format(((states('sensor.zhimi_mb5a_3725_pm25_density') | int))) }}

Сенсор выводит данные в виде 004 при значении родного сенсора sensor.zhimi_mb5a_3725_pm25_density 4 µg/m³.

Cкорость вентилятора sensor.ochistitel_skorost_ventiliatora получаем из атрибута: {{ state_attr('fan.zhimi_mb5a_3725_air_purifier','air_purifier.fan_level') }}

Режим работы sensor.ochistitel_vozdukha_rezhim_raboty : {{ state_attr('fan.zhimi_mb5a_3725_air_purifier','preset_mode') }}

Таймер для отображения на экране очистителя на картинке выбранного режима работы при переключении режима timer.ochistitel_vozdukha_taimer_otobrazheniia_sostoianiia продолжительностью 3 секунды с галочкой восстанавливать таймер.

Автоматизации и скрипты

Я настроил отключение очистителя воздуха при открытии окон( при открытии окон у меня отключается кондиционер, увлажнитель, зимой газовый котел), а также входной двери при открытии на более чем 5 минут, так как иногда летом открываем окна и входную дверь в доме на проветривание.

Отключение происходит при условиях допустимых значений содержания частиц pm2.5 в воздухе на улице, если воздух за окном загрязнён, а окно открывается, то очиститель продолжит работу или включится при повышении уровня pm2.5 yна улице. На наружной стене дома я установил датчик на основе платы esp передающий данные о состоянии воздуха на портал Sensor.Community и на мой сервер Home Assistant.

-5
Автоматизация работы очистителя при открытии окон и дверей
Автоматизация работы очистителя при открытии окон и дверей

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

Автоматизация перехода в ночной режим
Автоматизация перехода в ночной режим

Я не стал настраивать автоматизации которые меняют скорость работы очистителя в зависимости от состояния уровня частиц в связи с тем, что автоматический режим полностью меня устраивает. А вот когда нужно справиться с посторонними запахами (отмечу угольная часть фильтра с ними отлично справляется), то включаю ручной режим работы (Manual) и выбираю нужную скорость.

Скрипты

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

Вспомогательные скрипты
Вспомогательные скрипты

Карточка в Home Assistant

При создании карточки в интерфейсе Home Assistant я использовал

Пользовательские карточки

Card-mod 3 - для применения CSS стилей для элементов

Mushroom - это коллекция карточек для пользовательского интерфейса панели управления Home Assistant.

ApexCharts Card - карточка для отображения графиков

Custom brand icons иконки различных брэндов для HA

Vertical Stack In Card - карточка позволяющая группировать карточки в одну

IOS Theme - тема оформления

Интеграции

Xiaomi Miot Auto - интеграция для локального подключения устройства

Xiaomi Gateway 3 - интеграция c помощью которой можно получить токен устройства для локального управления

Browser_mod интеграция позволяющая получить доступ к браузеру, в текущей карточке применяется для создания модального окна

Все эти дополнения я устанавливал через HACS

Создании карточки в HА

на панели климата ничего необычного, обычная карточка Mushroom, которая при клике ведет на страницу с карточками связанными с очистителем. При долгом нажатии меняется режим работы. Иконка вентилятора вертится и скорость вращения зависит от скорости работы очистителя воздуха. Fybvfwbz Анимация иконки настраивается это стилями css благодаря дополнению Card-mod 3.

-9
-10

Сама страница управления очистителем выглядит вот так.

Карточка очистителя воздуха на темной теме
Карточка очистителя воздуха на темной теме
Карточка очистителя воздуха на светлой теме
Карточка очистителя воздуха на светлой теме

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

Изображение очистителя выводит на экране текущее состояния содержания частиц pm 2.5 в воздухе, полоска меняет цвет также в зависимости от уровня загрязнённости. Так же выводятся сенсоры текущей температуры и влажности в помещении. Благодаря костылю в виде анимации удалось наклонить сенсор, чтобы он корректно отображался на дисплее. А вот индикатор подключения к wi-fi и текущего режима работы я не стал добавлять, она мелкие и их не видно на картинке. Управление подсветкой реализовано кнопкой яркость. При изменении режима подсветки экран выключается (в стилях задан черный цвет текста), угасает (серый цвет) или светится ярко (белый цвет текста). Также пришлось использовать разные размеры текста в зависимости от устройства и выводить отдельные стили для сенсорных и десктопных устройств.

-13

При смене режима работы на экране на 3 секунда загорается иконка текущего режима, как это происходит на физическом устройстве благодаря условиям в picture-elements и вспомогательному таймеру.

-14

Датчики выводятся все стандартные , ничего нового тут не придумано, по кнопке рядом с датчиком вылазит всплывающее окно с графиками apexcharts-card за 6 часов . Цвет графика зависит от содержания частиц pm2.5 которую я приводил выше. Вот пример графика за 36 часов.

В момент пика в газовый котел дунули компрессором и поднялась пыль. Очиститель моментально среагировал на это.
В момент пика в газовый котел дунули компрессором и поднялась пыль. Очиститель моментально среагировал на это.

По сенсору фильтра на кнопку обновить вывел всплывающее окно содержаее html-страницу с формой генерации команды для сброса счётчика hepa-фильтра. Подробнее об этом можно прочитать в статье про сбросу rfid-метки фильтра.

-16

Вот такая у меня получилась интеграция Xiaomi Air Smart Purifier 4 в Home Assistant. Весь код и исходные файлы я опубликую в своем телеграм канале в формате yaml. Если у Вас появились вопросы или вы заметили неточность, то обязательно напишите мне.

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