MQTT KNX V.0.1.x: различия между версиями
Строка 46: | Строка 46: | ||
== Формат MQTT сообщений == | == Формат MQTT сообщений == | ||
Чтобы отправить групповую телеграмму в KNX необходимо отправить подготовленное сообщение в MQTT топик: | |||
в | |||
<pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:${DstAddr} ${APCI} ${Data}"</pre> | |||
Чтобы отправить индивидуальную телеграмму в KNX необходимо отправить: | |||
<pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:${SrcAddr}:${DstAddr} ${APCI} ${Data}"</pre> | |||
Все сообщения из KNX будут доставлены в MQTT топик /devices/knx/controls/data в виде: | |||
<pre>i:${SrcAddr} [i,g]:${DstAddr} ${APCI} ${Data}</pre> | |||
* SrcAddr, DstAddr - Адреса KNX устройств в формате "n/n/n" или "n/n". | |||
* APCI - Тип сообщения, строка или 4х-битное число. | |||
* Data - Сообщение в виде байт, разделенных пробелами. Первый байт сообщения должен иметь длину не более 6 бит. | |||
Поддерживаемые типы сообщений(APCI): | |||
* GroupValueRead | |||
* GroupValueResponse | |||
* GroupValueWrite | |||
* IndividualAddrWrite | |||
* IndividualAddrRequest | |||
* IndividualAddrResponse | |||
* AdcRead | |||
* AdcResponse | |||
* MemoryRead | |||
* MemoryRead | |||
* MemoryWrite | |||
* UserMessage | |||
* MaskVersionRead | |||
* MaskVersionResponse | |||
* Restart | |||
* Escape | |||
* любое 4х-битное числовое значение |
Версия 20:31, 17 декабря 2016
Устройства, использующие протокол KNX.
Пакет: wb-mqtt-knx. Исходный код: https://github.com/contactless/wb-mqtt-knx
wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd.
Установка
wb-mqtt-knx в 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
Адреса в MQTT
Default MQTT topics are: /devices/knx/meta/name wb-knx /devices/knx/controls/data/meta/type data Input data: /devices/knx/controls/data Outgoing data: /devices/knx/controls/data/on Example: $ mosquitto_sub -t '/devices/knx/#' -v /devices/knx/controls/data/meta/type data /devices/knx/meta/name wb-knx $ mosquitto_pub -t '/devices/knx/controls/data/on' -m "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 $ mosquitto_pub -t '/devices/knx/controls/data/on' -m "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
Формат MQTT сообщений
Чтобы отправить групповую телеграмму в KNX необходимо отправить подготовленное сообщение в MQTT топик:
mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:${DstAddr} ${APCI} ${Data}"
Чтобы отправить индивидуальную телеграмму в KNX необходимо отправить:
mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:${SrcAddr}:${DstAddr} ${APCI} ${Data}"
Все сообщения из KNX будут доставлены в MQTT топик /devices/knx/controls/data в виде:
i:${SrcAddr} [i,g]:${DstAddr} ${APCI} ${Data}
- SrcAddr, DstAddr - Адреса KNX устройств в формате "n/n/n" или "n/n".
- APCI - Тип сообщения, строка или 4х-битное число.
- Data - Сообщение в виде байт, разделенных пробелами. Первый байт сообщения должен иметь длину не более 6 бит.
Поддерживаемые типы сообщений(APCI):
- GroupValueRead
- GroupValueResponse
- GroupValueWrite
- IndividualAddrWrite
- IndividualAddrRequest
- IndividualAddrResponse
- AdcRead
- AdcResponse
- MemoryRead
- MemoryRead
- MemoryWrite
- UserMessage
- MaskVersionRead
- MaskVersionResponse
- Restart
- Escape
- любое 4х-битное числовое значение