MQTT: различия между версиями

Добавил краткую информацию про подтопик /meta/error
(Добавил краткую информацию про подтопик /meta/error)
Строка 60: Строка 60:
* ''/wb-w1'' - подтопик, который наполняется драйвером 1-Wire
* ''/wb-w1'' - подтопик, который наполняется драйвером 1-Wire
* ''/controls'' - подтопик, который есть у всех устройств - именно в него записываются все их параметры, которые меняются ("включено-выключено", значение датчика, ...)
* ''/controls'' - подтопик, который есть у всех устройств - именно в него записываются все их параметры, которые меняются ("включено-выключено", значение датчика, ...)
* ''/28-0115a48fcfff'' - непосредственно сам "канал" ("контрол)" - топик, куда записывается значение с датчика. Его название совпадает с адресом 1-Wire датчика на шине.
* ''/28-0115a48fcfff'' - непосредственно сам "канал" ("контрол") - топик, куда записывается значение с датчика. Его название совпадает с адресом 1-Wire датчика на шине.
Содержание сообщения:
Содержание сообщения:
* ''23.25'' - значение температуры
* ''23.25'' - значение температуры
Строка 66: Строка 66:
<!--T:141-->
<!--T:141-->
Если вы хотите самостоятельно написать драйвер устройства, и хотите, что оно отображалось на вкладке Devices и его можно было использовать в правилах, вам необходимо придерживаться такой же структуры топиков.
Если вы хотите самостоятельно написать драйвер устройства, и хотите, что оно отображалось на вкладке Devices и его можно было использовать в правилах, вам необходимо придерживаться такой же структуры топиков.
=== Структура сообщения об ошибке опроса устройства === <!--T:139-->
Каждый "канал" ("контрол") имеет "подтопик" ''/meta/error'', в котором содержится информация о наличии ошибок взаимодействия с устройством. Ошибки получения данных (чтения) обозначаются символом '''r''', ошибки записи - '''w'''.
Пример ошибки получения данных:
<pre>
/devices/wb-w1/controls/28-0115a48fcfff/meta/error r
</pre>
Это означает, что не удалось получить температуру термометра с адресом ''28-0115a48fcfff''.
[[Драйвер wb-mqtt-serial]] устанавливает признак '''r''', если не удалось запросить значение параметра устройства, признак '''w''' - не удалось передать значение устройству.
[https://github.com/wirenboard/wb-homa-adc Драйвер wb-mqtt-adc] устанавливает признак '''r''', если не удалось получить значение соотвествующего канала АЦП.


=== Пример подписки === <!--T:113-->
=== Пример подписки === <!--T:113-->
wb_editors
97

правок