Давайте всё-таки зафиксируем факты и перестанем искать проблему в проектировании, монтаже и сторонних устройствах, поскольку проведённые проверки уже достаточно однозначно локализуют источник неисправности.
При физически отключённом WB-DALI3 установленная DALI-линия работает стабильно: команды с клавиш выполняются без пропусков.
При подключении WB-DALI3 к той же самой линии, без каких-либо других изменений, начинаются пропуски команд с клавиш и нестабильная работа.
Для исключения монтажа, нагрузки и сторонних исполнительных устройств проводились проверки на максимально упрощённой схеме, вплоть до отключения светильников и подключения практически только блока питания и шлюза. Наличие WB-DALI3 само по себе меняет поведение шины.
Совместно с вами по логам уже было подтверждено, что во время опроса шины шлюзом команды, передаваемые клавишами, пропускаются.
То есть имеется прямая и воспроизводимая причинно-следственная связь:
WB-DALI3 отключён - система работает стабильно.
WB-DALI3 подключён и выполняет опрос - часть команд теряется.
На этом фоне утверждение, что проблема заключается в том, что клавиши «не рассчитаны на совместную работу», не объясняет результаты эксперимента. Без WB-DALI3 эти же устройства нормально работают совместно на той же линии. Проблема возникает не просто при наличии нескольких управляющих устройств, а конкретно при появлении на шине WB-DALI3 и его периодического опроса.
Одновременная передача от двух клавиш, случайно нажатых в один момент, и регулярные коллизии, создаваемые автоматическим опросом шлюза, - это принципиально разные ситуации. Случайная коллизия между пользовательскими устройствами возможна эпизодически. Опрос WB-DALI3 выполняется постоянно и систематически занимает шину, из-за чего вероятность потери пользовательских команд создаётся самим шлюзом или его программным обеспечением.
Кроме того, WB-DALI3 заявлен как DALI-2-шлюз с поддержкой выключателей и сенсоров. Если при штатном опросе шлюза команды от подключённых к этой же шине устройств теряются, то фактическая совместная работа этих устройств не обеспечивается.
Ваше сообщение о том, что вы планируете добавить возможность отключения опроса, также фактически подтверждает, что источник проблемы находится в текущем алгоритме работы WB-DALI3. Если бы причиной являлись исключительно неправильный монтаж или несовместимые клавиши, отключение опроса шлюза не требовалось бы и не могло бы устранить проблему.
Я использую два выключателя производителем которых заявлен DALI2. Воспроизвести неверную работу - не получается.
Если воспроизводится некорректная работа одновременно нажатых выключателей при отключенном шлюзе - то проблема точно не в шлюзе.
Добавить планируем, но как раз для того чтобы была возможность работать совместно с DALI-1.
Я нигде не утверждал, что проблема возникает из-за одновременного нажатия двух выключателей.
Моя проблема воспроизводится в другом случае:
подключён WB-DALI3 и запущен его сервис - команды с выключателей периодически не выполняются;
сервис WB-DALI остановлен - проблема исчезает;
шлюз физически отключён - проблема также отсутствует.
То есть изменение только одного фактора - работы WB-DALI3 - полностью меняет поведение системы.
Именно поэтому я связываю проблему с работой шлюза, а не с самими выключателями.
Если же, по вашему мнению, причина не в WB-DALI3, тогда прошу объяснить:
Почему остановка сервиса WB-DALI полностью устраняет проблему?
Почему физическое отключение WB-DALI3 также устраняет проблему?
Какой именно механизм, по вашему мнению, вызывает потерю команд, если единственное изменение между рабочим и нерабочим состоянием — наличие активного WB-DALI3 на шине?
Кроме того, вы сами ранее писали, что планируете добавить возможность отключения опроса для совместной работы с DALI-1.
Правильно ли я понимаю, что текущая реализация опроса действительно может влиять на передачу команд другими устройствами на шине?
У меня складывается впечатление, что проблема не столько в моей инсталляции, сколько в том, что данный сценарий использования WB-DALI3 просто не был полноценно проверен до выпуска устройства.
Вы сами пишете, что «при разработке возможность использования в подобной комбинации не предполагалась». При этом WB-DALI3 позиционируется как шлюз DALI-2, а используемые мной модули для выключателей - это одни из наиболее распространённых модулей.
Как будто на реальном объекте сочетание: полностью заполненная линия DALI, несколько десятков устройств на шине и вот такие модули для клавиш, выглядит не каким-то нестандартным экспериментом, а вполне типичным сценарием эксплуатации.
Поэтому складывается впечатление, что испытания WB-DALI3 проводились на значительно более простой конфигурации, чем реальные объекты. Иначе сложно объяснить ситуацию, когда на тестовом стенде проблема не воспроизводится, а на полностью загруженной линии с наиболее распространёнными DALI устройствами возникают такие.
На мой взгляд, пока это больше похоже не на проблему конкретных выключателей, а на ограничение текущей реализации WB-DALI3, которое проявляется именно в условиях реальной эксплуатации.
Но суть остается все та же: как решить данную проблему? Использовать свет сейчас просто невозможно(
У меня именно такие (внешне) выключатели. Производитель явно пишет о том что они сертифицированы как DALI2. Не получается с ними воспроизвести некорректную работу.
Я уже видел примеры использования более сотни устройств на одном шлюзе - пока с проблемами не встречался.
Два варианта:
Использовать выключатели подключенные к сухим контактам модулей входов и управлять через шлюз.
Ну или остановить wb-mqtt-dali (отключив таким образом опрос) и отправлять сообщения в шину скриптом.
Добрый день!)
В общем проблему удалось решить корректировкой работы сервиса wb-mqtt-dali и отключением обязательных подтверждений состояний устройств, которые по сути забивали и блокировали работу шины. Подробный отчет прикрепил ниже) Очень надеюсь что вы подробно его изучите, и в следующем обновление исправите описанные в нем нюансы.