howto: openWB über anderen mosquitto MQTT Broker vernetzen (MQTT Bridge)
Verfasst: So Nov 03, 2019 10:09 pm
...vielleicht ist das ja von Interesse für den ambitionierten Bastler im Umfeld SmartHome und IoT.
Edit:
...die untenstehende Anleitung ist für User mit einem eigenen MQTT-Broker, ausserhalb der openWB und für eine Verbindung ausgehend von diesem, externen Broker zum Broker der openWB.
Wer es andersrum haben will und den Broker der openWB nach extern vernetzten will, findet inzwischen Einstellungen in der openWB selbst.
Kevin hat für diesen Anwendungsfall zB auch einen Broker bereitgestellt und unter web.openwb.de ein GUI gebaut, siehe hier: search.php?author_id=2&sr=posts
----schnipp----hier geht es mit dem Original-Faden weiter------schnapp-----
Wer schon einen MQTT Broker zuhause hat, zB in seinem SmartHome, kann diesen einfach mit dem Broker in der openWB über eine Bridge vernetzen.
Damit sind die Topics automagisch auch im "heimischen" Broker verfügbar.
Ein SmartHome muss daher nicht extra einen Kanal / Subscription zur openWB aufmachen...das spart Ressourcen, auch in der openWB.
Eine Grundanleitung findet ihr hier: http://www.steves-internet-guide.com/mo ... iguration/
Für eine bi-direktionale Verbindung (Topic Subscribe & Publish) reicht es, wenn es in einem der beiden Broker konfiguriert ist.
Der Broker mit der Bridge-Konfiguration ist dabei ein MQTT-Client zum entfernten Broker.
Der andere Broker sieht praktisch nur einen Client.
Hier ^mal die config, die einen lokalen Broker an den Broker der openWB anbindet:
...die config in einer Datei in Konfigurations-Unterverzeichnis des mosquitto Brokers ablegen (meist heisst das ./conf.d und liegt im Verzeichnis, in dem die mosquitto.conf abgelegt ist).
In einer Standardinstallation, wird jede .conf Datei beim Start aktiviert und der Gesamtkonfiguration hinzugefügt.
Gimmick:
Wer seine Topics auch im I-Net und nicht nur von zuhause im Griff haben/Steuern will, kann eine Bridge zu einem MQTT-Broker im I-Net nutzen.
Nachfolgend ein Beispiel für cloudMQTT (https://www.cloudmqtt.com/).
CloudMQTT unterstützt SSL-Zugriff über offizielle Root-Zertifikate, damit kann man abhörsicher verbinden und sicher sein, den offiziellen Broker erreicht zu haben
Wichtig: wer mehr als eine Bridge konfiguriert, für jede Bridge eine andere (lokale) Client-ID verwenden
Have fun!
Edit:
...die untenstehende Anleitung ist für User mit einem eigenen MQTT-Broker, ausserhalb der openWB und für eine Verbindung ausgehend von diesem, externen Broker zum Broker der openWB.
Wer es andersrum haben will und den Broker der openWB nach extern vernetzten will, findet inzwischen Einstellungen in der openWB selbst.
Kevin hat für diesen Anwendungsfall zB auch einen Broker bereitgestellt und unter web.openwb.de ein GUI gebaut, siehe hier: search.php?author_id=2&sr=posts
----schnipp----hier geht es mit dem Original-Faden weiter------schnapp-----
Wer schon einen MQTT Broker zuhause hat, zB in seinem SmartHome, kann diesen einfach mit dem Broker in der openWB über eine Bridge vernetzen.
Damit sind die Topics automagisch auch im "heimischen" Broker verfügbar.
Ein SmartHome muss daher nicht extra einen Kanal / Subscription zur openWB aufmachen...das spart Ressourcen, auch in der openWB.
Eine Grundanleitung findet ihr hier: http://www.steves-internet-guide.com/mo ... iguration/
Für eine bi-direktionale Verbindung (Topic Subscribe & Publish) reicht es, wenn es in einem der beiden Broker konfiguriert ist.
Der Broker mit der Bridge-Konfiguration ist dabei ein MQTT-Client zum entfernten Broker.
Der andere Broker sieht praktisch nur einen Client.
Hier ^mal die config, die einen lokalen Broker an den Broker der openWB anbindet:
Code: Alles auswählen
root@mosquitto:/mnt/user/appdata/MQTT/conf.d# cat openwb.conf
#
# bridge to openWB Wallbox
#
connection openwb
address <openwb-IP>:1883
start_type automatic
topic openWB/# both 2
local_clientid rem.mosquitto
In einer Standardinstallation, wird jede .conf Datei beim Start aktiviert und der Gesamtkonfiguration hinzugefügt.
Gimmick:
Wer seine Topics auch im I-Net und nicht nur von zuhause im Griff haben/Steuern will, kann eine Bridge zu einem MQTT-Broker im I-Net nutzen.
Nachfolgend ein Beispiel für cloudMQTT (https://www.cloudmqtt.com/).
CloudMQTT unterstützt SSL-Zugriff über offizielle Root-Zertifikate, damit kann man abhörsicher verbinden und sicher sein, den offiziellen Broker erreicht zu haben
Code: Alles auswählen
root@mosquitto:/mnt/user/appdata/MQTT/conf.d# cat cloudmqtt.conf
#
# bridge to cloudmqtt
#
connection cloudmqtt
address <server des cloudMQQT accounts>:<SSL-Port>
remote_username <User aus der ACL des CloudMQQT Accounts>
remote_password <Passwort, wie in der User-ACL bei CloudMQTT vergeben>
remote_clientid cloud.mqtt
bridge_protocol_version mqttv311
try_private true
notifications false
start_type automatic
topic # both 2
# Method 01
# die offiziellen certs aus der Distro installieren und hier den Pfad konfigurieren
bridge_cafile /etc/ssl/certs/ca-certificates.crt
# Method 02
#bridge_cafile AddTrustExternalCARoot.crt
bridge_insecure false
cleansession false
local_clientid remote.mosquitto
Have fun!