Добавление стороннего modbus-устройства ломает остальные

Пытаюсь подключить по modbus приточку Turkov.

На момент начала к WB по линии RS485-1 подключено 4 устройства WB (wb-msw, wb-mr6c и т.п.).
Все устройства корректно работают, отображаются в Devices и так далее, т.е. полностью штатная работа.
По линии RS485-2 подключён только пульт от приточки, но пока не сконфигурирован в WB.

Действие 1.
В WB wb-mqtt-serial.conf через веб-интерфейс конфигурирую RS485-2. Получаются следующие настройки:

{
“path”: “/dev/ttyRS485-2”,
“devices”: [],
“baud_rate”: 9600,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 1,
“poll_interval”: 3000,
“enabled”: true
}

Сохраняю. Все устройства в WB всё ещё корректно работают.

Действие 2.
Останавливаю wb-mqtt-serial. Выполняю чтение из 1 регистра (вкл/выкл. приточки) и получаю успешный ответ:

root@wirenboard-AGY6SGDE:~# modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-2 -a3 -t0x03 -r1
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[03][03][00][01][00][01][D4][28]
Waiting for a confirmation…
<03><03><02><00><01><00><44>
SUCCESS: read 1 of elements:
Data: 0x0001

Включаю обратно wb-mqtt-serial.

Действие 3.
Так же в wb-mqtt-serial.conf через веб-интерфейс пытаюсь добавить само устройство. Нажимаю “+ Serial Device”, указываю id = “3”, тип = пустой. Нажимаю “Save”:


Перехожу на вкладку Devices и вижу, что все мои устройства исчезли (остался только сам контроллер WB). Аналогично в Settings/MQTT Channels - только топики от контроллера. При этом в wb-mqtt-mbgate.conf все “старые” топики от устройств присутствуют. Весь умный дом “сломался”, т.е. попытки записать в топики со стороны home assistant ничем не заканчиваются (это я к тому, что не просто на фронте что-то сломалось, а оно в принципе становится неработоспособным).

Из того, что заметил на данном этапе - если обратно перейти в конфиг, у добавленного устройства будет device_type": “DDL04R”. Попытка стереть или поменять на что-то собственное (например, “TURKOV”, как в этом сообщении, при сохранении всё равно сбрасывает в DDL04R.) Ну и такой интерфейс найти у себя не могу.

Действие 4.
Через веб-интерфейс в wb-mqtt-serial.conf удаляю устройство, нажимаю Save.
В разделе Devices сразу появляются все старые устройства, в Settings/MQTT Channels - все старые топики, всё работает как и раньше.

Вопрос - где я как пользователь затупил? :grinning: Был даже уверен, что добавление устройства на этом не закончится и нужно будет что-то ещё конфигурировать, но точно не был готов, что первый же шаг сломает всё остальное.

В качестве дополнения, я примерно догадался, куда я не туда зашёл с точки зрения пользовательского workflow.
По этой инструкции, я должен выбрать шаблон “Custom Device”, однако у меня в выпадающем списке его нет.
Почему?

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

Скорее всего вы некорректно добавляете новое устройство, при этом сервис wb-mqtt-serial просто не может прочитать настройки и не запускается. Работу сервиса можно проверить командой:
service wb-mqrr-serial status
Для нормальной работы статус должен быть active (runninng). При ошибках во время старта сервис выводит сообщения в лог, просмотреть сообщения от сервиса можно командой
journalctl -f -u wb-mqtt-serial

Вероятно, вы используете не самую новую версию пакета wb-mqtt-serial.
В вашей версии надо сделать так.
Добавить новое устройство:

Нажать кнопку Properties и установить галочки, как на рисунке ниже:

Можно обновить пакет wb-mqtt-serial до последнего в ветке testing: https://wirenboard.com/wiki/Software_Releases. При этом при необходимости сделайте резервные копии настроек (шаблонов) контроллера.

Спасибо, инструкция помогла, всё заработало.
В части обновления до testing - всё же дождусь 1 недельку перехода на нормальные ветки.
В части “Скорее всего вы некорректно добавляете новое устройство, при этом сервис wb-mqtt-serial просто не может прочитать настройки и не запускается.”, для пользователя это, увы, не очевидно - штатно нажал кнопку и “всё сломалось”.

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

1 симпатия