WBE2-I-KNX KNX Extension Module/en: различия между версиями
FuzzyBot (обсуждение | вклад) м (FuzzyBot переименовал страницу KNX Module for WB6 (WBE2-I-KNX)/en в WBE2-I-KNX KNX Extension Module/en без оставления перенаправления: Часть переводимой страницы KNX Module for WB6 (WBE2-I-KNX).) Метки: правка с мобильного устройства правка из мобильной версии |
(Новая страница: «/etc/knxd.conf - replace the second line with: KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyMOD1 -D -T -R -S"») |
||
(не показаны 24 промежуточные версии 1 участника) | |||
Строка 78: | Строка 78: | ||
/lib/systemd/system/knxd.service - | /lib/systemd/system/knxd.service - Закоментить User и Group (поставить перед ними решетки, как показано ниже) , либо удалить эти строки: | ||
#User=knxd | #User=knxd | ||
#Group=knxd | #Group=knxd | ||
после этого следует перезагрузить контроллер и всё должно заработать | |||
Расшифровка ключей: | |||
{| class="wikitable" | {| class="wikitable" | ||
! | !Ключ | ||
! | !Функция | ||
|- | |- | ||
| -d /var/log/knxd.log | | -d /var/log/knxd.log | ||
| | | уйти в фон и писать в лог. | ||
|- | |- | ||
| -e 1.1.255 | | -e 1.1.255 | ||
| | |назначает KNX-адрес knxd равным 1.1.255, как IP-шлюзу. | ||
|- | |- | ||
| -E 1.1.10:30 | | -E 1.1.10:30 | ||
| | |указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне 1.1.10..1.1.30 | ||
|- | |- | ||
| -u /var/run/knx | | -u /var/run/knx | ||
| | |открываем локальный Unix-сокет | ||
|- | |- | ||
| -t 0xffe | | -t 0xffe | ||
| | |задаём маску вывода отладочных сообщений. | ||
|- | |- | ||
| -f 9 | | -f 9 | ||
| | |задать макс. verbosity level | ||
|- | |- | ||
| -i | | -i | ||
| | |указываем слушать TCP-порт (по умолчанию 6720). Можно прописывать -i 6721 или другой порт. Не исключающая альтернатива -u | ||
|- | |- | ||
| -b ncn5120:/dev/ttyMOD1 | | -b ncn5120:/dev/ttyMOD1 | ||
| | |активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyMOD2) | ||
|- | |- | ||
| -T -R | | -T -R | ||
| | |активируем режим шлюза, туннеля (нужно для работы с ETS) | ||
|- | |- | ||
| -D | | -D | ||
| | |говорит knxd оповещать о себе (Discovery) в сети | ||
|- | |- | ||
| -S | | -S | ||
| | |запускаем сервер (который отвечает на мультикасты) | ||
|} | |} | ||
Подробнее: | |||
knxd --help | knxd --help | ||
== | == Работа == | ||
Для запуска KNX daemon, необходимо прописать строку в консоль: | |||
'''service knxd start''' | '''service knxd start''' | ||
При необходимости перезапуска: | |||
'''service knxd restart''' | '''service knxd restart''' | ||
Для проверки статуса: | |||
'''service knxd status''' | '''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" | 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- | -h 192.168.0.10 - IP-адрес контроллера с KNX | ||
-p 1883 - MQTT | -p 1883 - порт MQTT | ||
-t /devices/knx/controls/data/on - MQTT | -t /devices/knx/controls/data/on - MQTT топик для выгрузки информации | ||
-m "g:0/0/1 GroupValueWrite 0x01" - | -m "g:0/0/1 GroupValueWrite 0x01" - сообщение для KNX устройства | ||
Подробнее о работе с данными KNX: [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)] | |||
Скрипт для [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] | |||
При работе с ETS '''Важно''': в “interfaces” ETS надо выбирать сам интерфейс ПК, через который происходит общение. Обращение с knxd в по юникасту (ip-адресу хоста с демоном) не даёт запрограммировать устройства. На иллюстрации стрелкой отмечено, какой способ взаимодействия с ETS работает: | |||
[[Файл:EtsInterface.png|500px| | [[Файл:EtsInterface.png|500px|Интерфейсы]] | ||
Так же если вы пользователь Windows 8, 10 советуем отключить антивирусы и брандмауэр, так как они могут мешать работе ETS. |
Версия 11:24, 27 июня 2019
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"
On WB6, with the new firmware version to run knxd correctly, you need to fix 2 files:
/etc/knxd.conf - replace the second line with: 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.