Проверил у себя на wb-2507 – состояние выключателей держится включенными уже несколько дней.
У вас в Архиве настройки wb-mqtt-gpio сверил - ничего, что относится к проблеме кроме неизвестных клиентов, которые подключаются к mosquitto:
Dec 21 16:30:57 wirenboard-AYXMJ6CD mosquitto[1983]: 1766334657: New connection from 192.168.2.137:36838 on port 1883.
Dec 21 15:43:50 wirenboard-AYXMJ6CD mosquitto[1983]: 1766331830: New connection from 185.242.226.59:50448 on port 1883.
Dec 21 15:40:07 wirenboard-AYXMJ6CD mosquitto[1983]: 1766331607: New connection from 185.242.226.59:48758 on port 1883
Вам известны эти клиенты и что они пытаются сделать?
Я думаю, что если отключите контроллер от сети, то проблема уйдет.
C WBIO-DO-R10R-4 (77:2) такой проблемы нет?
Что если их поменять местами с WBIO-DO-SSR-8 (77:3) и внести соответствующие правки?
Локальный клиент - это NodeRed. Там минимум правил и с этим устройством он вообще не работает.
Остальные 2 - вероятно, веб клиент с телефона под VPN.
Так что отключение от сети ничем тут не поможет.
С 77:2 есть проблема тоже , но другого характера - он периодически (раз в день-неделю или как повезет) просто перестает исполнять команды. То есть не управляется из UI и правил, реле не щелкают при изменении состояний. При этом красным он не светится в интерфейсе. Создается видимость нормальной работы. Я его уже заменил неделю назад на абсолютно новый. Но это ничего не изменило. При этом, находящийся за ним модуль 77:3 SSR продолжает работать нормально. Т.е. реле включаются, все штатно.
Только отключаются самопроизвольно.
Не знаю, имеет ли смысл их менять местами при таком анамнезе.
Это 90% какая-то физическая проблема либо с самим модулем SSR, либо с шиной, к которой он подключен, может в шлюзе.
Вот как он подключён физически (последний справа, подлкючен через wb-mio, который в свою очередь подключен к контроллеру через шлюз MGE-2) :
Проверить - очень просто. Подписаться на топик и посмотреть. А затем - остановить wb-mqtt-serial и просто с помощью modbus_client попробовать прочитать состояние coil и записать, соответственно. Если не будет переключаться - то аппаратное. Будет - программное.
Проблема 1. WBIO-DO-SSR-8 выходы самопроизвольно отключаются
Находится данный модуль за WB-MGE и далее за WB-MIO. Адрес его - 77:3
Я умею подключаться SOCAT-ом к MGE и опрашивать WB-MIO, но я не умею делать это с уcтройствами за ним (77:1, 77:2, 77:3).
77:2 к примеру - это регистры на том же адресе 77, но сдвинутые на величину stride + shift.
То есть в документации они описаны:
2500 - 2515 coil Логические состояния модуля вывода no. 2
Для wbio-do-ssr-8 - coil 2500 - первый выход, 2507 - восьмой.
Может быть в документации что-то непонятно и можно улучшить?
Я бы начал с того что остановил wb-mqtt-serial и путем записи значений в регистры ну и чтения из них убедился в том что аппаратно модули работают.
Ну и прочитать Статус модулей DI/DO
А, вот оно что, я только что прочитал эту документацию, но не стал открывать “Карту регистров WB-MIO”, потому что это звучит как регистры именно этого модуля, а не описание того, как работать с устройствами за ним. Так что я честно прочитал весь этот раздел и инфы не обнаружил.
Все прекрасно читается и пишется, но реле не щелкают. Т.е. поведение как из UI. При этом - если сейчас перезагрузить модуль (путем кратковременного отключения питания от всей линейки) - он заработает на какое-то время (обычно до нескольких дней). И, я уже упоминал, но на всякий случай еще раз - это абсолютно новый модуль, у меня был запасной, я заменил предыдущий , на котором проявилась эта проблема, т.е. на новом модуле проблема осталась. Значит она вряд ли в самом модуле WBIO-DO-R10R-4.
По поводу отладки mosquitto (по проблеме с WBIO-DO-SSR-8) - сделал как было по ссылке сказано - лог пишется, но UI отрубается - невозможно ничего делать с устройствами. Это из-за нагрузки на логирование?
А неконтакт в разьеме предыдущего модуля, куда подключается этот - исключаете?
Я бы предположил именно это и для проверки попробовал бы воткнуть модуль первым в шлюз, например.
Ну или пошевелить модули на рейке, продолжая переключать регистры.
Но более высоковероятно - просто напряжения питания не хватает. От чего он, шлюз питается? Я б вот когда “не переключается” проверил подключив другой БП.
Да, нагрузка приличная, если много публикаций.
В общем на начальном этапе не обязательно прямо все в debug, нужно просто убедиться что никто не пишет в /on топики.
>А неконтакт в разьеме предыдущего модуля, куда подключается этот - исключаете?
Исключаем, т.к. во-первых я физически менял модуль недавно, а во-вторых модуль , стоящий за ним продолжает нормально работать. И регистр же он где-то хранит, значит можуль обрабатывает команды.
>Но более высоковероятно - просто напряжения питания не хватает. От чего он, шлюз питается? Я б вот когда “не переключается” проверил подключив другой БП.
Питается от Meanwell DRC-60B, к которому подключены аккумуляторы еще для бесперебойности.
Он стабильно не переключается, пока его не “перегрузишь". А после перегрузки стабильно работает (несколько дней). То есть этл не плавающая проблема, не плохой контакт, не пограничное напряжение, а состояние в которое он входит в какой-то момент и самостоятельно из которого выйти не может.
То есть выключаться-включаться, все каналы WBIO-DO-SSR-8? Это про него?
Он работает от 3,3 вольт.
А механические реле - от 5 Распиновка
Ну и Gnd может не обеспечивать достаточный контакт.
Регистр хранит WB-MIO.
В модулях расширения нечему хранить, это просто логика на i2c шине.
И даже если модуль WBIO просто отключить от WB-MIO - то это не обработать.
Угу… То есть может в таком состоянии пробыть неограничено долго?
Вообще похоже на Wiren Board 6: Errata — Wiren Board но я думал что в MIO оно давно решено. И да, сильно может помочь измерение напряжения на int контакте WBIO разъема.