Y.usishchev

Присоединился 16 декабря 2016
Нет описания правки
Метка: visualeditor
Метка: visualeditor
Строка 21: Строка 21:
=== Формат MQTT сообщений ===
=== Формат MQTT сообщений ===
Рассмотрим два примера сообщений, которые можно послать через wb-mqtt-knx:
Рассмотрим два примера сообщений, которые можно послать через wb-mqtt-knx:
# Индивидуальная телеграмма: 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 в данном примере: <nowiki>*</nowiki> "i:" обозначает индивидуальный адрес <nowiki>*</nowiki> "0/0/1" адрес источника сообщения (From:) <nowiki>*</nowiki> "9/7/55" адрес целевого устройстав (To:) <nowiki>*</nowiki> "4" тип KNX сообщения (ACPI) "message" - полезная информация (payload) во втором сообщении мы видим что из сети KNX пришло сообщение(которое мы только что отправили). Оно было отправлено от устройства с индивидуальным адресом 0/0/1 (i:0/0/1) к устройству с индивидуальным адресом 9/7/55 (i:9/7/55) с ACPI "4" и payload "message"
1) Индивидуальная телеграмма:<blockquote>mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 4 message"</blockquote>в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения:<blockquote>/devices/knx/controls/data/on i:0/0/1:9/7/55 4 message</blockquote><blockquote>/devices/knx/controls/data i:0/0/1 i:9/7/55 4 message</blockquote>в данном примере:
2) Групповая телеграмма:
* "i:" обозначает индивидуальный адрес
mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 4 message"
* "0/0/1" адрес источника сообщения (From:)
 
* "9/7/55" адрес целевого устройстав (To:)  
в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения:
* "4" тип KNX сообщения (ACPI)
/devices/knx/controls/data/on g:9/7/55 4 message
* "message" - полезная информация (payload)
/devices/knx/controls/data i:0/0/0 g:9/7/55 4 message
во втором сообщении мы видим что из сети KNX пришло сообщение(которое мы только что отправили). Оно было отправлено от устройства с индивидуальным адресом 0/0/1 (i:0/0/1) к устройству с индивидуальным адресом 9/7/55 (i:9/7/55) с ACPI "4" и payload "message"
 
2) Групповая телеграмма:<blockquote>mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 4 message"</blockquote>в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения:<blockquote>/devices/knx/controls/data/on g:9/7/55 4 message</blockquote><blockquote>/devices/knx/controls/data i:0/0/0 g:9/7/55 4 message</blockquote>Видно что изменились только адреса:
Видно что изменились только адреса:
* "g:" обозначает групповой адрес. В случае группового адреса не задается адрес источника, поэтому
"g:" обозначает групповой адрес. В случае группового адреса не задается адрес источника, поэтому
* "9/7/55" групповой целевой адрес (Group To:)
"9/7/55" групповой целевой адрес (Group To:)
* тип сообщения и payload задаются также как и в индивидуальной телеграмме
тип сообщения и payload задаются также.


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


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


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


Формально исходящее сообщение имеет формат:<blockquote>mosquitto_pub -t '/devices/knx/controls/data/on' -m "address acpi message"</blockquote>где address это либо<blockquote>i:from_addr:to_addr</blockquote>либо<blockquote>g:to_group_addr</blockquote>где from_addr и to_addr это индивидуальные KNX адреса, а to_group_addr это групповой адрес.


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

правок