Dauerhaft Pro

Добрый день.

Установлен драйвер Dauerhaft. Много карнизов. Хотел разделить их и подключить на разные порты через MGE, остальные порты заняты.

Но выбрать такой порт в web нельзя. Подскажите есть еще варианты?

Добрый день!

Сейчас драйвер Dauerhaft PRO умеет работать только с локальными портами контроллера:
/dev/ttyRS485-1, /dev/ttyRS485-2 и /dev/ttyMOD1/dev/ttyMOD4.
Порты за WB-MGE выбрать нельзя, и вручную в /etc/wb-dauerhaft-pro.conf их тоже не прописать: драйвер проверяет конфигурацию по схеме и с другим значением порта не запустится.

Причина в том, как устроен обмен данными. Драйвер не открывает порт сам, а просит wb-mqtt-serial отправить кадр в шину, и сейчас умеет указывать порт только через путь к устройству. Порты WB-MGE подключаются к контроллеру как TCP-порты, по IP и номеру порта, поэтому в списке их и нет.

А вы можете, например, оставить карнизы на локальных портах а остальные Modbus-устройства перевести на MGE? Почему приходится разносить карнизы по разным шинам?

Если в контроллере есть свободные MOD-слоты, добавить внутренний модуль WBE2-I-RS485-ISO — каждый такой модуль даёт ещё один локальный порт /dev/ttyMOD*, с которым драйвер работает.

Сейчас все моды заняты. На шине 35 карнизов и есть задержки в работе, поэтому хотел разделить на разные порты. Производитель рекомендует до 10 штук на порт rs. На остальных модах висит боле менее важные устройства, и не хотелось бы пересаживать на отдельный порты. А так бы mge бы сильно помог.

Я так понимаю,что через старый скрип тоже работать не будет?

Да, 35 – это существенное количество…
Со старым скриптом ограничение то же. Он обращается к шине через тот же RPC-интерфейс wb-mqtt-serial и указывает порт полем «path», то есть тоже только локальные /dev/tty*.
Запрос на поддержку портов WB-MGE в нашем драйвере я зарегистрировал и передал нашим разработчикам, но по срокам ничего не могу сказать.
Что в старом драйвере, что в текущем надо переписывать код.
Можно, наверное, попробовать вариант с изменением схемы и пробросом порта через socat, но схема (/usr/share/wb-mqtt-confed/schemas/wb-dauerhaft-pro.schema.json) будет перезатираться с каждым обновлением все равно. Идея простая: socat поднимает на контроллере псевдо-порт, который прозрачно уходит в TCP-порт шлюза, а драйверу мы разрешаем этот путь выбрать. К сожалению, у меня нет приводов под рукой, чтобы поэкспериментировать.