Wb-mqtt-dali не обрабатывае события c WB-DALI3

Настроил получение событий с устройств датчика движения и освещенности DALI2 через WB-DALI3, но в топиках они не появляются, а в логах шлюза ошибка:

<< 668585 FF24 AmbiguousInstanceType(short_address=51, instance_number=1, data=389) (fc: 34006)

В чем проблема?

Добрый день!

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Куда прислать?

Сюда присылайте, там нет конфиденциальной информации.

Ловите

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

А пришлите еще, пожалуйста, фото того как смонтировано устройство и что за датчики применяете. Укажите их наименования, если будет плохо видно.
Еще интересует версия прошивки WB-DALI3.

Вы это настраивали через WEB-UI контроллера?

Сразу ответа не ожидайте - тут потребуется подумать.

Фото монтажа прислаь не могу, уже настраиваю удаленно, несколько треков со свтильниками DALI2 на первом порту шлюза, светильники обьединены в 4 группы, это все настроил через веб-контроллера, управление светильниками работает. Так-же в треки установлено 3 датчика движения, я их глазами не видел, но согласно информации от сканированиея шины это Tridonic MSensor G3 SFI 30 PIR 5DPI BK.

Сначало я их настраивал через веб-контроллера, но ваш интерфейс шлюза не запоминает сделаные настройки, точнее произвольным образом запоминает для одних устройств, а для других нет, приходится заново считвыать информацию с устройства, я замучался и стал настраивать черед Lunatone-DALI-Кокпит.

Когда я включаю другие типы адресации, например, тип/номер компонента или адрес устройства/тип компонента, то в логах видно, что событие приходят, но видимо ваше ПО не умеет их интерпретировать. Когда я включаю тебуемый в документации тип адресации (короткий адрес устройства/номер компонента) то в логах появляется вышеописанная ошибка.

Версия прошивки WB-DALI3: 1.0.0 согласно данным опроса.

Вот сейв DALI сети из Lunatone, если он может чем-то помочь

DALINetwork_2026_05_25.dnc (1,5 КБ)

Я пробовал разные сочетания настроек инстансов, результат один. Некоторые скрины во воложении

Пришлите, пожалуйста, вывод команды: wb-mqtt-dali --check-presence wb-mdali_1

Тут оказалось, что задача непростая. Коллеги поросили доступ к контроллеру.

Сможете организовать?

Пригласите, пожалуйста, пользователя support@wirenboard.com в организацию на облачном сервисе.

Поставьте временный пароль от SSH пришлите личным сообщением (потом замените).

Для этого в настройках организации нажмите кнопку “Пригласить”


И укажите почтовый адрес:

После этого поддержка получит доступ к вашему контроллеру для диагностики.
Не забудьте удалить потом доступ.

Лучше покажите монитор сети, в котором будут видны команды.
Сеть - не несет пользы в данном случае.
Экспортируйте из монитора


и укажите - где сообщения с требуемыми данными.

root@wirenboard-A3VN7OBV:~# wb-mqtt-dali --check-presence wb-mdali_1
ERROR:wb-mdali_1_bus1:Timeout waiting for response Terminate() for queue index 0
ERROR:wb-mdali_1_bus1:Timeout waiting for response Initialise(broadcast=True) for queue index 1
ERROR:wb-mdali_1_bus1:Timeout waiting for response SearchaddrH(255) for queue index 2
ERROR:wb-mdali_1_bus1:Timeout waiting for response SearchaddrM(255) for queue index 3
ERROR:wb-mdali_1_bus1:Timeout waiting for response SearchaddrL(255) for queue index 4
ERROR:wb-mdali_1_bus1:Timeout waiting for response Compare() for queue index 5
ERROR:wb-mdali_1_bus1:Timeout waiting for response Terminate() for queue index 6
ERROR:root:Disconnected during message iteration
Traceback (most recent call last):
  File "/usr/bin/wb-mqtt-dali", line 10, in <module>
    sys.exit(asyncio.run(main(sys.argv)))
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/usr/lib/python3/dist-packages/wb/mqtt_dali/main.py", line 415, in main
    return await check_presence_service(args.check_presence_gateway, args, dali2=False, bus=args.bus)
  File "/usr/lib/python3/dist-packages/wb/mqtt_dali/main.py", line 142, in check_presence_service
    if await check_presence(driver, False):
  File "/usr/lib/python3/dist-packages/wb/mqtt_dali/commissioning.py", line 814, in check_presence
    return r[-1].value is True
  File "/usr/lib/python3/dist-packages/wb/mqtt_dali/wbdali_error_response.py", line 30, in value
    raise RuntimeError("No response from gateway")
RuntimeError: No response from gateway
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-3' coro=<dispatcher() done, defined at /usr/lib/python3/dist-packages/wb/mqtt_dali/main.py:53> exception=MqttError('Disconnected during message iteration')>
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/wb/mqtt_dali/main.py", line 55, in dispatcher
    await mqtt_dispatcher.run()
  File "/usr/lib/python3/dist-packages/wb/mqtt_dali/mqtt_dispatcher.py", line 59, in run
    async for message in messages:
  File "/usr/lib/python3/dist-packages/asyncio_mqtt/client.py", line 367, in _message_generator
    raise MqttError("Disconnected during message iteration")
asyncio_mqtt.error.MqttError: Disconnected during message iteration
root@wirenboard-A3VN7OBV:~#

dali.dmd (146,5 КБ) сообщения с требуемыми данными, как я поимаю, это события Event, отфильтровал их для наглядности

dali.txt (345,6 КБ)

Доюрый день! Сообщите, пожалуйста, как предоставите доступ.

Увидел приглашение, спасибо.

Проверили ситуацию. Проблема оказалась связана с тем, что адреса DALI-устройств были изменены через Cockpit, но после этого в настройках WB-DALI3 не был выполнен повторный перескан шины. В результате сервис wb-mqtt-dali продолжал опрашивать старые адреса, которых уже не существовало, поэтому события определялись некорректно.

После повторного сканирования шины события начали обрабатываться корректно. Также был увеличен интервал опроса устройств — это дополнительно стабилизировало работу.

Вы также упоминали, что часть настроек не сохраняется. Хотим дополнительно разобраться в этом сценарии и понять, какие именно параметры теряются и после каких действий. Предположительно именно из-за этого потребовалось изменение настроек через Cockpit.

После изменения адресов устройств через сторонние инструменты или Cockpit необходимо выполнять повторное сканирование шины в настройках WB-DALI3 — это также указано в документации по шлюзу.

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

Проверьте, пожалуйста, все сами и сообщите.

Добрый день!

Вопрос решен?