Не включается реле

Добрый день! После перезагрузки WB, несколько реле перестали включаться.
ERROR: [rule error] failed to SetValue for unexisting control wb-mr6cu_45/K4: true

Эта проблема известна и просто перезагрузить еще раз? Или собрать данные для анализа?

Добрый день!

Подскажите модель контроллера и версию прошивки.
Прикрепите, пожалуйста, диагностический архив.

Есть ли связь с устройством WB-MR6CU с адресом 45? Присутствует ли оно в конфигурации драйвера serial-устройств wb-mqtt-serial.conf ?

Присутствует ли wb-mr6cu_45/K4 в списке Каналов MQTT?

Что имеется ввиду?
Что делаете, какого результата ожидаете и что происходит на самом деле?
Перестали включаться несколько модулей реле или несколько каналов WB-MR6CU с адресом 45?

Есть реле которые не перестали включаться? Правила wb-rules выполняются?

HW Revision

7.4.3

Release name

wb-2401

Связь есть, в MQTT тоже все есть. Через web включить и выключить реле можно, все работает. Проблема только когда реле включается через wb-rules. 98% реле все включаются через wb-rules. Перестали включаться только 2-4 реле со всех приборов.

Несколько дней назад обновил wb-rules до версии v2.20.7-1-gcf19d3b, и все приборы. После этого не перезагружал WB. После перезагрузки такая проблема появилась.

Простое действие
dev[‘wb-mr6cu_45/K4’] = newValue;
newValue равен true

Перестали включаться только несколько реле. Например на 45 приборе 4 и 6 реле не включаются. На 153 приборе 3 и 4 реле не включается через wb-rules.
Правила wb-rules выполняются

приложен диагностический архив, доступен только сотрудникам поддержки
(310,0 КБ)

На устаревшей прошивке нет смысла решать проблему.
Предлагаю обновить прошивку.
Если будете обновлять, сообщите пожалуйста, воспроизведётся ли поведение.

Обновлять лучше с помощью apt

Добрый день!
Обновил
Wirenboard release wb-2404 (as stable), target wb7/bullseye
Проблема так же осталась. После рестарта через веб все реле включаются, а через wb-rules 2-4 реле с ошибкой. Если еще рас сделать рестарт, то эти реле могут заработать а другие 2-4 штуке нет.

приложен диагностический архив, доступен только сотрудникам поддержки
(569,9 КБ)

Например сейчас это реле не работает через wb-rules
ERROR: [rule error] failed to SetValue for unexisting control wb-mr6cu_20/K2: true

Очень похоже на баг wb-rules, который устранили в последних версиях в testing релизе. Можно перейти на testing или подождать новый релиз.

А когда примерно ждать новый релиз?

Обновились на тестовый релиз. Пока не проверяли все реле, чуть позже.
Перестал работать onokom

На этом же mod2 подключены WB-MSW v.4, они работают


Скорость как по инструкции к onokom

На тестовом релизе проблема ушла. Осталось с onokom что нибудь сделать

Предлагаю проверить, что настройки канала совпадают с настройками на устройстве, проверить физическое подключение. А также попробовать опросить устройство с помощью Modbus-client

Настройки все совпадают. При опросе через modbus-client onokom не находит, только WB-MSW v.4 находит. Сбросил питание с onokom, всеравно не находит. По логам перед обновлением связь есть с onokom, как только обновился на тестовый и перезагрузил wb связь пропала на всегда

Еще как нибудь можно протестировать?

Давайте сначала покажете как подключен модуль Onokom, проверим физику. Как подключен gnd модуля, как он связан с gnd изолированного порта?

Покажите пожалуйста саму команду и ее вывод.

Через modbus_scanner_rpc пойдет ответ?

root@wirenboard-xxxxxx:/mnt/data/etc/wb-rules# modbus_scanner_rpc /dev/ttyMOD2
Found device with SN 197211, modbus address 120, UART params <9600 8N2>
Found device with SN 197288, modbus address 56, UART params <9600 8N2>
root@wirenboard-xxxxxx:/mnt/data/etc/wb-rules#
root@wirenboard-xxxxxx:/mnt/data/etc/wb-rules# modbus_client_rpc --debug -mrtu -pnone  /dev/ttyMOD2 -a120 -t0x03 -r128
2024-07-18 14:57:52,300 [DEBUG] [78][03][00][80][00][01][8e][4b]
2024-07-18 14:57:52,304 [DEBUG] Connecting to broker unix:///var/run/mosquitto/mosquitto.sock
2024-07-18 14:57:52,309 [DEBUG] RPC Client -> {'path': '/dev/ttyMOD2', 'baud_rate': 9600, 'parity': 'N', 'data_bits': 8, 'stop_bits': 1, 'response_size': 7, 'format': 'HEX', 'msg': '7803008000018e4b', 'total_timeout': 1000} (1000 timeout ms)
2024-07-18 14:57:52,371 [DEBUG] RPC Client <- {'response': '780302007825ac'}
2024-07-18 14:57:53,373 [DEBUG] Response: 780302007825ac
2024-07-18 14:57:53,374 [DEBUG] <78><03><02><00><78><25><ac>
SUCCESS: read 1 elements:
        Data: 0x0078
root@wirenboard-xxxxxx:/mnt/data/etc/wb-rules# modbus_client_rpc --debug -mrtu -pnone  /dev/ttyMOD2 -a1 -t0x03 -r128
2024-07-18 14:58:00,814 [DEBUG] [01][03][00][80][00][01][85][e2]
2024-07-18 14:58:00,818 [DEBUG] Connecting to broker unix:///var/run/mosquitto/mosquitto.sock
2024-07-18 14:58:00,826 [DEBUG] RPC Client -> {'path': '/dev/ttyMOD2', 'baud_rate': 9600, 'parity': 'N', 'data_bits': 8, 'stop_bits': 1, 'response_size': 7, 'format': 'HEX', 'msg': '01030080000185e2', 'total_timeout': 1000} (1000 timeout ms)
2024-07-18 14:58:01,438 [DEBUG] Options: {'debug': True, 'mode': 'rtu', 'slave_addr': 1, 'read_count': 1, 'start_addr': 128, 'func_type': 3, 'timeout': 1000, 'address_decrement': False, 'baudrate': 9600, 'data_bits': 8, 'stop_bits': 1, 'parity_port': 'N', 'mqtt_broker': 'unix:///var/run/mosquitto/mosquitto.sock', 'serialport_host': '/dev/ttyMOD2', 'write_data': []}
ERROR occurred
2024-07-18 14:58:02,441 [DEBUG] Error message: Server error
2024-07-18 14:58:02,442 [DEBUG] Error code: -32000
2024-07-18 14:58:02,443 [DEBUG] Error data: Port IO error: Serial protocol error: request timed out


Вот так сейчас сделали

Я вижу тут указан адрес 1 Он не менялся для модуля?

Подойдет. Сканировать с помощью modbus_scanner_rpc - бесполезно, кстати.

Неподключен O3 lkz Mod_out 2
Шина требует Gnd, подключите его пожалуйста.
Ну и переберите все ж адреса - возможно он был сменен. Или точно первый?