Не меняются stop bits на WB-M6RC v.3

Дано, есть 5 WB-MR6C v.2, используются без контроллера. Через modbus подключены к HomeAssistant. На том же modbus висит 2 Neptune Base. Т.к. на нептунах нельзя менять настройки modbus, то они поменяны во всех WB-MR6C v.2. А именно stop bits изменён с 2 на 1. Остальные настройки по умолчанию. Всё работало замечательно около года.

Купил WB-MR6C v.3, пытаюсь поменять у него stop bits, комп подключен только к нему.
Ставится 1 и сразу сбрасывается на 2 (использую Rilheva Modbus Poll). Перезапуск не помогает.
Через HomeAssistant (modbus.write_register) тоже не меняется.

Вообще даже со stop bits 2 оно работает с HomeAssistant у которого выставлено stop bits - 1. Но в итоге переодически отваливаются все WB-MR6C v.2.

Добрый день.

И не будут меняться, так как Протокол Modbus — Wiren Board

А что такое “отваливаются”? покажите пожалуйста запросы отправляемый в шину и ответы на них.

На всех WB-MR6C v.2 я без проблем поменял на 1.

Я правильно понимаю что последние ревизии оборудования WirenBoard не подразумевают что на шине modbus есть кто то ещё, в т.ч. оборудование WirenBoard старых версий?

А что такое “отваливаются”? покажите пожалуйста запросы отправляемый в шину и ответы на них.

Они становятся Unvailable в Home Assistant. Т.е. он не может ими управлять, и не знает их состояние. Когда в следующий раз такое произойдёт - постараюсь записать логи.

Пока поставил на старых модулях stop bits 2.

Проверил, отлично работают.

Проверил, отлично работают.

Так они не сразу отваливаются. А в течении дня-двух.
Ну и, возможно, надо что бы в них было stop bits в 1 прописано.
Плюс постоянно по modbus управление происходило.
На новом WB-MR6C v.3 у меня висит сервопривод радиатора, который включается-выключается примерно каждые 10 минут

Кстати, было неплохо обновить Карта регистров модулей реле — Wiren Board, указав что stop bits сейчас менять нельзя.
И здесь:
Настройка параметров подключения по RS-485 для Modbus-устройств Wiren Board — Wiren Board
Т.к. сейчас там написано:
Уточнить настройку можно считав значение из регистра 112 с уже известным адресом, скоростью, четностью:

modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyAPP1 -a0x01 -t0x03 -r112

или

modbus_client --debug -mrtu -b9600 -pnone -s1 /dev/ttyAPP1 -a0x01 -t0x03 -r112

SUCCESS: read 1 of elements: Data: 0x0002

Если при чтении из регистра 112 вы получаете ошибку — устройство не поддерживает изменение параметров подключения. В этом случае для подключения используется значение по умолчанию,2 стоп-бита.

1 лайк

Вот логи. Все модули прошиты на последнюю версию (1.22.0), в настройках мастера (HomeAssistant) указано stop bits 1.
Id устройств WirenBoard - 10, 108 (новый), 178, 161, 233, 238

2025-11-28 12:18:01.044 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x3 0x0 0x1 0xc 0xb1
2025-11-28 12:18:02.045 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-11-28 12:18:02.077 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x4 0x0 0x1 0xbd 0x70
2025-11-28 12:18:03.078 DEBUG (MainThread) [pymodbus.logging] Repeating....
2025-11-28 12:18:04.080 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x4 0x0 0x1 0xbd 0x70
2025-11-28 12:18:05.084 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x4 0x0 0x1 0xbd 0x70
2025-11-28 12:18:06.085 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-11-28 12:18:06.116 DEBUG (MainThread) [pymodbus.logging] send: 0x6c 0x1 0x0 0x5 0x0 0x1 0xe5 0x76
2025-11-28 12:18:06.140 DEBUG (MainThread) [pymodbus.logging] recv: 0x6c 0x1 0x1 0x1 0x8c 0xe4 extra data:
2025-11-28 12:18:06.140 DEBUG (MainThread) [pymodbus.logging] Processing: 0x6c 0x1 0x1 0x1 0x8c 0xe4
2025-11-28 12:18:06.141 DEBUG (MainThread) [pymodbus.logging] decoded PDU function_code(1 sub -1) -> ReadCoilsResponse(dev_id=0, transaction_id=0, address=0, count=0, bits=[True, False, False, False, False, False, False, False], registers=[], status=1, retries=0)
2025-11-28 12:18:06.172 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x5 0x0 0x1 0xec 0xb0
2025-11-28 12:18:07.173 DEBUG (MainThread) [pymodbus.logging] Repeating....
2025-11-28 12:18:08.175 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x5 0x0 0x1 0xec 0xb0
2025-11-28 12:18:09.176 DEBUG (MainThread) [pymodbus.logging] send: 0xa 0x1 0x0 0x5 0x0 0x1 0xec 0xb0
2025-11-28 12:18:10.177 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-11-28 12:18:10.209 DEBUG (MainThread) [pymodbus.logging] send: 0x6c 0x1 0x0 0x3 0x0 0x1 0x5 0x77
2025-11-28 12:18:10.231 DEBUG (MainThread) [pymodbus.logging] recv: 0x6c 0x1 0x1 0x0 0x4d 0x24 extra data:
2025-11-28 12:18:10.231 DEBUG (MainThread) [pymodbus.logging] Processing: 0x6c 0x1 0x1 0x0 0x4d 0x24
2025-11-28 12:18:10.231 DEBUG (MainThread) [pymodbus.logging] decoded PDU function_code(1 sub -1) -> ReadCoilsResponse(dev_id=0, transaction_id=0, address=0, count=0, bits=[False, False, False, False, False, False, False, False], registers=[], status=1, retries=0)
2025-11-28 12:18:10.262 DEBUG (MainThread) [pymodbus.logging] send: 0x6c 0x1 0x0 0x1 0x0 0x1 0xa4 0xb7
2025-11-28 12:18:10.284 DEBUG (MainThread) [pymodbus.logging] recv: 0x6c 0x1 0x1 0x0 0x4d 0x24 extra data:
2025-11-28 12:18:10.284 DEBUG (MainThread) [pymodbus.logging] Processing: 0x6c 0x1 0x1 0x0 0x4d 0x24
2025-11-28 12:18:10.285 DEBUG (MainThread) [pymodbus.logging] decoded PDU function_code(1 sub -1) -> ReadCoilsResponse(dev_id=0, transaction_id=0, address=0, count=0, bits=[False, False, False, False, False, False, False, False], registers=[], status=1, retries=0)
2025-11-28 12:18:10.315 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x0 0x0 0x1 0xe5 0x6a
2025-11-28 12:18:11.317 DEBUG (MainThread) [pymodbus.logging] Repeating....
2025-11-28 12:18:12.318 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x0 0x0 0x1 0xe5 0x6a
2025-11-28 12:18:13.319 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x0 0x0 0x1 0xe5 0x6a
2025-11-28 12:18:14.322 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-11-28 12:18:14.353 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x1 0x0 0x1 0xb4 0xaa
2025-11-28 12:18:15.353 DEBUG (MainThread) [pymodbus.logging] Repeating....
2025-11-28 12:18:16.355 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x1 0x0 0x1 0xb4 0xaa
2025-11-28 12:18:17.356 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x1 0x0 0x1 0xb4 0xaa
2025-11-28 12:18:18.358 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request
2025-11-28 12:18:18.390 DEBUG (MainThread) [pymodbus.logging] send: 0x6c 0x1 0x0 0x4 0x0 0x1 0xb4 0xb6
2025-11-28 12:18:18.414 DEBUG (MainThread) [pymodbus.logging] recv: 0x6c 0x1 0x1 0x0 0x4d 0x24 extra data:
2025-11-28 12:18:18.414 DEBUG (MainThread) [pymodbus.logging] Processing: 0x6c 0x1 0x1 0x0 0x4d 0x24
2025-11-28 12:18:18.415 DEBUG (MainThread) [pymodbus.logging] decoded PDU function_code(1 sub -1) -> ReadCoilsResponse(dev_id=0, transaction_id=0, address=0, count=0, bits=[False, False, False, False, False, False, False, False], registers=[], status=1, retries=0)
2025-11-28 12:18:18.446 DEBUG (MainThread) [pymodbus.logging] send: 0x6c 0x1 0x0 0x5 0x0 0x1 0xe5 0x76
2025-11-28 12:18:18.468 DEBUG (MainThread) [pymodbus.logging] recv: 0x6c 0x1 0x1 0x1 0x8c 0xe4 extra data:
2025-11-28 12:18:18.468 DEBUG (MainThread) [pymodbus.logging] Processing: 0x6c 0x1 0x1 0x1 0x8c 0xe4
2025-11-28 12:18:18.468 DEBUG (MainThread) [pymodbus.logging] decoded PDU function_code(1 sub -1) -> ReadCoilsResponse(dev_id=0, transaction_id=0, address=0, count=0, bits=[True, False, False, False, False, False, False, False], registers=[], status=1, retries=0)
2025-11-28 12:18:18.499 DEBUG (MainThread) [pymodbus.logging] send: 0x6c 0x1 0x0 0x2 0x0 0x1 0x54 0xb7
2025-11-28 12:18:18.522 DEBUG (MainThread) [pymodbus.logging] recv: 0x6c 0x1 0x1 0x1 0x8c 0xe4 extra data:
2025-11-28 12:18:18.522 DEBUG (MainThread) [pymodbus.logging] Processing: 0x6c 0x1 0x1 0x1 0x8c 0xe4
2025-11-28 12:18:18.522 DEBUG (MainThread) [pymodbus.logging] decoded PDU function_code(1 sub -1) -> ReadCoilsResponse(dev_id=0, transaction_id=0, address=0, count=0, bits=[True, False, False, False, False, False, False, False], registers=[], status=1, retries=0)
2025-11-28 12:18:18.553 DEBUG (MainThread) [pymodbus.logging] send: 0xa1 0x1 0x0 0x2 0x0 0x1 0x44 0xaa
2025-11-28 12:18:19.554 DEBUG (MainThread) [pymodbus.logging] Repeating....
2025-11-28 12:18:22.556 ERROR (MainThread) [pymodbus.logging] No response received after 3 retries, continue with next request

За секунду нет ответа?
Ну, тут, предполагаю, проблема шины. Чем выполнена, какие терминаторы стоят? Хорошо ли подключен Gnd?