Как настроить MQTT для работы с zigbee2mqtt и wb8.5?

Вводные данные: Есть контроллер wb8.5, сервер на homeassistant. Общаются по MQTT брокеру mosquitto в локальной сети. ZBDongle-E (Zigbee 3.0 USB Dongle Plus) для zigbee устройство.

Для общения HA и ZBDongle планирую использовать Zigbee2MQTT. В интеграцию MQTT в home assistant нельзя добавить вторую запись. Отдельно MQTT интеграция настроенная через ip wb в локальной сети работает. И если настраивать интеграцию для Zigbee2MQTT как “core-mosquitto” тоже работает. Подскажите как их подружить?
Как мне читать топики одновременно и с wb и ZBDongle. Нужно использовать облачный брокер и делать мост для wb?

Добрый день,
можете нарисовать блок-схему, где будет указано, что, где и как подключено и должно взаимодействовать?

Вот функциональная схема связи.

Интеграция MQTT в home assistant поддерживает только одну конфигурацию настроек. Для общения с wb настроено как на скриншоте ниже (в поле брокер указан ip контроллера в локальной сети).

Для общения с ZBDongle через zigbee2mqtt мне нужно настроить интеграцию по-другому, в поле брокер указать core-mosquito.

Как настроить, чтобы был доступ к чтению топиков двух устройств? Или я чего-то не понимаю?
Спасибо!

Добрый день,

Рекомендую ознакомиться с данной статьёй, в ней подробно описан процесс настройки MQTT-моста.

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

Перед началом настройки настоятельно рекомендуем сделать резервные копии как Home Assistant, так и Wiren Board. Это поможет избежать потери данных в случае ошибки конфигурации.

Спасибо! Попробую

Добрый день, удалось ли решить вопрос?

Добрый день.

Пытаюсь настроить MQTT-мост согласно данной [статье] (MQTT в контроллерах Wiren Board — Wiren Board). Сервис Cloudmqtt переехал и объединился с другим ресурсом поэтому решил использовать [Clusterfly] (https://clusterfly.ru/) (пример в статье тоже есть). Другие пока не пробовал.

На данный момент столкнулся с проблемой - бридж не запускается, статус 0. Пробовал разные серверы srv1.clusterfly.ru (из примера) и srv2.clusterfly.ru.

Конфиг srv1

Status srv1

Конфиг srv2

Статус srv2

Статус моста в обоих случаях 0.

Бридж статус

Статус бриджа

Возможно, я менял права доступа к папкам /var/log/mosquitto и /run/mosquitto. 740 это адекватные права?

Подскажите, куда дальше копать?

Добрый день! Я так понимаю, сейчас два брокера один на сервере HA, один на контроллере WB. Надо их объединить между собой. В идеале чтобы WB принимал топики от HA, а не HA был подписан на WB. Можно ли в настроить либо чтобы все Zigbee2mqtt слал на HA и WB отправлял топики на WB ?

Добрый день!

Прошу более подробно описать работу вашей схемы, а также уточнить, по какой причине требуется использование внешнего MQTT-брокера.

Также прошу присылать выводы из консоли в текстовом виде — так их проще анализировать и обрабатывать.

Что касается подключения, рекомендую проверить логи службы mosquitto — они, как правило, содержат полезную информацию о причинах неполадок.

Добрый день, удалось ли решить вопрос?

Проблему решить пока не удалось. Я расписал всю схему работы. Что еще расписать, не понимаю?

Может быть параметры конфигурации zigbee2mqtt настроить на ip контроллера? Но тогда вопрос как обеспечить связь ZBdongle и wirenboard?

Спойлер

Добрый день,

К сожалению, у нас нет опыта настройки Zigbee-модулей стороннего производства.
Установка и настройка Zigbee2MQTT производится по данной инструкции.

Скорее всего, вам потребуется вручную указать параметры подключения стика к контроллеру в файле
/mnt/data/root/zigbee2mqtt/data/configuration.yaml.
Обратите внимание на секцию serial: — там нужно задать путь к устройству и тип адаптера.

Добрый день, удалось ли решить вопрос?

Добрый день.
Да, получилось настроить локальный bridge между контроллером wb и сервером Home Assistant. Пока от идеи использовать облачный mqtt clusterfly отказался, вернусь к ней позже.

В контроллере wb отредактировал файл /etc/mosquitto/conf.d/20bridges.conf следующим образом:

connection wbbridge-01
address 192.168.88.***:1883
notifications true
notification_topic /client/wb_85/bridge_status
topic # out 0
topic # in 0
remote_username *****
remote_password *****

После этого бридж запустился и топики передаются на сервер. Настройки дополнения zigbee2mqtt не менял. В настройках интеграции mqtt указал хост core-mosquitto, логин и пароль как в файле с настройками бриджа на контроллере.

Спасибо!

mqtt explorer

1 лайк

Добрый день,

Можете попробовать настроить интеграцию без внешнего брокера, чтобы Home Assistant использовал один MQTT-брокер, установленный на самом контроллере Wiren Board.
Это упростит конфигурацию и устранит возможные проблемы с синхронизацией между несколькими брокерами.

В настройках Home Assistant выберите стандартную интеграцию MQTT и укажите IP-адрес контроллера как адрес брокера.

Так и было. Но тогда устройства из zigbee2mqtt не отображаются в интеграции MQTT, поскольку Zigbee-модулей подключен к серверу, а не к контроллеру Wiren board/

Добрый день,

Должно работать — устройство Zigbee также создаёт MQTT-топик, на который можно подписаться в Home Assistant.
У меня по такому же принципу работает газовый сенсор на кухне.