Работа с BWC от компании Techno-line

Добрый день.

Имею два WB (wb-2401) и BWC работающий с котлами Buderus (BWC EMS Plus - диспетчеризация и мониторинг Buderus Logamatic EMS+ | BuderusWebControl | Техно-Лайн).
Я хочу читать информацию и управлять BWC посредством MQTT.
BWC предоставляет такую возможность, все топики от него и от WB я могу видеть через программу MQTT Explorer. Подключаюсь как к host к WB через MQTT Explorer.
Читаю топики вида /devices/ctrl0/Boiler/actualBoilerTemperature - как пример от BWC.
НО в WB этих топиков нет, хотя на мой взгляд конвенция соблюдена.
Вопрос к разработчикам помогите интегрировать все топики с BWC в WB.

Добрый день.

Вам необходимо настроить MQTT мост.

Не совсем. Базовыми абстракциями являются devices и controls, как указано в конвенции. Чтобы устройства отображались в веб-интерфейсе — можно создать виртуальное устройство и с помощью trackMqtt() следить за изменением топиков и менять соответствующие топики виртуального устройства. Для публикации — publish() соответственно.

1 лайк

Добрый день.

не получается создать bridge.
Я изменил файл *.conf по инструкции , но получаю сообщение broken pipe.
В чем может быть причина ? файлы прилагаю

20bridges.conf (354 Bytes)

mosquitto_20240402T225926.log (4.28 KB)

Укажите ещё необходимый порт после адреса через двоеточие.

Пробовал…не работает

mosquitto_20240403T150004.log (4.02 KB)

В логах вижу тот же порт.
После редактирования конфигурационного файла перезапускаете mosquitto командой systemctl restart mosquitto ?

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

mosquitto_20240403T165206.log (4.13 KB)

Адрес и порт совпадают с теми, что указываете при подключении через MQTT Explorer?
Сервер и контроллер в одной сети находятся?

Не надо пробовать случайный порт. Используйте реально слушающий. Ну и для проверки - подпишитесь а топики с помощью mosquitto_sub
Сначала с контроллера к устройству а потом с устройства к контроллеру.

Добрый день. Не удалось ответить оперативно к сожалению.
1.Насколько я понимаю бридж мы можем организовать между двумя брокерами , в BWC не является таковым. Это устройство можно только подписать на брокера и все.
2.Я подписался на один топик в BWC через утилиту moscuitto_sub но в списках каналов этот топик я не вижу все равно.
Подписался так:
mosquitto_sub -t ‘/ctrl0/Boiler/actualBoilerTemperature’ -v
После подписки я вижу в конце топика показатели температуры , все хорошо.
Подскажите, каким образом я могу включить этот топик и остальные с BWC в свои SVG дашборды и правила.

Также я имею два контроллера WB в одной сети и после манипуляций второй контроллер перестал публиковать топики ! Публикует только один , подскажите что могло случиться …

Если там нет брокера - да, мост невозможен.

Просто для примера, подписываюсь на топик устройства:

mosquitto_sub -v -t "/devices/wb-w1/controls/#"
/devices/wb-w1/controls/28-00000fac1928 24.187
/devices/wb-w1/controls/28-00000fac1928/meta {"order":1,"readonly":true,"type":"temperature"}
/devices/wb-w1/controls/28-00000fac1928/meta/order 1
/devices/wb-w1/controls/28-00000fac1928/meta/readonly 1
/devices/wb-w1/controls/28-00000fac1928/meta/type temperature

Вижу совершенно необходимый и, надо сказать, описанный в конвенции подтопик meta. Он есть? Соответствует конвенции? Только при соответствии топик будет обработан.
Если нету - следует написать шлюз, который будет читать значения и публиковать их уже в ожидаемом виде.

1 лайк

подтопика meta нету. Видимо необходим шлюз. Есть ли у вас пример как это сделать ?

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

Вот совершенно аналогичное: Подключение сторонних устройств Shelly по MQTT со своим топиком shellies - #6 от пользователя DEMON