Создание топика MQTT для параллельного считывания/записи состояния портов

У нас к модулю WirenBoard7 по RS-485 (modbus) подключён модуль WB-MIO, к которому подключены боковые модули WBIO-DI-WD-14 и WBIO-DO-SSR-8.

Подскажите, как сконфигурировать MQTT топик для получения данных о состоянии портов ввода – вывода в “параллельном” виде. Тоесть чтобы получать одно сообщение содержащие состояние группы портов (16-битный хекс, где каждый бит отображал состояние одного входа или реле).

В файле пример конфигурации, который я пробовал. Создал канал у устройства, ввёл адрес Modbus 11009. Появился соответствующий топик, но в нём всегда 0. Хотя топики для отдельных портов и счётчиков импульсов работают корректно.

Добрый день.
Я не совсем понимаю - с какого modbus адреса будет читаться значение?
Если WB-MIO имеет ID 61 - то и указывать надо именно его.

61 это адрес WB-MIO модуля, к которому подключены дополнительные модули ввода-вывода. их адреса указываются как 61:1 , 61:2 и .т.д. это работает, но создаются топики для каждого отдельного входа или выхода. а мне нужно чтобы один топик сообщил состояние нескольких входов, в виде значения бит в слове. я нашёл вот эту таблицу адресов Карта регистров модулей WB-MIO и WB-MIO-E — Wiren Board. в ней указан адрес 11009 для “Регистр битовых флагов состояния входов модуля” - пытался сделать топик для него но там всегда 0. как нужно правильно сконфигурировать чтобы это работало?


пытался сделать устройство с адресом 61 (без двоеточия) но тоже не заработало

Зачем использовать stride расширение адреса именно в этом случае?

Что читается из регистра, значение? Какая прошивка в MIO?

включил лог устройства, обнаружил что идёт чтение с адреса 2ee9h (12009), хотя я указывал в веб интерфейсе адрес 11009.


указал в веб интерфейсе адрес 10009, посмотрел в логе - стало считываться с адреса 2b01h (11009) - как мне было и нужно - всё заработало. это баг или фича?

и как узнать версию прошивки MIO?

Верно. Но вы ведь не просто так указываете stride, явно указывая 61:1.

в общем как-то это было неявно. и как узнать версию прошивки MIO?

Ну вот же пример из шаблона: https://github.com/wirenboard/wb-mqtt-serial/blob/57e858896d192602d54eabf0da85c39c56edf374/templates/config-wbio-do-ssr-8.json#L8
Версия прошивки (текущая) получается так: Репозиторий прошивок для Modbus-устройств Wiren Board — Wiren Board
Еще можно просто запустить обновлятор, он выведет.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.