Проблемы сети после перехода с тестового релиза на стабильный

root@wirenboard-AP75N5I4:~# netstat -nvl |grep 18883
netstat: no support for AF INET (sctp)' on this system. netstat: no support for AF INET (sctp)’ on this system.
netstat: no support for AF IPX' on this system. netstat: no support for AF AX25’ on this system.
netstat: no support for AF X25' on this system. netstat: no support for AF NETROM’ on this system.
netstat: no support for `AF ROSE’ on this system.
root@wirenboard-AP75N5I4:~#

В /etc/mosquitto/mosquitto.conf нужно поменять persistence true на persistence false.
После - перезапустить брокер (или контроллер). Ну и снова проверьте - слушается ли порт.

Всё работает, спасибо. :blush:
Подскажите как настроить Шлюз MQTT - Modbus RTU/TCP slave

Соответствия каналов и регистров


Содержимое файла wb-mqtt-mbgate.conf (240 Байт)

{
“debug”: false,
“modbus”: {
“host”: “*”,
“port”: 502
},
“mqtt”: {
“host”: “localhost”,
“port”: 1883
},
“registers”: {
“remap_values”: false,
“holdings”: [],
“inputs”: [],
“coils”: [],
“discretes”: []
}
}
Само реле работает нормально


На другом ПЛК WB при настройке Шлюз MQTT - Modbus RTU/TCP slave
сразу отображается MQTT имена и нужно только подставить значения Modbus адресов.

Здравствуйте!
Проверьте, что сервис wb-mqtt-mbgate работает:

systemctl status wb-mqtt-mbgate

Если не работает, что запустите его:

systemctl start wb-mqtt-mbgate

На странице конфигурации в веб-интерфейсе должны будут появиться регистры.

root@wirenboard-AP75N5I4:~# systemctl status wb-mqtt-mbgate
● wb-mqtt-mbgate.service - Wiren Board MQTT to Modbus TCP gateway
Loaded: loaded (/lib/systemd/system/wb-mqtt-mbgate.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-09-01 11:42:48 UTC; 4min 43s ago
Process: 458 ExecStartPre=/usr/bin/wb-mqtt-mbgate-confgen -c /etc/wb-mqtt-mbgate.conf (code=exited, status=0/SUCCESS)
Main PID: 1268 (wb-mqtt-mbgate)
CGroup: /system.slice/wb-mqtt-mbgate.service
└─1268 /usr/bin/wb-mqtt-mbgate -c /etc/wb-mqtt-mbgate.conf

Sep 01 11:42:34 wirenboard-AP75N5I4 systemd[1]: Starting Wiren Board MQTT to Modbus TCP gateway…
Sep 01 11:42:47 wirenboard-AP75N5I4 wb-mqtt-mbgate-confgen[458]: /tmp/1662032562.1677301/retain_hack
Sep 01 11:42:47 wirenboard-AP75N5I4 wb-mqtt-mbgate-confgen[458]: Failed to open config
Sep 01 11:42:48 wirenboard-AP75N5I4 systemd[1]: Started Wiren Board MQTT to Modbus TCP gateway.
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mqtt] Default host and port detected, checking if UNIX so
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mqtt] UNIX socket not found, falling back to TCP connecti
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [modbus] Modbus listening
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mbgate] Start loops
Sep 01 11:42:50 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mqtt] connection estabilished with code “0”

Работает…

Помогло рестарт …

Спасибо.
Возможно периодом опроса реле отрегулировать невозможность одновременного срабатывания K1-K6 при замыкании inputs 1-6.

Как работает на данный момент:
1.Есть 12 реле WBMR6L ver2.
2.Реле отвечают за подачу воды отрыл, закрыл.
3.Информация об открытии, закрытии я беру из SNMP протокола она представлена в виде числа, которое я обрабатываю на встроенном JS.
VirtualDevicePump41.js (4.1 КБ)
После обработки смотрю визуализацию (виртуальных реле) открытия закрытия в веб интерфейсе.

На данном этапе у меня возникают трудности.

  • При обрыве сети у меня остается последний полученный сигнал (открыт или закрыт), после возобновления работы сети в Web интерфейсе ничего не меняется, при опросе через командную строку всё работает.
    Это Web интерфейс
    |snmp_10.41.52.103_public|Channel 2|value|/devices/snmp_10.41.52.103_public/controls/Channel 2||Ошибка: r|
    |—|—|—|—|—|—|
    |snmp_10.41.52.104_public|Channel 2|value|/devices/snmp_10.41.52.104_public/controls/Channel 2|-1610612604|OK|

Это командная строка
root@wirenboard-AXIR7TYX:~# snmpwalk -On -v2c -c public 10.41.52.103 1.3.6.1.4.1.26381.1.2.0
Timeout: No Response from 10.41.52.103

root@wirenboard-AXIR7TYX:~# snmpwalk -On -v2c -c public 10.41.52.104 1.3.6.1.4.1.26381.1.2.0
Timeout: No Response from 10.41.52.104

/devices/snmp_10.41.52.104_public/controls/Channel 2
filename.csv (656 Байт)

4.Нет четкой закономерности Web интерфейса и командной строки даже когда нет обрыва связи.

5.Обработку виртуальных реле отправляю на сенсорную панель, на которой можно регулировать интервалы открытия закрытия.

Посоветуйте как упростить данную модель работы.

Если это вопрос, то он не совсем понятен. В любом случае, думаю, что это плохое решение. Как вариант - хотя бы программная блокировка в правилах. При этом нужно отключить управление выходами реле непосредственно от аппаратных входов.

подскажите как это реализовать?

Управление отключил.

Есть 2 Реле по 6 входов и выходов. Они отвечают за подачу воды.
Требуется сделать интервал между закрытиями (1 секунда с возможностью его увеличения) для предотвращения гидроудара.
Пример:
закрылись 1,2,5, 8,9 сразу
закрыть 1 сделать паузу 1 секунду,
закрыть 2 сделать паузу 1 секунду,
закрыть 5 сделать паузу 1 секунду,
закрыть 8 сделать паузу 1 секунду,
закрыть 9 сделать паузу 1 секунду,
открытие осуществлять без паузы.

Да, это можно сделать программно с помощью, например, правил.

Можно пример

Вот тут отчасти похожий пример приводил: WirenBoard 6 + WB-MR6C (v3.4A) + соленоидные клапана - #3 от пользователя Explorerol

К сожалению данный скрипт закрывает сразу с паузой 1 секунда, не отслеживая нажатия контактов. Ну или в моем случае SNMP сигнала с блока.

Можно прокомментировать проблему SNMP. что Web интерфейс не стыкуется с командной строкой?

Совершенно непонятно что имеете в виду. Веб-интерфейс работает только и исключительно с MQTT. Вопрос стыковки с чем-то еще - он описывается сервисами и скриптами.
Нужен как минимум демонстрационный пример, воспроизводящий баг (если речь про баг).