Wirenboard как проводное решение УД с мостом MQTT в Home Assistant.
У меня до сих пор есть утопичная идея - собрать наиболее надежный+простой в настройке умный дом. На себе уже и части клиентов испытал разные подходы, включая беспроводные решения - например на акаре и прочих zigbee устройствах. Я считаю такой подход максимально правильным и удобным - как в настройке, так и в эксплуатации. Понятное дело что все на серваке + Home Assistant, минимум wifi решений в управлении светом, отоплением, розетками. В принципе, если есть уже готовый ремонт + внешний вид готовых выключателей на Zigbee устраивает - то это лучшее на мой взгляд решение. Масштабирование в условиях zigbee сетей очень простое, менять что-то вообще супер легко и быстро - диван подвинул = выключатель “переклеил”.
Казалось бы, вот выходит уже 17 айфоний, беспроводные технологии бороздят просторы вселенной … а когда дело заходит про выключатели и дом то тут сразу активируется консерватизм. ¯\(ツ)/¯ Беспроводная зарядка и машина на автопилоте это норм, а розетки по радио это стрем. Есть даже видео где пытаются в течении секунды вкл/выкл такие выключатели и говорят - ну вот, задержка включения. И мой любимый вопрос - а что если не будет света? Вот ответ
https://youtu.be/u2_GcUmCLbg?si=KgQtphsZKEm7qb-F
Ок, если нужен провод, то мне нужно было найти стабильное и главное удобное решение. К Wirenboard я гонял на выставку, а потом и к ним на производство - мне их подход к делу понравился. Мне было не понятно, почему их котроллер такой дорогой и такой откровенно слабый по железу. Еще и технология из 80х прошлого века (Modbus) с подходом клиент-сервер. Ну ладно. Я запросил на тест оборудование и решил проверить насколько все удобно. Никто не выдавал оборудование со словами = о нас только хорошее или гони деньги. Просто выдали на тест что запросил.
Я уже частично подключал их оборудование напрямую через Home Assistant или через ESPhome - в качестве развлекухи пойдет, ну или если таких устройств совсем немного. Возился прилично, подбирая правильную конфигурацию через esphome и не всегда идиально. Для датчиков пойдет, а вот с диммером так и не добил нормальный отклик. https://teletype.in/@godisblind/TOPdtfzTfpu
Я тестировал контроллер + модули в течении недели, кнопка Вернуть к заводским настройкам - была всегда под рукой. Не то что бы ломал, просто всегда новые решения накатывать на чистую систему. Очень хорошо что можно скинуть в 0 и заново все установить. Только нужно чистить куки) Я пробовал разные интеграции и подходы.
Самое важное для меня это работа оборудования с Home Assistant - это обязательно. Поэтому все тестирование крутилось вокруг НА, контроллер я рассматривал как дополнительный MQTT сервер для устройств Modbus, а так же проверил как развернуть полноценный сервер с ХА. https://teletype.in/@godisblind/F-3V9VCngZd
Забегая вперед, я для себя выбрал использовать контроллеры как отдельный сервер для умных проводных устройств совместимых с WB. Сторонние модбас устройства которые не поддерживаются через WB я лучше подключу через ESP home и модули вроде Kincony. Для кастомных решений точно буду брать Esphome, так как можно городить любую сложность. А вот счетчик электричества можно взять и от WB, диммеры и датчики температуры точно от WB.
Тест у меня будет в форме подключения от “голой системы” до готового Home Assistant сервера с Zigbee устройствами. Настрою устройства под использования, без глубинного разбора = главное что бы работало. Прокину все на тестовый сервер, а потом уже будет установка НА на сам WB контроллер + esphome и прочее для полноценного сервера. Все пойдет по порядку.
Многие установки после НННого количества установок я перегнал в скрипты и сделал отдельный репозиторий - https://github.com/smirnowegor/ESP-WB описание readme в процессе.
Железо
Wiren Board 8.5 https://wirenboard.com/ru/product/wiren-board-8/ + модуль расширения zigbee WBE2R-R-ZIGBEE v.2 + антенна https://wirenboard.com/ru/product/WBE2R-R-ZIGBEE-v2/
Диммер с Modbus RTU WB-MDM3 https://wirenboard.com/ru/product/WB-MDM3/ есть у меня адаптация для ESPhome https://github.com/smirnowegor/ESP-WB/blob/main/WB-MDM3 и статья по настройке через EspHome https://teletype.in/@godisblind/TOPdtfzTfpu
Ссылка на диммер в моей базе https://smart4you.notion.site/WB-MDM3-24e8751588a580348563e51549561444?pvs=74
WB-MAP12E Для технического учёта по четырём трёхфазным нагрузкам
Учет по четырём трёхфазным нагрузкам WB

Ссылка на актуальную БД https://smart4you.notion.site/WB-26c8751588a58045870ddf01ff09844d?pvs=74
Настенный комбинированный датчик WB-MSW-ZIGBEE v.4 с полным набором сенсоров Температура, влажность, освещённость, шум, уровень CO2 и VOC, движение, ИК-передатчик. https://teletype.in/@godisblind/K7Z0QBQ-vHo
Примерно такой же датчик без ZIgbee и проще набор - температура и влажность.
https://teletype.in/@godisblind/YysSEBdCzDL
Датчик 1-wire просто для теста.
Бонусм подключение реле стороннего и счетчик Меркурий 230 (он есть в базе интеграций WB) https://wiki.wirenboard.com/wiki/Mercury_230
Вот прям понравилось (что важно для меня). Общее
ВСЕ ПОДПИСАНО!!! Есть интрукции и даже наклейки для линий счетчика) Это очень удобно. Хорошая документация https://wiki.wirenboard.com/wiki/Wiren_Board_8.5
Большая база подключаемых устройств, свои устройства вообще автоопределяются. Так я нашел модуль для своего счетчика https://wiki.wirenboard.com/wiki/Supported_devices В принципе, если планировать проект и в нем будет такое оборудование из списка - то время настройки сильно сокращается, по сравнению с написанием на Esphome.
Там и моя вент система есть, правда для пробы нужно подключить по Modbus RTU и для этого нужно подобраться кабелем. Как будет время я попробую напрямую покдлючить к своей вентиляции, но то что есть адаптация уже круто.
Старый добрый и хорошо знакомый Debian 11. Так как много возился с Supervised версией Home Assistant то уже и привык к нему. Все “интеграции” уже предустановлены и легно обновить через sudo apt update. Mqtt брокер тоже предустановлен и настроен. Свой репозиторий для zigbee2mqtt.
Офигенно что в контроллере выходы под 2 шины rs-485 и сразу в них удобно можно забрать питание. Его можно отключить при необходимости через интерфейс WB. 2 шины значит больше можно подключить устройств или устройства с другими настройками скорости.
Для тренировки тоже подходит, можно в любой момент сбросить до заводских и вернуть последнюю прошивку.
Может и ерунда, но крепление на din рейку удобно … а то мне приходится крепить orange pi как получится на стяжках где-то в щитке.
Не очень понравилось
Размер хранения rootfs который 2 гб. Я не сразу обнаружил проблему забитого рута, но когда уже прогонял компиляцю esphome сразу стало ясно (большими красными буквами). В чем проблема - что нужно адаптировать контенеры и все что ставишь на контроллер на большой раздел, так как по дефолту все ставится в рут. Я чуть помучился и собрал для себя скрипты и удобные образы под Portainer что б не мучиться.
Вот размер забитый roofts … хотя я старался все перенести в большой раздел.
Вот мой сервер тестовый на Арбиан и его “скромный” запас
Стоимость котроллера и датчиков - не скажу что большая, но когда смотрю что могу взять мощный orange pi 5 plus на гигов 32 оперативы с ускорителем для Frigate то становится как то неуютно. Однако, расположение на дин рейке и встроенные модули, да и сама начинка контроллера в купе с документацией и большим трудом по разному оборудованию стоит своих денег.
Слабая поддержка сторонних систем, например Home Assistant. Черт ногшу смомит в разных репозиториях и адаптациях к WB под HA, но я нашел вроде как официальны. Мне бы WB Engine сделать бы более удобным и добавить бы функций какие параметры отправлять. Я столкнулся с тем что некоторые параметры от диммера нельзя передать в HA. Может я чего не нашел как настроить.
Что хотелось бы попробовать
Работу с KNX, но под рукой не было оборудования - может в дальнейшем. Много обращений от клиентов со старыми система ушедших из России knx производителей.
Предварительная настройка и связь со сторонним Home Assistant через MQTT
Тут настроим сам контроллер, обновим и добавим устройства. Потом все это прокинем в Home Assistant на другой машине. Идея такая - сделать WB контроллер чисто под управление умными устройствами, а HA уже как главный хаб управления. Так мы можем не сильно напрягать контроллер WB и повысить стабильность умного дома.
Zigbee2mqtt тоже установим и направим на другую машину, так как штатный способ передавать устроства от WB контроллера в HA немного так сказать неудобный. Через такой способ будем передавать устройства работающие по modbus.
Особенности подключения и настройки тут WirenBoard 8 контроллер
Многие вещи взял из оф инструкции https://wiki.wirenboard.com/wiki/Wiren_Board_8.5
Первое подключение
Оба Ethernet порта контроллера настроены на получение IP-адреса по DHCP, поэтому вам понадобится роутер с настроенной раздачей IP-адресов — обычно это любые роутеры, стоящие в квартире или офисе:
- Возьмите патчкорд с коннекторами RJ-45 и установите его одной стороной в свободный порт роутера, а другой в один из портов контроллера.
- Зайдите в настройки вашего роутера и посмотрите, какой IP-адрес он выдал контроллеру. Другие способы узнать IP-адрес.
- Откройте на компьютере, подключённому к тому же роутеру, что и контроллер, веб-браузер и введите IP-адрес из предыдущего пункта.
Очень важно поменять права доступа.
Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе Настройки → Права доступа. Без этого ничего дальше настроить не получится.
Обновим прошивку
Прошивку через веб-интерфейс удобно использовать, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО. Способ подходит для обновления внутри веток stable или testing, а также для перехода со stable на testing.
При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data
, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.
Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board
Вам понадобится fit-файл прошивки для вашей версии контроллера:
Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: Настройки → Система При загрузке прошивки через веб-интерфейс имя файла не имеет значения.
У нас такой экран в устройствах, 1 wire нашелся автоматически и уже показывает данные.
Дополнительное обновление через командную строку
Вход через ssh для доступа к командной строке подключитесь к контроллеру по протоколу SSH или через отладочный порт. Включение прав администратора Логин и пароль по умолчанию root/wirenboard.
sudo apt update && apt upgrade -y
Установи правильный часовой пояс, чтобы логи и расписания работали корректно.
dpkg-reconfigure tzdata
Следуй инструкциям на экране. Тебе нужно будет выбрать Europe
, а затем Moscow
(или другой подходящий для тебя часовой пояс).
Установить VS code для удобства
Не обязательно, но очень удобно в дальнейшем работать с файлами и конфигурациями. Скрипт адаптирован под перенос на большую память что бы не забивать rootfs.
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/smirnowegor/HA_Container/main/vscodeoneclick.sh)"
После установки нам предложат адрес и переходим по предложенному адресу. Открываем папку через “/” и будет доступна вся система.
Установка происходит на /mnt/data и не забивает rootfs
============================================== root@wirenboard-A4DURUYC:~# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/root ext4 2.0G 747M 1.1G 41% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 4.0K 2.0G 1% /dev/shm tmpfs tmpfs 787M 1.3M 786M 1% /run tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/mmcblk0p6 ext4 55G 1.1G 51G 2% /mnt/data tmpfs tmpfs 394M 0 394M 0% /run/user/0 root@wirenboard-A4DURUYC:~# lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT mmcblk0 ├─mmcblk0p1 ├─mmcblk0p2 ext4 1.0 rootfs1 53108673-ae75-4681-8b39-5780e6a8e8ce 1.1G 38% / ├─mmcblk0p3 ext4 1.0 rootfs2 1230e5bc-0fa4-4d87-b7b0-f088703ebeef ├─mmcblk0p4 ├─mmcblk0p5 swap 1 c6489b97-e46e-446e-8738-9428774a380b [SWAP] └─mmcblk0p6 ext4 1.0 data 20e1d3ce-b157-4346-9f2e-4194196129ea 50.9G 2% /mnt/data mmcblk0boot0 mmcblk0boot1
Найдем и подключим устройства
Подготовим и проверим оборудование.
Настройки - Конфигурационные файлы - Настройка драйвера Serial-устройств
Тут можем найти все устройства автоматически, ну почти все… счетчик сторонний сам не нашелся.
Счетчик можно добавить из шаблонов
Все устройства прокинулись, их нужно предварительно настроить. Это нужно сделать до того как полетят в Home Assistant. Я настрою в отдельных статьях
Немого про фейл, у меня скакнуло электричество во время обновления и пришлось восстанавливать прошивку датчика https://wiki.wirenboard.com/wiki/Wb-mcu-fw-updater#Восстановление_(recover) . Я подумал что хана датчику, но нет, он восстановился.
Обновление устройств идет по воздуху, что отлично
Установка Wb-Engine для публикации в Home Assistant и настройка моста mqtt брокеров.
Установка Wb-Engine на WB.
Wb-Engine устанавливается на сам контроллер WB и “отправляет” выбранные сущности в броке с автоопределением для Home Assistant. Кто его потом заберт - свой локальный HA или через мост на другой брокер mqtt в другой HA не так важно.
Установка и настройка wb-engine
на Wiren Board
- Подключись по SSH к устройству WB.
- Установи
wb-engine
, чтобы автоматически создать виртуальные устройства и экспортировать их в Home Assistant:
wget https://github.com/4mr/wb-engine/releases/latest/download/wb-engine_arm64.deb dpkg -i wb-engine_arm64.deb rm wb-engine_arm64.deb
Мост из Home Assistant mosquitto брокера в WB
Теперь можно прокинуть в Home Assistant устройства от WB. На этом шаге будем перекидывать информацию c WB на сервер на другой машине, вернее забирать с другого сервера.
Внимание! По дефолту при установке моста устройства от Wb перелетают на сервер HA, но и с сервера HA перетают на WB. Можно включить только от WB но тогда HA не сможет переключать выключатели так как связь односторонняя.
Вот тут прям насыпало от моего домашнего сервера.
В принципе, если использовать двухстороннюю связь при учете работы WB как Modbus и Zigbee2mqtt сервер - то все будет нормально. TBD найти более практичный способ связи что бы не грузить WB лишними сущностями.
Мост для Home Assistant container
ПОСЛЕ НАСТРОЙКИ ИЛИ ВНЕСЕНИЯ ПРАВОК - нужно перезагружать Mosquitto
С контейнерной версии Home Assistant все очень просто, находим наш mosquitto конфиг и добавляем мост. Можно сделать через VS Code редактор. Нужно сделать что бы один HA смотрел на WB контроллер. 192.168.2.39:1883 - это мой WB
Для этого добавляем мост и рестартим контейнер.
# --- ваши текущие настройки --- persistence true persistence_location /mosquitto/data/ log_dest file /mosquitto/log/mosquitto.log allow_anonymous true listener 1883 protocol mqtt listener 9001 protocol websockets # --- начало настроек моста (двухсторонняя связь) --- connection ha_to_wb address 192.168.2.39:1883 # client id'ы (уникальные) local_clientid local.ha-wb-bridge remote_clientid ha-wb-bridge-192168239 # сессии и совместимость cleansession false try_private false bridge_protocol_version mqttv311 start_type automatic keepalive_interval 60 # если требуется аутентификация на удалённом брокере #remote_username your_wb_username #remote_password your_wb_password # пересылаем всё в обе стороны topic # both 0 "" "" # # пересылаем из локального брокера на удалённый (out) # topic # out 0 "" "" # # пересылаем из удалённого брокера в локальный (in) # topic # in 0 "" ""
В HA добавляем свой сервер, а мост автоматически покдлючится
Мост в Home Assistant Operating System
В Home Assistant OS чуть проблемнее, но все же. Я использую File Editor и снимаю ограничения на папки - снимаем галку Enforce Basepath (If set to true
, access is limited to files within the /config
directory.)
В аддоне Mosquitto активировать возможность кастомной конфигурации в UI Home Assistant:
customize: active: true folder: mosquitto
Это позволит Mosquitto читать конфигурационные файлы из папки /share/mosquitto/
. (Home Assistant Community)
Создать папку mosquitto
в директории share
(она общедоступна для аддонов). Например:
/share/mosquitto/
В этой папке создать файл конфигурации моста, например mosquitto_bridge.conf
. В него поместить настройки bridge:
# --- bridge to WB --- connection ha_to_wb address 192.168.2.39:1883 #адрес WB # уникальные id (убираем шанс на конфликт) local_clientid local.ha-wb-bridge remote_clientid ha-wb-bridge-192168210 # старт сразу и автоматически start_type automatic # session: сохраняем (чтобы не терять подписки) cleansession false # не использовать mosquitto private bridge extension (совместимость с другими брокерами) try_private false # выставить явную версию MQTT (mqttv311 обычно рабочая) bridge_protocol_version mqttv311 # keepalive — не слишком маленький keepalive_interval 60 # уведомления от моста (необязательно) — отключим, чтобы убрать лишние сообщения notifications false # если требуется аутентификация на удалённом брокере #remote_username your_wb_username #remote_password your_wb_password # --- выбери один вариант и раскомментируй --- # пересылаем всё в обе стороны topic # both 0 "" "" # пересылаем из локального брокера на удалённый (HA → WB) # topic # out 0 "" "" # пересылаем из удалённого брокера в локальный (WB → HA) # topic # in 0 "" "" # --- конец блока ---
Убедиться, что основной mosquitto.conf
(тот, который стартует брокер в аддоне) включает в себя директиву подключения каталога include_dir
на папку /share/mosquitto
. Обычно аддон сам содержит строку вроде:
include_dir /share/mosquitto
Если настроен customize: active: true
, должно быть активировано. (Home Assistant Community)
Перезапустить аддон Mosquitto Broker через UI/Ha OS. После перезагрузки в логах брокера должна быть информация, что мост установился: Bridge connecting…
, подписка и т.д. (Home Assistant Community)
Вот подключился мост и это видно в логах.
Возвращаемся в WB и переходим в конфиги WB Engine Configuration. Выбираем какие сущности хотим иметь в HA и отправляем туда. Немного неудобно по одному добавлять, но как есть. При добавлении нажимаем запись и сразу появляется в HA, не надо перезагружать брокера или сам HA.
Сразу появился на HA Container
Установка Zigbee2mqtt на WB и трансляция на серверы HA.
У меня стоит модуль с zigbee, в слоте 1.
Его нужно сначала включить в настройках
Находится в конфигурационных файлах в Модули расширения и порты. После записи модуль сразу становится активным, но я бы на всякий случай перезагрузил бы систему.
Дальше через терминал запустить мой скрипт, который сам найдет нужный модуль и заполнит конфигурацию. Дополнительно установит wb-zigbee2mqtt/ Следим за установкой, потому что будут вопросы для подтвержения и выбора.
bash <(curl -L https://raw.githubusercontent.com/smirnowegor/ESP-WB/refs/heads/main/fastZ2MWB.sh)
После успешной установки видим
[INFO] Сервис Zigbee2MQTT успешно запущен! ✅ --------------------------------------------------------- Веб-интерфейс: <http://192.168.2.39:8080> MQTT сервер: mqtt://localhost Конфиг: /mnt/data/root/zigbee2mqtt/data/configuration.yaml --------------------------------------------------------- [INFO] Проверка места на rootfs: Filesystem Size Used Avail Use% Mounted on /dev/root 2.0G 931M 897M 51% /
У нас все установлено. Теперь добавляя устройства через интерфейс они сразу окажутся в наших двух серверах HA на которых настроили мост.
Можно конечно сразу настроить на отправку на нужный сервер в конфигурации zigbee2mqtt, но пусть лучше обработкой будет заниматься WB. Логику и автоматизации и прочее грузанем на другой сервер. Если вдруг нужно то конфиг у zigbee2mqtt будет такой:
homeassistant: enabled: true mqtt: base_topic: zigbee2mqtt server: mqtt://192.168.2.17:1883 #указываем наш брокер на другой машине serial: port: /dev/ttyMOD1 adapter: zstack rtscts: false advanced: last_seen: epoch pan_id: GENERATE ext_pan_id: GENERATE network_key: GENERATE frontend: enabled: true port: 8080 host: 0.0.0.0 permit_join: true version: 4
После первой загрузки и добавлении устройств конфигурация zigbee2mqtt поменяется. Менять ее уже будет нельзя иначе устройства пропадут. Это касается вот этой части:
pan_id: GENERATE ext_pan_id: GENERATE network_key: GENERATE
Он превратится в примерно конфигурацию. Сама конфигурация находится по адресу - root/zigbee2mqtt/data/configuration.yaml
homeassistant: enabled: true mqtt: base_topic: zigbee2mqtt server: mqtt://localhost serial: port: /dev/ttyMOD1 adapter: zstack rtscts: false advanced: last_seen: epoch pan_id: 5200 ext_pan_id: - 62 - 213 - 22 - 170 - 206 - 8 - 81 - 735 network_key: - 172 - 14 - 180 - 215 - 103 - 76 - 197 - 1 - 183 - 5 - 36 - 144 - 68 - 23 - 120 - 10 frontend: enabled: true port: 8080 host: 0.0.0.0 permit_join: true version: 4 devices: '0x00158d00022ab350': friendly_name: Я прямо на WB '0xf84477fffe19e3f4': friendly_name: WB Комбинированный датчик
Прикольно, при добавлении новых устройст в Z2m они прокидываюются в карточки и получается в систему на wb … вот только это розетка и я не вижу переключателя вкл/выкл.
Итого
Мне понравился контроллер и я по возможности буду его использовать, особенно при заказах на проводные умные дома. В остальных случаях мне проще использовать Orange Pi под контейнер, а Raspberry Pi под HAOS.
Настройка полноценного сервера Home Assistant Container на WB
https://teletype.in/@godisblind/F-3V9VCngZd
Способ 1 Поддержать автора
Способ 2 https://donate.stream/yoomoney410013774736621
Способ 3 телеграм https://t.me/tribute/app?startapp=dvHM
или через криптокошелёк (Только USDT) TCHekdJZFndXpDrHZGuTmqFNcqhWBTTzPr
Связаться со мной. (Консультации, проектирование и обучение)
Новый подход к электрике и дизайну помещений. Некоторые провода уже не нужно тянуть, какие-то решения можно принять после ремонта. Перенести выключатель, запустить кондиционер с телефона - возможно автоматизировать любую рутину.
Мой телеграм канал, там все быстрее обновляется телеграм.
Сайт smart4home.ru и альтернативный Умный дом на любом этапе
Соц сети: RuTube канал Удобный дом / You Tube канал Удобный дом Яндекс Дзен: Удобный дом / InGram
Платформы специалистов: Авито / Профи.ру / Яндекс Услуги https://uslugi.yandex.ru/profile/EgorSmirnov-2294380?from=telek