Поддержка KNX в WirenBoard

ls /dev | grep tty
tty
tty0
tty1
tty10
tty11
tty12
tty13
tty14
tty15
tty16
tty17
tty18
tty19
tty2
tty20
tty21
tty22
tty23
tty24
tty25
tty26
tty27
tty28
tty29
tty3
tty30
tty31
tty32
tty33
tty34
tty35
tty36
tty37
tty38
tty39
tty4
tty40
tty41
tty42
tty43
tty44
tty45
tty46
tty47
tty48
tty49
tty5
tty50
tty51
tty52
tty53
tty54
tty55
tty56
tty57
tty58
tty59
tty6
tty60
tty61
tty62
tty63
tty7
tty8
tty9
ttyAMA0
ttyAPP0
ttyAPP1
ttyAPP2
ttyAPP3
ttyAPP4
ttyCONSOLE
ttyGSM

cat /etc/wb-mqtt-serial.conf
{
“debug”: false,
“ports”: [
{
“path”: “/dev/ttyNSC0”,
“devices”: [
{
“slave_id”: “0x01”,
“device_type”: “WB-MRM2”,
“enabled”: false
}
],
“port_type”: “serial”,
“baud_rate”: 9600,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 2,
“poll_interval”: 10,
“enabled”: false
},
{
“path”: “/dev/ttyAPP1”,
“devices”: [
{
“slave_id”: “32”,
“device_type”: “WB-MSW v.3”
}
],
“port_type”: “serial”,
“type”: null,
“enabled”: true,
“baud_rate”: 9600,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 1,
“response_timeout_ms”: 500,
“guard_interval_us”: 0,
“poll_interval”: 20
}
]

Добрый день. Попробуйте сделать как в инструкции для WB5. Отредактируйте файл /etc/default/knxd, а не /etc/knxd.conf. Я проверял до карантина, при такой настройке knxd запускался и работал как положено.

Точно такая же ситуация по сути. Попробуйте следуя инструкции правильно отредактировать /etc/default/knxd. И после этого перезапустите knxd

/etc/knxd.conf настройки по умолчанию:
KNXD_OPTS="-u /tmp/eib -b ip:"
/etc/default/knxd настройки такие:
DAEMON_ARGS="-d /var/log/knxd.log -t 0xffe -f 9 -e 1.1.255 -u /var/run/knx -i -b ncn5120:/dev/ttyAPP2 -D -T -R -S"
Запуск происходит knxd:
● knxd.service - KNX Daemon
Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-08 11:28:12 UTC; 44s ago
Main PID: 30829 (knxd)
CGroup: /system.slice/knxd.service
└─30829 /usr/bin/knxd -u /tmp/eib -b ip:
Как видим с параметрами “-u /tmp/eib -b ip:” (берет из KNXD_OPTS файла /etc/knxd.conf, который мы не настраиваем).
Как мне в ETS получится к шине KNX через WB? Из того же мануала нужно использовать мультикаст-адрес 224.0.23.12. Где его настроить на WB?

Интерфейс 224.0.23.12 в ETS появился после того, как были добавлены параметры -D -T -R -S в файл /etc/knxd.conf:
KNXD_OPTS="-t 0xffc -f 9 -e 1.1.60 -D -T -R -S -u /tmp/eib -b ip:"
Сейчас статус стал выглядеть вот так:
● knxd.service - KNX Daemon
Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-04-11 11:05:49 UTC; 37min ago
Main PID: 3045 (knxd)
CGroup: /system.slice/knxd.service
└─3045 /usr/bin/knxd -t 0xffc -f 9 -e 1.1.60 -D -T -R -S -u /tmp/eib -b ip:
Т.о. я сейчас остановился на уровне когда в ETS тест соединения проходит, в мониторинге шины вижу отосланные команды вида:
mosquitto_pub -t 127.0.0.1 -p 1883 -t /devices/knx/controls/data/on -m “g:0/2/1 GroupValueWrite 0x01”
mosquitto_pub -t 127.0.0.1 -p 1883 -t /devices/knx/controls/data/on -m “g:0/2/1 GroupValueWrite 0x00”
, но при попытке чтения из устройства KNX или записи в него настроек выдается сообщение “Информация об устройстве: Не удалось”. Если WB можно использовать как обычный IP/KNX шлюз, наверняка кто то уже это реализовывал?

Хотелось бы уточнить еще раз какая у Вас модель контроллера, версия прошивки.

Судя по этой теме предполагаю, что документация для модуля на WB5 немного устарела. И есть путаница с версиями прошивки. В одном случае нужно редактировать /etc/default/knxd, в другом /etc/knxd.conf. Я проясню данную ситуацию и поправлю неточности в документации после окончания карантина. Пока нет возможности протестировать оба случая на разных версиях прошивки. Пока что похоже, что Вам стоит работать именно с /etc/knxd.conf.

Попробуйте сделать так:

В файле /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 - удалить строки:

  1. User=knxd
  2. Group=knxd

Версия прошивки последняя 5.8 - 202002171655_emmc_wb58_stretch, ревизия платы R 5.9. По доп. шагам пришлю информацию позже (контроллер не под рукой).

После указанных изменений:
● knxd.service - KNX Daemon
Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-04-12 15:45:04 UTC; 4s ago
Main PID: 8923 (knxd)
CGroup: /system.slice/knxd.service
└─8923 /usr/bin/knxd -t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyAPP2 -D -T -R -S

Apr 12 15:45:04 knxd[8923]: W00000020: EIBD should not run as root
Apr 12 15:45:04 knxd[8923]: Layer 3 [3:layer3 0.044] L3 started
Apr 12 15:45:04 knxd[8923]: Layer 2 [2:ncn5120:/dev/ttyAPP2 0.044] Watchdog Status(001): 02
Apr 12 15:45:04 knxd[8923]: Layer 8 [8:systemd 0.072] New Connection
Apr 12 15:45:04 knxd[8923]: Layer 8 [8:systemd 0.073] ClientConnection Init
Apr 12 15:45:04 knxd[8923]: Layer 8 [8:systemd 0.082] RecvMessage(002): 00 12
Apr 12 15:45:04 knxd[8923]: Layer 7 [8:systemd 0.082] Open A_Busmonitor
Apr 12 15:45:04 knxd[8923]: Layer 3 [3:layer3 0.097] registerVBusmonitor 80D6B6B4
Apr 12 15:45:04 knxd[8923]: Layer 8 [8:systemd 0.097] SendMessage(002): 00 12
Apr 12 15:45:04 systemd[1]: Started KNX Daemon.
По прежнему невозможно считать/записать апликацию в устройство KNX через ETS.

Подниму вопрос еще раз.
Настройки модуля KNX:


Настройки wb-knxd-config:

В ETS выбран интерфейс 224.0.23.12:

Тест проходит.
В проекте не удается считать конфигурацию устройства:
image
При этом во вкладке веб интерфейса WB5 в разделе “Settings”->/devices/knx/controls/data : i:1/1/62 i:1/1/2 AdcRead
Единственное, что работает:
mosquitto_pub -t 192.168.1.202 -p 1883 -t /devices/knx/controls/data/on -m “g:0/2/1 GroupValueWrite 0x00”
mosquitto_pub -t 192.168.1.202 -p 1883 -t /devices/knx/controls/data/on -m “g:0/2/1 GroupValueWrite 0x01”

Если в качестве интерфейса в ETS выбрать IP интерфе

йс WB (как вот здесь https://wirenboard.com/wiki/index.php?title=KNX_demo-stand), то все тоже самое, только с задержками секунд в 10.

А какая у Вас версия ETS? Вы уверенны, что устройство имеет адрес 1.1.2? Попробуйте заново сконфигурировать устройстойство и залить в него адреса. Попробуйте послать команду на устройство на прямую через KNXTool

Добрый вечер!
Просто для информации - возможно есть проблема в прошивке
Устройство ревизии 6.4.1, покупал несколько лет назад, потом пылилось. Только сейчас поставил. Обновил прошивку до 202104070800
На этой прошивке knxd не запускался, т.к. не было пользователя knxd, переставил пакет и добавил пользователя в группу dialout, все стало ок

1 лайк

Спасибо! Проверим.