Ensystec-wiren-board-integration
Подключение Ensystec в XIOT через Wirenboard
Статья описывает подключение системы защиты от протечки Ensystec Leak Protect в проекте XIOT через контроллер Wiren Board. Материал основан на реальном объекте, где защита воды разделена на несколько независимых зон.
Щит защиты от протечки с 4 контроллерами Ensystec

На объекте установлен отдельный щит защиты от протечки с четырьмя контроллерами Ensystec Leak Protect. Каждый контроллер обслуживает свою зону воды и управляет своими кранами перекрытия.
| Контроллер | Маркировка в щите | Зона защиты | Логика перекрытия |
|---|---|---|---|
| 1 | Б-1 | Котельная и главный ввод воды | Перекрывает главный ввод воды при протечке в котельной, в месте ввода воды и в коллекторах водоснабжения. |
| 2 | Б-2 | Санузел и кухня цокольного этажа | Перекрывает воду локально в зоне санузла и кухни цокольного этажа. |
| 3 | Б-3 | Санузел 1 на первом этаже | Перекрывает воду локально в зоне первого санузла на первом этаже. |
| 4 | Б-4 | Санузел 2 на первом этаже и мастер-санузел на втором этаже | Перекрывает воду локально в зоне второго санузла на первом этаже и мастер-санузла на втором этаже. |
Такое разделение делает защиту более гибкой: при протечке или неисправности в одной зоне можно перекрыть только проблемный участок и не оставлять весь дом без воды на время ремонта или устранения аварии.
-
Общий вид щита защиты от протечки
-
Клеммная часть и кабельная коммутация
-
Подключение одного из контроллеров Ensystec
Подключение Ensystec в Wiren Board и изменение Modbus-адресов
Контроллеры Ensystec по умолчанию имеют Modbus-адрес 247. Если подключить к одной RS-485 линии несколько новых контроллеров с одинаковым адресом, Wiren Board не сможет корректно обращаться к ним по Modbus. Поэтому контроллеры подключаются и адресуются последовательно.
Порядок пусконаладки:
- Подключить к RS-485 линии только один контроллер Ensystec с заводским адресом
247. - Через SSH-консоль Wiren Board изменить его Modbus-адрес. Подробная команда приведена в статье Смена Modbus адреса Ensystec через консоль Wiren Board.
- Добавить следующий контроллер Ensystec с заводским адресом
247. - Назначить ему следующий свободный адрес.
- Повторить процедуру для всех контроллеров.
На объекте использованы адреса 11, 12, 13 и 14.
| Адрес Modbus | Контроллер | Название в Wiren Board | Зона |
|---|---|---|---|
11 |
Б-1 | Котельная ввод воды | Котельная, главный ввод воды и коллекторы водоснабжения |
12 |
Б-2 | Санузел и кухня цоколь | Санузел и кухня цокольного этажа |
13 |
Б-3 | Санузел 1 | Санузел 1 на первом этаже |
14 |
Б-4 | Санузел 2 и мастер-санузел | Санузел 2 на первом этаже и мастер-санузел на втором этаже |
Кастомный шаблон Wiren Board для XIOT
Для интеграции Ensystec с XIOT используется кастомный шаблон Wiren Board: Шаблон Wiren Board Ensystec Leak Protect для XIOT. Шаблон нужен как слой согласования между регистрами Ensystec, MQTT-топиками Wiren Board и характеристиками XIOT.
Файл шаблона для скачивания:
Config-ensystec.xiot-final.json
Скачать файл: Config-ensystec.xiot-final.json
Штатный шаблон Wiren Board показывает основные состояния устройства и умеет отправлять низкоуровневые команды. Для XIOT нужны раздельные теги состояния и управления, чтобы не привязывать характеристики напрямую к битовым командам Ensystec.
Кастомный шаблон оставляет штатные контролы Ensystec, но добавляет пары «статус + управление» для XIOT:
| Назначение в XIOT | Тег состояния | Тег управления |
|---|---|---|
| Флаг протечки | /wb/ensystec_leak_protect_XX/leakage_sensor |
/wb/ensystec_leak_protect_XX/leakage_sensor_control
|
| Защита от протечки | /wb/ensystec_leak_protect_XX/leak_protection_enabled |
/wb/ensystec_leak_protect_XX/leak_protection_control
|
| Кран N | /wb/ensystec_leak_protect_XX/output_kN_status_switch |
/wb/ensystec_leak_protect_XX/output_kN
|
В названиях топиков XX нужно заменить на Modbus-адрес контроллера Ensystec.
Перед добавлением контроллеров Ensystec в веб-интерфейсе Wiren Board установите кастомный шаблон в пользовательскую директорию шаблонов:
/etc/wb-mqtt-serial.conf.d/templates/config-ensystec.json
Общая инструкция вынесена в отдельную статью: Пользовательские шаблоны устройств Wiren Board.
После назначения адресов контроллеры добавляются в веб-интерфейсе Wiren Board: Устройства → нужный порт RS-485 → Добавить любые устройства вручную. В списке выбирается шаблон Ensystec - защита от протечки, затем указывается адрес устройства и понятное название зоны.

В этом проекте все четыре контроллера добавлены на порт RS485-2 с адресами 11, 12, 13 и 14. Для первого контроллера указано название Котельная ввод воды.
После сохранения настроек в Wiren Board контроллер появляется отдельной карточкой устройства. В карточке видны статусы внешнего питания, заряда, протечки, обрыва датчика, входов, кранов и версии контроллера.

Для локальных зон используется по три крана:
- холодная вода;
- горячая вода;
- циркуляция горячей воды с полотенцесушителем.
Для главного ввода установлен один кран на холодную воду. Горячая вода подготавливается в котельной через бойлер косвенного нагрева; при перекрытии холодной воды давление на контуре горячего водоснабжения также пропадает.
Получение MQTT-топиков из Wiren Board в XIOT
После добавления контроллеров Ensystec в веб-интерфейсе Wiren Board их MQTT-топики нужно загрузить в XIOT-EDITOR. Через эти топики XIOT получает состояния физических устройств и дальше связывает их с виртуальными устройствами проекта.
В XIOT-EDITOR откройте раздел Драйверы и выберите драйвер WirenBoard. Если XIOT-PLC установлен на том же контроллере Wiren Board, используются параметры:
| Параметр | Значение |
|---|---|
| IP | localhost
|
| Порт MQTT | 1883
|
| Логин и пароль | не заполняются, если MQTT-брокер Wiren Board работает без авторизации |
Включите драйвер и нажмите Получить топики. Во время загрузки отображается процесс опроса MQTT-структуры Wiren Board.

После успешного подключения в правой части панели появляется статус Подключен, а ниже отображается список полученных устройств и групп.

Для этого проекта из Wiren Board получены зоны Ensystec:
- Котельная ввод воды;
- Цоколь - санузел;
- 1 этаж - санузел 1;
- 1 этаж санузел 2 + 2 этаж мастер санузел.

При раскрытии зоны видны отдельные MQTT-топики контроллера Ensystec. Например, для зоны 1 этаж - санузел 1 доступны топики внешнего питания, низкого заряда, протечки, обрыва датчика и входов контроллера.

Примеры топиков:
/wb/ensystec_leak_protect_13/external_power_220_ac /wb/ensystec_leak_protect_13/low_battery_voltage /wb/ensystec_leak_protect_13/leakage_sensor /wb/ensystec_leak_protect_13/failure_sensor /wb/ensystec_leak_protect_13/input_1 /wb/ensystec_leak_protect_13/input_2
На этом этапе важно получить полный список топиков от Wiren Board и убедиться, что нужные зоны Ensystec присутствуют в XIOT. Привязка этих топиков к виртуальным устройствам XIOT выполняется следующим этапом.