Ошибка ИК в WB-MSW v3

Добрый день. ИК датчик срабатывает один раз из 10 попыток, в остальные возвращает ошибку.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
<39><01>ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
<39>ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
<6C><01><01><00><4D>ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
<39><01><01><00><5C>ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
<39>ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><05><13><00><1C><33>
SUCCESS: written 1 elements!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)

Пробовал остановитьservice wb-mqtt-serial , но результат такой же

root@wirenboard-AYTB4NYV:~# service wb-mqtt-serial stop
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Connection timed out: select
<40>ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><05><13><00><1C><33>
SUCCESS: written 1 elements!
root@wirenboard-AYTB4NYV:~#

Подтверждаю, аналогичная ситуация.

Очень похожу что поднят какой-то из флагов (coil’ов) записи.
Документация: https://wirenboard.com/wiki/WB-MSx_Consumer_IR_Manual
Проверьте так:

export DEV_PORT=/dev/ttyRS485-1
export DEV_ADDR=57
#Читаем флаги "редактирования"
for i in {5200..5280}
do
 echo "register $i $(modbus_client --debug -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x01 -r$i | grep Data:)"
done

#Читаем флаги "записи"
for i in {5300..5380}
do
 echo "register $i $(modbus_client --debug -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x01 -r$i | grep Data:)"
done

Если какой-то из них активен - то воспроизведение невозможно.
Ну и посмотрите длину команды в регистре 5400+i

Доброе утро!
Вроде никто не ответил.

log.txt (8.9 КБ)

Тут я что-то неправильно сделал?

root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5401 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][15][19][FF][00][5D][49]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!

Ну, тут у вас ни на одну из команд ответа просто нет. Надо проверячть подключение, адрес устройства. Остальные на этой шине работают? wb-mqtt-serial перед тестом останавливаете?

Остановка не помогает. Точно также через несколько раз ответил. Куда смотреть, как их опрашивать?

Снимите датчик и подключите к свободному (второй порт занят?) порту котнтроллера. Заодно шину проверим. Зеленый светодиод на датчике как себя ведет?

Перекинул, диод два коротких и длинный

Оставил один, некоторые регистры стали отвечать.
log.txt (6.7 КБ)

Угу, у вас свежая прошивка, 32 банка команд.
Так что все хорошо. Попробуйте воспроизведение команд?

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

root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
ERROR Resource temporarily unavailable: read
ERROR occured!

когда выдает выполнено, включает

root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><05><13><00><1C><33>
SUCCESS: written 1 elements!

И еще вот такая ошибка, при ней тоже сигнал не идет. Она редко появляется

root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><01><01><00><5C>
Message length not corresponding to the computed length (6 != 8)
ERROR occured!

Через веб интерфейс вообще не идет сигнал.

Хм. Сейчас на том же порту и на той же шине? Очень похоже на проблемы связи, линии. Питание на MS какое?

Да, этот же порт, питание ваш блок на 12в для WB

Что бы не создавать новые темы. Прошу подсказать.
В вики написано, что

#Начинаем запись сигнала с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16
root@wirenboard:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 1
#Направляем пульт на окно приемника и нажимаем кнопку на пульте ДУ
root@wirenboard:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 0
#Завершаем запись сигнала с номером 1

Правильно я понимаю что управление первой банки памяти находится в регистрах 5301\ 5101 запись чтение соответственно?

Вообще - банки идут с номера “0”. Просто в примере использован “1”.
Соответственно управление записью - [5300…5331]

Просто, написано не четко и не понятно откуда идет нумерация, спасибо.

Поправлю, благодарю. Хотя в таблице ж точно 5300 написано.

Это который https://wirenboard.com/ru/product/blok-pitania-v-rozetku/?
Дело в том что MS при воспроизвеении потребляет приличный ток, но очень коротко. Если линия питания слабая - то может проседать.
Попробуйте после ошибок прочитать регистры 104 и 105 (время работы) https://wirenboard.com/wiki/Common_Modbus_Registers Если они сбрасываются - устройство перзагружается. Ну или снимите и подключите более короткой линией.

Да, блок питания этот.

Линия короткая.
Ток на датчике во время отправки команды в норме
image

Результат все так же через раз.

root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><05><13><00><1C><33>
SUCCESS: written 1 elements!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><05><13><00><1C><33>
SUCCESS: written 1 elements!
root@wirenboard-AYTB4NYV:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a57 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[39][05][13][ED][FF][00][1C][33]
Waiting for a confirmation…
<39><01><01><00><5C>
Message length not corresponding to the computed length (6 != 8)
ERROR occured!

С морды ВБ так и не отправляет