12 063
правки
м |
(Отметить эту версию для перевода) |
||
Строка 3: | Строка 3: | ||
<!--T:1--> | |||
Устройства, использующие протокол KNX. | Устройства, использующие протокол KNX. | ||
<!--T:2--> | |||
Пакет: wb-mqtt-knx. Исходный код: https://github.com/contactless/wb-mqtt-knx | Пакет: wb-mqtt-knx. Исходный код: https://github.com/contactless/wb-mqtt-knx | ||
<!--T:3--> | |||
wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd. | wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd. | ||
= Установка = | = Установка = <!--T:4--> | ||
wb-mqtt-knx в wirenboard устанавливается через apt-get:<pre>$ apt-get install wb-mqtt-knx</pre> | wb-mqtt-knx в wirenboard устанавливается через apt-get:<pre>$ apt-get install wb-mqtt-knx</pre> | ||
= Настройка = | = Настройка = <!--T:5--> | ||
На данный момент wb-mqtt-knx не имеет конфигурационного файла. | На данный момент wb-mqtt-knx не имеет конфигурационного файла. | ||
<!--T:6--> | |||
Информацию по настройке knxd можно найти в конфигурационном файле /etc/knxd.conf - https://github.com/knxd/knxd/blob/master/systemd/knxd.conf и в<pre>$ knxd --help</pre> | Информацию по настройке knxd можно найти в конфигурационном файле /etc/knxd.conf - https://github.com/knxd/knxd/blob/master/systemd/knxd.conf и в<pre>$ knxd --help</pre> | ||
= Адреса в MQTT = | = Адреса в MQTT = <!--T:7--> | ||
<pre> | <pre> | ||
Default MQTT topics are: | Default MQTT topics are: | ||
<!--T:8--> | |||
/devices/knx/meta/name wb-knx | /devices/knx/meta/name wb-knx | ||
/devices/knx/controls/data/meta/type data | /devices/knx/controls/data/meta/type data | ||
<!--T:9--> | |||
Input data: | Input data: | ||
<!--T:10--> | |||
/devices/knx/controls/data | /devices/knx/controls/data | ||
<!--T:11--> | |||
Outgoing data: | Outgoing data: | ||
<!--T:12--> | |||
/devices/knx/controls/data/on | /devices/knx/controls/data/on | ||
<!--T:13--> | |||
Example: | Example: | ||
<!--T:14--> | |||
$ mosquitto_sub -t '/devices/knx/#' -v | $ mosquitto_sub -t '/devices/knx/#' -v | ||
/devices/knx/controls/data/meta/type data | /devices/knx/controls/data/meta/type data | ||
/devices/knx/meta/name wb-knx | /devices/knx/meta/name wb-knx | ||
<!--T:15--> | |||
$ mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 GroupValueWrite 0b110111 0xcf 14 0xff" | $ mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 GroupValueWrite 0b110111 0xcf 14 0xff" | ||
<!--T:16--> | |||
/devices/knx/controls/data/on i:0/0/1:9/7/55 GroupValueWrite 0b110111 0xcf 14 0xff | /devices/knx/controls/data/on i:0/0/1:9/7/55 GroupValueWrite 0b110111 0xcf 14 0xff | ||
/devices/knx/controls/data i:0/0/1 i:9/7/55 GroupValueWrite 0x37 0xcf 0x0e 0xff | /devices/knx/controls/data i:0/0/1 i:9/7/55 GroupValueWrite 0x37 0xcf 0x0e 0xff | ||
<!--T:17--> | |||
$ mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 GroupValueRead" | $ mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 GroupValueRead" | ||
<!--T:18--> | |||
/devices/knx/controls/data/on g:9/7/55 GroupValueRead | /devices/knx/controls/data/on g:9/7/55 GroupValueRead | ||
/devices/knx/controls/data i:0/0/0 g:9/7/55 GroupValueRead 0x00 | /devices/knx/controls/data i:0/0/0 g:9/7/55 GroupValueRead 0x00 | ||
</pre> | </pre> | ||
== Формат MQTT сообщений == | == Формат MQTT сообщений == <!--T:19--> | ||
Чтобы отправить групповую телеграмму в KNX необходимо отправить подготовленное сообщение в MQTT топик: | Чтобы отправить групповую телеграмму в KNX необходимо отправить подготовленное сообщение в MQTT топик: | ||
<!--T:20--> | |||
<pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:${DstAddr} ${APCI} ${Data}"</pre> | <pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:${DstAddr} ${APCI} ${Data}"</pre> | ||
<!--T:21--> | |||
Чтобы отправить индивидуальную телеграмму в KNX необходимо отправить: | Чтобы отправить индивидуальную телеграмму в KNX необходимо отправить: | ||
<!--T:22--> | |||
<pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:${SrcAddr}:${DstAddr} ${APCI} ${Data}"</pre> | <pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:${SrcAddr}:${DstAddr} ${APCI} ${Data}"</pre> | ||
<!--T:23--> | |||
Все сообщения из KNX будут доставлены в MQTT топик /devices/knx/controls/data в виде: | Все сообщения из KNX будут доставлены в MQTT топик /devices/knx/controls/data в виде: | ||
<!--T:24--> | |||
<pre>i:${SrcAddr} [i,g]:${DstAddr} ${APCI} ${Data}</pre> | <pre>i:${SrcAddr} [i,g]:${DstAddr} ${APCI} ${Data}</pre> | ||
<!--T:25--> | |||
* SrcAddr, DstAddr - Адреса KNX устройств в формате "n/n/n" или "n/n". | * SrcAddr, DstAddr - Адреса KNX устройств в формате "n/n/n" или "n/n". | ||
* APCI - Тип сообщения: строка или 4х-битное число. | * APCI - Тип сообщения: строка или 4х-битное число. | ||
* Data - Сообщение в виде байт, разделенных пробелами. Первый байт сообщения должен иметь длину не более 6 бит. | * Data - Сообщение в виде байт, разделенных пробелами. Первый байт сообщения должен иметь длину не более 6 бит. | ||
<!--T:26--> | |||
Поддерживаемые типы сообщений(APCI): | Поддерживаемые типы сообщений(APCI): | ||
<!--T:27--> | |||
* GroupValueRead | * GroupValueRead | ||
* GroupValueResponse | * GroupValueResponse |
правки