С чего все начиналось?
Все началось в 2020 году, когда Петр купил квартиру в Минске площадью 120 м² на этапе черновой отделки. Комнат немного: гостиная, совмещенная с кухней, кабинет и спальня. Также есть два санузла (гостевой и хозяйский). Конечно, квартира Петра должна быть комфортной и умной. Задачи были поставлены весьма амбициозные:
газовый котел для горячей воды и отопления;
приточно-вытяжная вентиляционная установка;
диммируемые светильники во всех помещениях;
кондиционирование всех жилых комнат;
управление шторами;
датчики температуры и влажности;
датчики открытия окон и дверей;
учет энергоресурсов.
В качестве контроллера умного дома Петр выбрал Raspberry Pi. Причина в том, что это решение весьма популярно на рынке и хорошо интегрируется в Home Assistant, разве что к одноплатному компьютеру был добавлен M.2 SSD для повышения емкости и надежности хранения.
Многие устройства в умном доме Петра — беспроводные и работают через Wi-Fi или Zigbee. Например, приводы штор, кондиционеры, телевизоры, пара «умных ламп» Yeelight Ceiling Light, датчики открытия окон и дверей, температуры и влажности. О них мы расскажем чуть ниже. Но для основного освещения с диммированием были выбраны проводные решения. То же самое верно и для учета энергопотребления — Петр не хотел плодить умные розетки в массовых количествах, а установил на линии питания измерительные токовые трансформаторы.
Свет в квартире должен работать всегда!
Начнем с освещения. Петр выбрал проводные решения, поскольку свет должен работать всегда. Контроллер Raspberry Pi может повиснуть, Wi-Fi — «умереть», интернет — «отпасть». Но при нажатии на клавиши свет должен загораться при любых условиях. Поэтому были выбраны модули диммирования с микроконтроллером, которые можно программировать независимо от основного контроллера. Можно было взять и обычные модули реле для простого включения/выключения, но Петр решил, что свет будет диммируемым везде.
Сказано — сделано: Петр купил восемь модулей WB-MDM3 для диммированиея ламп (три канала на каждом), а также три модуля WB-MRGBW-D (четыре канала на каждом) для диммирования светодиодных лент. Модули работают по протоколу Modbus, который Петр считает надежным и проверенным временем . Кроме того, модули распознают одинарное, длительное, двойное и другие типы нажатий. Поэтому для управления четырьмя группами в комнате не нужно устанавливать «пианино» на четыре клавиши. Достаточно пары клавиш и умное программирование. Кроме того, свет клавишами включается мгновенно, небольшая задержка может быть только в отображении состояния в Home Assistant — она связана с длительностью цикла опроса Modbus.
Петр долго подбирал лампы, но остановился на диммируемых Gauss MR16 5W 4100К, которые понравились качеством и характеристиками, хотя стоят намного дороже обычных недиммируемых. Две умные лампы Yeelight Ceiling Light в гостиной и санузле подключены, можно сказать, через простое реле (WB-MDM3 переведен в ключевой режим). У них своя автоматизация через интеграцию в Home Assistant. В спальне вокруг зеркала проложена диммируемая светодиодная лента CCT, которая может менять световую температуру. В гостиной над столом для красоты установлены три лампы накаливания Uniel Vintage по 60 Вт из золотистого прозрачного стекла. Они подключены к одному каналу WB-MDM3 и управляются синхронно.
Отдельное внимание было уделено выбору выключателей, чтобы они не воспринимались как кусок пластика. В итоге Петр посоветовался с дизайнером и взял Jung LS 990 с узкой рамкой и хорошей тактильной отдачей. В квартире есть выключатели как из металла, так и пластика.
Осталось одно препятствие: как интегрировать модули в Home Assistant и управлять через Raspberry Pi? Сначала Петр купил самый простой USB-модуль — преобразователь Modbus. Но позднее перешел на модульWB-MIO-E v.2, представляющий собой мост между Modbus и Ethernet. Причина в том, что модуль можно спрятать в щит, также можно опрашивать устройства Wiren Board с ноутбука или настольного ПК через Wi-Fi. А затем написал на Python собственную интеграцию в Home Assistant, которую мы сейчас и рассмотрим.
Дополнительные фотографии
Почему Home Assistant?
Home Assistant был выбран в качестве сервера домашней автоматизации по нескольким причинам. Во-первых, открытый исходный код и регулярные обновления. Во-вторых, огромное число интеграций, обширное комьюнити разработчиков. В-третьих, код на Python, наличие хорошей документации как для пользователя, так и для разработчика, встроенные инструменты для разработчика, возможность развернуть все на одноплатном компьютере.
К преимуществам Home Assistant Петр относит удобный и функциональный пользовательский интерфейс (через панели dashboard). Home Assistant позволяет легко создавать панели dashboard в формате YAML или с помощью встроенного дизайнера. В данном случае был выбран формат YAML. Для построения простейшего интерфейса не требуются знания в веб-программировании, все можно «собрать» из готовых модулей Cards (см. подробное описание). На момент публикации доступны уже 29 модулей Cards, которые очень хорошо интегрированы с объектами Home Assistant.
Например, Петр захотел на главном экране видеть одним списком весь включенный свет с возможностью одной кнопкой его выключить. Он воспользовался модулем Card типа entity-filter, указал список из всех объектов light и установил критерий on. В общем случае entity-filter фильтрует список объектов по заданному критерию.
Интерфейс умного дома Петра состоит из главной панели, на которой отображена общая информация и отдельных панелей для каждого помещения.
Дополнительные скриншоты
Интеграция диммера от Wiren Board в Home Assistant
Установим Home Assistant на Raspberry Pi. Для удобства и простоты можно с помощью утилиты «Raspberry Pi Imager» выбрать и установить на одноплатник ОС с уже установленной Home Assistant (в разделе other specific-purposes OS > Home assistants and home automation > Home Assistant). Пройти первоначальную инициализацию в Home Assistant.
Для удобства интеграции установим Studio Code Server (Настройки > Дополнения > Магазин дополнений > Studio Code Server) и File editor (Настройки > Дополнения > Магазин дополнений > File editor).
Настроим преобразователь интерфейсов WB-MIO-E v.2 согласно документации. Поскольку по умолчанию наши Modbus-устройства настроены на скорость 9600 бит/с, то именно эту скорость и установим в шлюзе.
Подключим диммер с Modbus RTU WB-MDM3 к шлюзу. Далее настроим встроенную Modbus-службу Home Assistant. Перейдем в Studio Code Server > configuration.yaml и приведем файл к виду:
Перезапускаем Home Assistant (Панель разработчика > YAML > Перезапустить). Далее можем проверить корректность настройки и работу Home Assistant c диммером без самой интеграции. Переходим в Панель разработчика > Службы. В поле служб выбираем «Modbus: Записать в регистр флагов». Далее указываем Modbus-адрес диммера, регистр записи, состояние:
И вызываем службу. В результате должен включиться первый канал. Если все прошло успешно, то можно перейти к добавлению самой интеграции.
Переходим в File editor. В папке config создаем папку custom_components. И копируем сюда папку с интеграцией (wirenboard).В интеграции реализована поддержка WB-MDM3 и WB-MAP6S.
Перезагружаем Home Assistant и можем добавлять интеграцию. Переходим в Настройки > Устройства и службы > Добавить интеграцию и выбираем wirenboard. Вводим название Modbus-хаба и адреса устройств через запятую.
Теперь должна появиться интеграция диммеров в Home Assistant.
При удачной настройке на главной вкладке «Обзор» должны появиться добавленные устройства. Теперь можем включать/выключать каналы диммера, а также диммировать каждый из них.
Диспетчеризация энергопотребления
Петр установил два счетчика электроэнергии WB-MAP6S, каждый может собирать данные с шести однофазных потребителей. Причем достаточно просто подключить разъемные измерительные трансформаторы тока на питающие линии, физически никуда подключаться не нужно. Счетчики тоже работают через Modbus и добавлены в Home Assistant через интеграцию, которую мы рассмотрели выше.
Идея Петра следующая: он хотел проанализировать энергопотребление всех устройств, чтобы выбрать оптимальные режимы работы. Но картина оказалась не такой, как предполагалось изначально. Петр думал, что зимой главным потребителем в кВт·ч за месяц будет варочная панель, но им оказался газовый котел с насосными группами. Он потребляет, вроде бы, небольшую мощность, но работает постоянно, отсюда и высокое энергопотребление. Следом идут кондиционеры, которые выходят на первое место в жаркие летние дни.
Ниже на диаграммах показаны 11 потребителей (devices) + один общий (трансформатор на входе), использованы все 12 каналов двух модулей WB-MAP6S.
Контроль протечек
Для модулей WB-MWAC в Home Assistant были добавлены 2 switch (для управления контактами реле K1 и К2) и 6 binary_sensor (для контроля за входами S1, S2, S3, F1, F2, F3), в результате через switch entity в HA можно с легкостью управлять каналами реле из интерфейса пользователя или создать сценарий автоматизации.
На стадии ремонта не были заложены провода для датчиков, поэтому пришлось приобретать беспроводные, Петр выбрал Xiaomi SJCGQ11LM и подключил их к HA через zigbee2mqtt. Далее создал автоматизацию: если хотя бы один из датчиков сработает, то закрывается кран с электроприводом, перекрывающий подачу воды.
Стоит отметить, что WB-MWAC имеет гибкие функции ручного управления. Например, Петр подключил кнопку без фиксации для управления каналом реле. Кнопка была добавлена на случай отказа HA, так как функции ручного управления не зависят от HA и обрабатываются самим устройством.
WB-MWAC поддерживает и проводные датчики, что, бесспорно, надежнее, но что имеем, то имеем.
В щите можно заметить модуль аналоговых выходовWB-MAO4— с его помощью планируется управлять вентилятором вытяжки из санитарных комнат и кухни: тоже в планах на будущее. Оба модуля работают через Modbus интегрируются в Home Assistant по приведенной выше схеме.
Дополнительные фотографии
Климат и вентиляция
На балконе установлена приточно-вытяжная установка UniMAX-R 850 VWL EC от Shuft с производительностью воздухообмена до 850 м³/ч. Поддерживается рекуперация, то есть из удаляемого воздуха тепло частично передается приточному воздуху. Установка работает постоянно, по своим алгоритмам, к умному дому не подключена. Петр обычно выставляет минимальную скорость работы.
От ПВУ в каждую комнату заведены приточный и вытяжной воздуховоды. В двух санитарных комнатах и кладовке установлена дополнительная вытяжка с вентилятором.
Кондиционеры LG Dual Inverter установлены во всех трех комнатах, мощность подобрана, исходя из площади помещений. Самый мощный — для совмещенной гостиной/кухни. На стену дома вынесены три наружных блока кондиционеров. Кондиционеры подключаются через Wi-Fi и имеют интеграцию с Home Assistant от интернет-сообщества (SmartThinQ LGE Sensors). В квартире кондиционеры используются только для охлаждения. Петр отдельно отметил, что интеграция HA позволяет включить кондиционеры до прихода домой, чтобы предварительно охладить помещение. Ночью кондиционеры не работают.
В квартире установлен газовый котел De Dietrich, который подает теплоноситель в узел смешения и на накопитель горячей воды емкостью 120 л. Узел смешения нужен, чтобы по-разному нагревать воду для радиаторов и теплых полов. В каждой комнате установлены радиаторы, подключенные отдельными контурами. То же самое касается теплых полов, каждый подключен своим контуром. Теплые полы установлены в кухне, коридоре, двух санитарных комнатах. Пока регулирование подачи теплоносителя в контуры ручная, приводы установлены без автоматизации.
Автоматика для отопления комнат в процессе разработки, но Петр уже заложил кабель для датчика на улице. И в будущем планирует добавить погодозависимое регулирование отопления.
Дополнительные фотографии
Датчики
В каждой комнате установлены беспроводные датчики температуры и влажности, которые подключены к Home Assistant через дополнение Zigbee2MQTT. Соответственно, в контроллере установлен USB-модуль Zigbee.
На всех окнах и входной двери есть беспроводные датчики открытия/закрытия.
В интерфейсе Home Assistant при выходе из дома можно посмотреть весь включенный свет, все открытые окна и все включенные кондиционеры.
В санузлах добавлены беспроводные датчики движения для автоматического включения света.
На всякий случай в квартире есть несколько умных розеток Zigbee, но они больше работают как ретрансляторы.
Дополнительные фотографии
Шторы
На всех шторах установлены приводы Tuya Curtain Motor с поддержкой WiFi, но Петр перепрошил их, отвязав от облака. Пришлось даже припаивать провода к чипу, поэтому процедура не самая простая. В результате приводы локально интегрируются с Home Assistant через ESPHome.
Заключение
Модули Wiren Board работают по открытому протоколу, поэтому их можно «подружить» с контроллерами других производителей. В статье мы как раз рассмотрели пример на Raspberry Pi с интеграцией в Home Assistant. Поэтому если у вас уже работает умный дом на любом контроллере, обратите внимание на подобную возможность.
Модули WB-MDM3 и WB-MRGBW-D позволяют диммировать лампы и светодиодные ленты. Проводное подключение и микроконтроллер «на борту» гарантируют, что свет будет работать, даже если связь с контроллером «упадет». К преимуществам можно также отнести мгновенное включение, многоканальность и умение работать с разными типами нажатий (одинарное, двойное, длительное…).
Поскольку основная интеграция в Home Assistant уже сделана, дальше экосистему умного дома можно расширять: добавить счетчики электроэнергии, модули реле, протечек и т.д. Здесь мы рекомендуем ознакомиться с нашей статьей, где рассмотрели наиболее полезные модули Wiren Board для умного дома.
Возможно, у вас тоже есть решения, о которых стоит рассказать? Пишите в комментариях.
Комментарии (26)
iamoblomov
31.10.2023 08:23+2Вот для меня кондиционер стал узким местом, приточку и вытяжку удалось подружить с HA, но кондиционер только мегакостыли через ИК пульт и такие же костыли с обратной связью от его. На рынке вообще есть готовые решения сделать из тупого кондера "умный" и не через интернет в проприетарное облако, а нормально.
У меня квалификации не хватает отреверсить управление и запилить собственный контроллер кондиционера на нормальном микроконтроллере.
А LG Dual Inverter как то это, ну... ценник на его попытался укусить меня прямо через монитор
sergeyssv
31.10.2023 08:23+1Есть решения )
Выкинуть контроллер кондея и поставить, тот который норм работает.
Для on/off кондеев нормально работает
wofs
31.10.2023 08:23+4На рынке вообще есть готовые решения сделать из тупого кондера "умный" и не через интернет в проприетарное облако, а нормально.
Если в кондиционере была предусмотрена опциональная возможность управления по Wi-Fi или через родной проводной пульт, то можно посмотреть в сторону адаптеров ONOKOM — они подключаются к плате кондиционера, общаются с ним на его языке, а с другой стороны есть MQTT или Modbus RTU.
iamoblomov
31.10.2023 08:23увы только ик, через ик работает... так себе
ONOKOM интересное решение, но к сожалению кондиционер надо менять на HISENSE или MIDEA, и ценник 20к за модуль, хотя в принципе, учитывая заявленные характеристики норм. Обязательно приму во внимание если где то еще кондиционер ставить буду. Но менять уже установленный....
wofs
31.10.2023 08:23+2увы только ик, через ик работает... так себе
У меня LG и я тоже управляю им по ИК. Сперва экспериментировал с железкой на ESPHome, там есть возможность сделать прошивку, которая будет отправлять команды и даже считывать команды, отправленные с пульта. Но работало с моим кондиционером жутко нестабильно, разобраться в причинах я не смог.
В итоге просто включаю/выключаю кондиционер через WB-MSW v.3 и слежу за температурой в комнате. Работает неплохо, сценарии простые: выключить, если на улице стало холодно или открыто окно; включить, если на улице и в комнате жарко. Температуру не меняю обычно.
Vizavi
31.10.2023 08:23+1>HA, но кондиционер только мегакостыли через ИК
Это простите какие ?
Обычный ик бластер от той же tuya спокойно рулит всем ик`зависимым в пределах комнаты 25 метров (может и больше, 25м - это из личного опыта). Да он не даст обратную связь в виде показателей на самом кондиционере, на этом как бы все 'мучения' и заканчиваються. И откровенно говоря - я не совсем понимаю, зачем кроме красивой картинки в приложение видеть данные от кондиционера ? Показания температуры в помещении? Вот только там они будут крайне далеки от реальности. Режим работы ? Эм ну какой запустилипоследним - тот м работает.( или не работает, если был выключен). А что ещё то ? Если говорить о постройке системы климат контроля, где режим работы кондиционера будет зависеть от внешней среды, времени, температуры помещений - все это легко настраивается без обратной связи и с использованием внешних климатических датчиков
smarthme30
31.10.2023 08:23+1Для кондиционера LG есть на github проект, в котором esp-шкой подключаются к внутреннему котроллеру и черзе serial упраляют устройством. Даже есть протокол коммуникации (получен через reverse engineering). Далее черзе ESPHome к ha.
Для себя решил так: если будут сбои, то попробую отвязать от интернета + внеших сервисов.
iamoblomov
31.10.2023 08:23+1А вот до этого очевидного решения я как то не догадался...
одинарное, длительное, двойное и другие типы нажатий
n3tmaniac
31.10.2023 08:23Подскажите, в чем смысл разных контуров для радиаторов, раздельного управления ими и управления по наружной температуре? Что мешает регулировать банальными термоголовками на радиаторе по температуре непосредственно в комнате?
smarthme30
31.10.2023 08:23+1Во время ремонта планы были огромные, но детального понимания и опыта как это должно работать не было, поэтому принял решение как мне казалось на тот момент сделать более гибкую схему. После холодного сезона пришло понимание что все работает и без контроллера. Вариант с термоголовками я держу в голове, и скорее всего остановлюсь на нём.
Teemon
31.10.2023 08:23Не могли бы дать конкретные заказные номера выключателей? Выключатели с возвратом (пружинные)?
smarthme30
31.10.2023 08:23+1Я остановился на производителе jung. Выключатель состит из рамки, кнопки и механизма. Рамок и кнопок огромное количество, разные серии и в рамках одной серии куча цветов, причем это все можно миксовать. С механизмами проще, на момент покупки мне прдлагали 2 варианта(возвратных), которые вниз нажимаются и которые вниз + вверх, но так как провода уже были заложены, пришлось покупать 1-ый вариант, хотя wb-dimmer судя из документации умеет работать и с 2-ым типом. Насчет пружинный или нет, я не знаю, но нажимается достаточно туго, поэтому скорее всего пружина есть. Артикулов сейчас нет под рукой, если найду, то напишу, но стоили очень дорого.
Teemon
31.10.2023 08:23Если стоили очень дорого, то можете номера заказа не искать???????? хотя выглядят конечно отменно. А дорого это сколько за механизм?ину и они возвратные, верно?
smarthme30
31.10.2023 08:23+1Да, я покупал возвратые, вот артикулы:
Механизм 1-клавишной кнопки без фиксации (Артикул 531U)
Рамка 1 кратная белая (Артикул LS981WW)
Клавиша белая (Артикул LS990WW)
garageman
31.10.2023 08:23"Лампы накаливания в гостиной" - так это ж светодиодные, "филаментные".
smarthme30
31.10.2023 08:23+1Нет, лампы с нитью накала 60w, греются очень сильно, покупал для теста, интересно было посмотреть как работет WB-MDM3 работает с такими лампами (60*3=180вт на канал). Но все понравилось и решил оставить.
dabrahabra
31.10.2023 08:23А как в HA завести домофон с камерой?
smarthme30
31.10.2023 08:23+2Однозначного ответа нет, надо смотреть какой видео сигнал, какая домофонная система.
maxizhur
31.10.2023 08:23Координатки без проблем в принципе заводятся, там видеосигнал обычный, аналоговый идёт, его цифруем и заводим в HA как видеокамеру, а голос наверное и не нужно. Его можно на телефон отправить, через адаптер SIP или оставить трубку. У меня Comelit IP, вот с ним я ничего не придумал, к сожалению.
maxizhur
31.10.2023 08:23+2Я тоже в своё время интегрировал диммеры WB в HA, только от интеграции отказался, так как периодически, при обновлении HA, приходилось править её. Написал небольшой скрипт, который дружит их по mqtt. Можно было проще, но мне хотелось именно поворотные сенсоры для диммера, поэтому получилось вот так:
https://github.com/mzhur/Wirenboard2MQTT_JSON
Может быть кому-то пригодится.
Код для Ардуино в сенсоре здесь:
https://github.com/mzhur/LightRotarySensor
А вообще очень классные железки, работает всё уже 3 года без каких-то проблем.
SmileyK
а для чего PI ? - на Вашем же контроллере можно так же установить вроде бы HA....
wofs
Всё так — в контроллере Wiren Board достаточно ресурсов для установки HA и любого другого стороннего софта. Но пользователи наших периферийных устройств иногда используют их без нашего контроллера и это хорошо, когда есть выбор.
Например, у наших партнёров есть интеграции на наших устройствах с контроллерами Loxone, Siemens Logo и другими, кто поддерживает Modbus. Причины могут быть разными: у кого-то они уже стоят на объекте и надо добавить новые функции, а кто-то привык с программированию определённого контроллера и не хочет что-то менять прямо сейчас.
С Pi та же ситуация — если человеку удобнее, почему нет? В случае с контроллером Wiren Board вы получаете и набор софта, который сводит настройку подключённых устройств к кликам мышкой в веб-интерфейсе, в случае с Pi люди получают конструктор, который интересно собирать и настраивать.
maxizhur
Я, в своё время, не стал контроллер родной покупать, так как уже роутер на x86 платформе работал, а раз уже есть достаточно мощная железка работающая 24\7 то и смысла тратить дополнительно деньги нет, тем более, что без сети, все умные фичи всё равно придут в негодность, ну по крайней мере у меня так :-). Поэтому блок питания, ssd с системой и mini-itx плата лежат в холодном резерве :-)
smarthme30
Железо я начал покупать в конце 2019 году. На тот момент не было чётких инструкуций как на контроллере WB подняь Home Assistant. Поэтому выбрал PI. Но так как PI 4-ый год рабоатет 24/7 без остановки я не вижу смысла переходить на другое железо