Проблема с Arlight DALI-LOGIC-LITE-PS-x1

Добрый день!

Наблюдаю точно такую же проблему, как в этой теме, но на стабильной ветке прошивки (не testing/trixie):

Release: wb-2606
Suite: stable
Target: wb8/bullseye

Устройство: Arlight DALI-LOGIC-LITE-PS-x1

Периодически (несколько раз в час) соединение обрывается, в логах:

Jul 19 15:20:54 wirenboard-AKUR4GWC wb-mqtt-serial[3243715]: WARNING: [register handler] failed to write: <modbus-tcp:1:holding: 384>: Serial protocol error: socket closed
Jul 19 15:20:54 wirenboard-AKUR4GWC wb-mqtt-serial[3243715]: WARNING: [serial client] <modbus-tcp:1:holding: 384> register write cancelled: port is not open

Ошибка повторяется регулярно на протяжении нескольких часов (15:20, 16:02, 16:11, 16:27, 16:35, 16:50, 17:00), пинг до устройства при этом стабильный, оба устройства в одной локальной сети.

Похоже, проблема не ограничена testing-веткой — прикладываю лог, чтобы помочь в диагностике. Могу собрать и прислать диагностический архив контроллера, если это поможет — подскажите, актуальна ли ещё эта проблема и нужна ли доп. информация.

Спасибо!

Добрый день!

Для полной картины пришлите, пожалуйста, диагархив.

Здравствуйте!

Инструкция по подключению Arlight DALI-LOGIC-LITE-PS-x1 представлена в нашей документации Использование шлюза Arlight DALI-LOGIC-LITE-PS-x1 с контроллером Wiren Board - Wiren Board . Там подключение напрямую через Modbus TCP. Как в данном случае диммер подключается через WB-MGE v.3?

Диммера нет, диагностический архив во вложении.

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

подключение идет через Modbus TCP

Прошу прощения, шлюза.

Чтобы понять, кто закрывает TCP-сессию — сам шлюз или опрос со стороны контроллера, — прогоните запись в тот же регистр напрямую, в обход wb-mqtt-serial.

Отановите опрос):

systemctl stop wb-mqtt-serial

Проверьте через modbus_client запись в регистр несколько сотен раз циклом (modbus_client --debug -mtcp -p502 192.168.1.1 -a1 -t0x06 -r385 100):

for i in {0..500}; do echo $i; modbus_client --debug -mtcp -p502 192.168.1.1 -a1 -t0x06 -r385 100; done

Верните опрос обратно:

systemctl start wb-mqtt-serial

Если шлюз будет возвращать ошибки, то приложите их.


провел опрос контроллера с ПК в то время как была ошибка на WB


это как вы просили, запись в контроллер идет с WB при отключенном опросе
Ошибок нет

при включенном опросе
выполнил for i in {0..100}; do echo $i; modbus_client --debug -mtcp -p502 -a1 -t0x03 -r385 -c1 -o5000 192.168.1.1; done
на 3 попытке вышла ошибка


11 ошибок на 100 иттераций

То, что при остановленном опросе ошибок нет, говорит о том, что со связью всё в порядке — на физическом уровне и с самим шлюзом проблем нет.

Остаётся проверить версию, что шлюз могут одновременно опрашивать несколько клиентов. Чтобы понять, есть ли посторонний клиент в обычной работе (а не только во время ручного теста), помогите, пожалуйста, с двумя вещами:

  1. Воспроизведите исходную проблему в чистом режиме — только контроллер, без параллельных запросов с ПК и без открытой фирменной утилиты Arlight. Если в таком режиме обрывов нет, а свет и группы работают штатно — значит, причина была именно в конкурирующем подключении.

  2. Проверьте, не обращается ли к шлюзу что-то ещё помимо контроллера: открытая веб-панель или утилита Arlight, второй контроллер, SCADA, сторонняя интеграция. Такой клиент и будет ронять сессию контроллера.

Ещё один момент по архиву: шлюз подключён к контроллеру не напрямую, а через общую сеть. Видно, что контроллер и шлюз (192.168.1.1) находятся в одной подсети 192.168.1.0/24, где есть роутер (шлюз по умолчанию 192.168.1.254). Причём сам контроллер подключён к этой сети сразу двумя интерфейсами одновременно — по кабелю (eth0, 192.168.1.250) и по Wi-Fi (wlan1, 192.168.1.251). Оба в одной подсети.

Чтобы полностью исключить влияние сетевого оборудования, предлагаю на время диагностики подключить шлюз напрямую в порт контроллера отдельным кабелем — без роутера и коммутатора между ними, задав статические адреса в отдельной маленькой подсети (например, контроллер 192.168.10.2, шлюз 192.168.10.1). Тогда к шлюзу гарантированно будет обращаться только контроллер, и никакой сторонний клиент до него не дотянется.

Если в чистом режиме обрывы всё же останутся — напишите, и мы продолжим разбор уже на нашей стороне.

Вчера вечером удалил устройство Arlight DALI-LOGIC-LITE-PS-x1, сохранил настройки, добавил его обратно. Ошибки ушли из логов. Пока полет нормальный. Наблюдаю дальше.
Почему это помогло у меня только догадки, может вы поясните магию этого действия?

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

Добрый день!

Вам удалось проверить с прямым подключением?