Участник:Y.usishchev

Материал из Wiren Board

test page wb-mqtt-knx wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd.

Установка В wirenboard устанавливается через apt-get: $ apt-get install wb-mqtt-knx

Настройка На данный момент wb-mqtt-knx не имеет конфигурационного файла. Информацию по настройке knxd можно найти в конфигурационном файле /etc/knxd.conf - https://github.com/knxd/knxd/blob/master/systemd/knxd.conf и в knxd --help

Работа с wb-mqtt-knx При инициализации wb-mqtt-knx подписывается на MQTT топик: /devices/knx/controls/data/on и открывает Busmonitor connection на стандартный сокет(ip:localhost:6720), создаваемый knxd по умолчанию.

Все полученные из KNX телеграммы будут отправлены в MQTT топик: /devices/knx/controls/data

Формат MQTT сообщений Рассмотрим два примера сообщений, которые можно послать через wb-mqtt-knx: 1) Индивидуальная телеграмма: mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 4 message"

в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения: /devices/knx/controls/data/on i:0/0/1:9/7/55 4 message /devices/knx/controls/data i:0/0/1 i:9/7/55 4 message

в данном примере: "i:" обозначает индивидуальный адрес "0/0/1" адрес источника сообщения (From:) "9/7/55" адрес целевого устройстав (To:) "4" тип KNX сообщения (ACPI) "message" - полезная информация (payload)

во втором сообщении мы видим что из сети KNX пришло сообщение(которое мы только что отправили). Оно было отправлено от устройства с индивидуальным адресом 0/0/1 (i:0/0/1) к устройству с индивидуальным адресом 9/7/55 (i:9/7/55) с ACPI "4" и payload "message"

2) Групповая телеграмма: mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 4 message"

в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения: /devices/knx/controls/data/on g:9/7/55 4 message /devices/knx/controls/data i:0/0/0 g:9/7/55 4 message

Видно что изменились только адреса: "g:" обозначает групповой адрес. В случае группового адреса не задается адрес источника, поэтому "9/7/55" групповой целевой адрес (Group To:) тип сообщения и payload задаются также.

Во втором сообщении также только одно изменение - адрес To: теперь групповой.

Групповой адрес может содержать два элемента: g:5/55.

Подробнее про адресацию можно узнать в Serial Data Transmission and KNX Protocol


Формально исходящее сообщение имеет формат: mosquitto_pub -t '/devices/knx/controls/data/on' -m "address acpi message" где адрес это либо i:from_addr:to_addr либо g:to_group_addr

где from_addr и to_addr это индивидуальные KNX адреса, а to_group_addr это групповой адрес.

Входящее сообщение имеет формат: /devices/knx/controls/data "from_addr to_addr acpi message" где from_addr - индивидуальный адрес источника сообщения, to_addr - групповой или индивидуальный адрес назначения.