Wirenboard 7 + KNX: MQTT Broker to KNX Group Address Bridge Setup
Wirenboard 7 (Wirenboard LLC, Moscow, sold throughout Europe) is a Linux-based DIN-rail automation controller with built-in Modbus RTU (RS-485), 1-Wire, and digital/analog I/O. The WB-7 runs an MQTT broker (Mosquitto) and publishes all sensor readings as MQTT topics — making it an ideal aggregation hub for sensor-heavy installations. KNX integration is achieved by bridging the Wirenboard MQTT topics to KNX group addresses using the Python xknx library running on the WB-7 or on a companion Raspberry Pi/NUC on the same LAN.
Wirenboard 7 hardware capabilities
The WB-7 DIN-rail controller (4 DIN modules wide) provides: 2-core RS-485 (for Modbus RTU sensors and actuators), 1-Wire bus (Dallas DS18B20 temperature sensors, tree topology), 4× digital inputs (dry contact, 12V DC), 2× digital outputs (relay 1A, for small loads), 4× analog outputs (0-10V, for LED dimmers, Belimo valve actuators), Ethernet RJ45, optional GSM/LTE module. The Wirenboard ecosystem includes: WB-M2W2 weather station (temperature, humidity, CO2, lux on Modbus RTU), WB-MAO (8-channel 0-10V analog output), WB-MDM3 (3-phase energy meter, Modbus RTU). All Wirenboard devices auto-publish to MQTT topics: /devices/wb-m2w2_23/controls/Temperature = 21.4 (Celsius as string).
xknx Python library for KNX integration
xknx is the standard Python library for KNX integration used in Home Assistant's KNX component. Installed on the WB-7 (Debian Buster/Bullseye): pip3 install xknx. Connecting to KNX: xknx uses KNXnet/IP tunnelling (connect to KNX IP router on LAN) or KNXnet/IP routing (multicast). Script structure: import asyncio from xknx import XKNX. xknx = XKNX(gateway_ip='192.168.1.50', gateway_port=3671). async def send_temperature(temp_celsius): light = Sensor(xknx, 'Room Temp', group_address='3/2/5', value_type='temperature'). await light.set(temp_celsius). asyncio.run(send_temperature(21.4)). For continuous operation: run as systemd service on WB-7, subscribing to MQTT and sending to KNX on each MQTT message change exceeding threshold.
MQTT-to-KNX bridge script
Complete bridge pattern: subscribe to Wirenboard MQTT topics, filter by value change threshold, send to corresponding KNX group addresses. Python script (mqtt_knx_bridge.py): connect to Mosquitto on localhost (127.0.0.1:1883), subscribe to /devices/+/controls/+. On message: parse topic path to extract device and control names, look up KNX group address in config dictionary (wb_to_knx_map = { '/devices/wb-m2w2_23/controls/Temperature': {'ga': '3/2/5', 'dpt': 'temperature'}, '/devices/wb-m2w2_23/controls/CO2': {'ga': '3/2/6', 'dpt': 'ppm'} }). Check if value has changed by more than deadband (0.3°C for temperature, 50ppm for CO2). If yes: create xknx Sensor with appropriate DPT, call .set(value), await send.
Modbus sensor integration example
Temperature/humidity from Modbus RTU sensor (e.g. WB-M2W2 connected to WB-7 RS-485): Wirenboard automatically reads Modbus registers and publishes to MQTT every 5 seconds. No custom Modbus polling required. KNX panel wiring: WB-7 DIN-rail → RS-485 terminal to each Modbus sensor in 2-wire bus topology. Termination: 120-ohm resistor at far end. Up to 32 devices at 9600 baud, 1200m max. 1-Wire DS18B20 temperature sensors: WB-7 scans automatically, publishes to /devices/bus1/controls/28-xxxxxxxxxxxx. xknx bridge maps each DS18B20 address to a KNX GA for individual room temperature monitoring.
KNX to Wirenboard direction (write)
Writing from KNX to Wirenboard outputs: xknx GroupAddressLabel listener — define callback for incoming KNX telegrams on specific group addresses. On telegram received: publish MQTT message to Wirenboard control topic. Example: KNX GA 4/1/0 (DPT 5.001, 0-100% dimming) → WB-7 /devices/wb-mao_14/controls/Channel1/on (value 0.0-10.0V proportionally). This enables KNX room controller (Gira 2096 or MDT SCN-RT55) to control Wirenboard 0-10V analog outputs that drive Belimo actuators on fan coil units or LED drivers without a native KNX-DALI gateway.
Need help with your KNX or DALI project?
Our certified engineers can discuss panel design, commissioning, integrations and project-specific edge cases. Free initial consultation.
Contact our engineers →