KNX Module for WB6 (WBE2-I-KNX)
Pinout
Terminal | Function |
---|---|
O1 (Red) | KNX (+) |
O2 (n/a) | n/a |
O3 (Gray) | KNX (-) |
Configuration
You need to set the module type in the web interface, sectionConfigs => Hardware Modules Configuration: for Internal slot 1 (MOD1) or for Internal slot 2 (MOD2) depending on the KNX module position.
Working via iRidium Server
Download the latest version of the installation of a deb package signed the iRidium server for Raspbian Jessie with the PIXEL 0 and WB (gen 6) here iRidium Pro downloads
copy the file to the controller (detailed description of how to copy files to the controller) and install it by running the command
dpkg -i iridiumserver_1.3.0-15590_RPI.deb
Go to the iRidium Server web interface via the link your_wirenboard_address:8888 and log in to the server.
Next, when you create the project, add the KNX Serial (UMC) driver and configure it as shown below
use /dev/ttyMOD2 if the module is installed in the second extension slot
Working via MQTT
Go to the console and install the packages wb-mqtt-knx (MQTT KNX Bridge), knxd, knxd-tools:
apt-get update
apt-get install knxd knxd-tools wb-mqtt-knx
After installation, you must edit the file /etc/default/knxd:
Replace the line:
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:" with:
DAEMON_ARGS="-d /var/log/knxd.log -t 0xffe -f 9 -e 1.2.255 -E 1.1.10:30 -u /var/run/knx -i -b ncn5120:/dev/ttyMOD1 -D -T -R -S"
На WB6, с новой версией прошивки для корректного запуска knxd необходимо исправить 2 файла:
/etc/knxd.conf - вторую строчку заменить на: KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyMOD1 -D -T -R -S"
/lib/systemd/system/knxd.service - Закоментить User и Group (поставить перед ними решетки, как показано ниже) , либо удалить эти строки:
- User=knxd
- Group=knxd
после этого следует перезагрузить контроллер и всё должно заработать
Расшифровка ключей:
Ключ | Функция |
---|---|
-d /var/log/knxd.log | уйти в фон и писать в лог. |
-e 1.1.255 | назначает KNX-адрес knxd равным 1.1.255, как IP-шлюзу. |
-E 1.1.10:30 | указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне 1.1.10..1.1.30 |
-u /var/run/knx | открываем локальный Unix-сокет |
-t 0xffe | задаём маску вывода отладочных сообщений. |
-f 9 | задать макс. verbosity level |
-i | указываем слушать TCP-порт (по умолчанию 6720). Можно прописывать -i 6721 или другой порт. Не исключающая альтернатива -u |
-b ncn5120:/dev/ttyMOD1 | активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyMOD2) |
-T -R | активируем режим шлюза, туннеля (нужно для работы с ETS) |
-D | говорит knxd оповещать о себе (Discovery) в сети |
-S | запускаем сервер (который отвечает на мультикасты) |
Подробнее:
knxd --help
Работа
Для запуска KNX daemon, необходимо прописать строку в консоль: service knxd start
При необходимости перезапуска: service knxd restart
Для проверки статуса: service knxd status
Все логи хранятся в файле /var/log/knxd.log
При получении сообщения от KNX устройства данные публикуются в MQTT топик /devices/knx/controls/data на WirenBoard.
Для управления устройствами KNX необходимо отправлять команды в MQTT топик /devices/knx/controls/data/on .
Пример команды:
mosquitto_pub -h 192.168.0.10 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01"
Где:
-h 192.168.0.10 - IP-адрес контроллера с KNX
-p 1883 - порт MQTT
-t /devices/knx/controls/data/on - MQTT топик для выгрузки информации
-m "g:0/0/1 GroupValueWrite 0x01" - сообщение для KNX устройства
Подробнее о работе с данными KNX: wb-mqtt-knx (MQTT KNX Bridge)
Скрипт для wb-rules упрощающий обработку телеграмм: knx_group_addresses.js
При работе с ETS Важно: в “interfaces” ETS надо выбирать сам интерфейс ПК, через который происходит общение. Обращение с knxd в по юникасту (ip-адресу хоста с демоном) не даёт запрограммировать устройства. На иллюстрации стрелкой отмечено, какой способ взаимодействия с ETS работает:
Так же если вы пользователь Windows 8, 10 советуем отключить антивирусы и брандмауэр, так как они могут мешать работе ETS.