Имеем контроллер Wiren Board6, подключенный релейный блок WB-MR6LV/S и программа визуализации, работающая по MQTT с контроллером.
В нормальном рабочем состоянии при публикации топика реле отрабатывает и приходит ответ состояния реле. Теперь имитируем обрыв линии связи с релейным блоком. При публикации топика состояние реле меняется (приходит ответ о переключении), а реального переключения не происходит. Почему так?
Для этого придуман обходной путь в виде публикации значения в subtopic/on, а опроса значения subtopic.
Но вообще связь с исполнительными устройствами надо мониторить отдельно.
Вот топик для публикации: /devices/wb-mr6c_121/controls/K1/on
и соответственно опрос значения /devices/wb-mr6c_121/controls/K1
Напишите пожалуйста как оформить через subtopic.
И где прочитать информацию?
Здравствуйте! Это происходит из-за того, что драйвер пишет в топик
/devices/wb-mr6c_121/controls/K1/on
и топик
/devices/wb-mr6c_121/controls/K1
не учитывая результат записи значения в регистр устройства. Это было исправлено в новых версиях дравера wb-mqtt-serial. При неудачной записи данных в регистр устройства в новых версиях драйвера топик
/devices/wb-mr6c_121/controls/K1
не изменяется.
Для диагностики того, что реле подключено можно использовать топик
/devices/wb-mr6c_121/controls/K1/meta/error