Оглавление:
MQTT мост
Зачем нужен MQTT мост?
MQTT мост позволяет соединить два или более MQTT брокера вместе и используется для обмена сообщениями между системами.
Видео MQTT Bridge: NAS Synology. Docker. OpenWRT
Документация
- Настройка MQTT моста в аддоне MQTT Home Assistant
- Mosquitto. mosquitto.conf — the configuration file for mosquitto
- Mosquitto MQTT Bridge -Usage and Configuration
Ниже привел свой пример настройки MQTT bridge. Это позволит повысить безотказность работы умного дома. В случае выхода из строя чего либо, то ляжет только определенный участок, а не весь умный дом.
- NAS отвечает за все зоны
- Шлюз1 отвечает за зоны: коридор\санузел\кухню
- Шлюз2 отвечает за зоны: гостиная\спальня 1\спальня 2
Варианты сбоя
- NAS выключился, то шлюз 1 и шлюз 2 смогут общаться между собой без главного сервера. Автоматизация в доме продолжает работать, будто NAS не был выключен
- NAS работает, шлюз 1 выключен, шлюз 2 работает. Работает автоматизация только в гостиной и в спальнях
- NAS работает, шлюз 1 включен, шлюз 2 выключен. Работает автоматизация только в коридоре, в санузле и на кухне
Вариант 1. Схема настройки MQTT моста
Пример настройки MQTT bridge для шлюза под номером 1 (AqaraGate01). Который будет передавать топики на главный сервер, но при этом мы не подключаемся к шлюзу под номером 2 (AqaraGate02)
# MQTT Bridge AqaraGate01
# MQTT Bridge 1. Подключение к NAS Home Assistant
connection NAS_Home_Assistant
address 192.168.1.30:2883
listener 1883
remote_clientid AqaraGate01
remote_username MQTT
remote_password MQTT
bridge_attempt_unsubscribe true
cleansession true
start_type automatic
allow_anonymous true
try_private true
topic lumi/# both
topic zigbee2mqtt_gate01/# both
topic homeassistant/# out
Пример настройки MQTT bridge для шлюза под номером 2 (AqaraGate02). Который будет передавать топики на главный сервер и на шлюз под номером 1 (AqaraGate01)
# MQTT Bridge AqaraGate02
# MQTT Bridge 1. Подключение к NAS Home Assistant
connection NAS_Home_Assistant
address 192.168.1.30:2883
listener 1883
remote_clientid AqaraGate02
remote_username MQTT
remote_password MQTT
bridge_attempt_unsubscribe true
cleansession true
start_type automatic
allow_anonymous true
try_private true
topic lumi/# both
topic zigbee2mqtt_gate02/# both
topic homeassistant/# out
# MQTT Bridge 2. Подключение к шлюзу AqaraGate01
connection AqaraGate01
address 192.168.1.31:1883
bridge_attempt_unsubscribe true
cleansession true
start_type automatic
allow_anonymous true
try_private true
topic # both 0 "" ""
Вариант 2. Схема настройки MQTT моста
Шлюзы по умолчанию подключаются к MQTT брокеру на главном Home Assistant, но если по какой-то причине главный Home Assistant будет выключен или аддон MQTT брокер на главном Home Assistant будет выключен, то шлюзы переключатся друг на друга и будут общаться между собой
За переключение при не доступном брокере на главном MQTT брокере отвечают эти строчки
address 192.168.1.40:4127, 192.168.1.42:1883
round_robin false
round_robin false (переключать только, когда первый MQTT брокер не доступен)
round_robin true (подключаться ко всем MQTT брокерам)