Модуль расширения KNX (WBE-I-KNX): различия между версиями

Материал из Wiren Board
Строка 170: Строка 170:


<!--T:35-->
<!--T:35-->
Подробнее о работе с данными KNX: [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)]
Подробнее о работе с данными KNX: [[MQTT_KNX_Bridge | wb-mqtt-knx (MQTT KNX Bridge)]]




<!--T:8-->
<!--T:8-->
Скрипт для [https://contactless.ru/wiki/index.php/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB_wb-rules wb-rules] упрощающий обработку телеграмм: [https://gist.github.com/Yanni66/bc7604bb8646d52c9c864b4ca40c63b6 knx_group_addresses.js]
Скрипт для [[Движок правил wb-rules | wb-rules]] упрощающий обработку телеграмм: [https://gist.github.com/Yanni66/bc7604bb8646d52c9c864b4ca40c63b6 knx_group_addresses.js]





Версия 14:06, 4 мая 2020

Другие языки:


Распиновка

Модуль расширения KNX

При заказе модуля расширения совместно с контроллером устанавливаются другие клеммники (на фото).

Клемма Функция
O1 (Red) KNX (+)
O2 (n/a) n/a
O3 (Gray) KNX (-)

Модуль расширения KNX

Конфигурирование

1) В веб-интерфейсе в разделе Configs => Hardware Modules Configuration необходимо выставить тип модуля для Internal slot 1 (MOD1), Либо для Internal slot 2 (MOD2) в зависимости от положения самого модуля KNX.

настройка типа модуля

2) Далее необходимо зайти в консоль и установить пакеты wb-mqtt-knx (MQTT KNX Bridge), knxd, knxd-tools:

apt-get update

apt-get install knxd knxd-tools wb-mqtt-knx

3) Отредактировать конфигурационные файлыː


Если у Вас версия прошивки debian wheezy (версия без systemd)ː

В файле /etc/default/knxd Замените строку DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:"

На :

DAEMON_ARGS="-d /var/log/knxd.log -t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -u /var/run/knx -i -b ncn5120:/dev/ttyAPP2 -D -T -R -S"


Если у Вас версия прошивки debian stretch (версия с systemd)ː

В файле /etc/knxd.conf вторую строку замените на:


KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyAPP2 -D -T -R -S"


В файле /lib/systemd/system/knxd.service удалите следующие строки:

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/ttyAPP2 активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyAPP3)
-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 работает:


Интерфейсы