HOWTO: MQTT Bridge auf externen MQTT Broker
Verfasst: 27.08.2023, 14:17
Ich habe heute mal versucht, CCU-Jack so zu konfigurieren, dass alle MQTT Nachrichten mit dem zusätzlichen Präfix "charly/" an meinen bereits existierenden mosquitto MQTT Broker übertragen werden, dass ich aber zusätzlich auch über den externen MQTT Broker set und get Kommandos an CCU-Jack übermitteln kann.
Da ich recht lange gebraucht habe, um das zusammen zu basteln (vermutlich habe ich die Wiki-Dokumentation anfangs nicht gut genug gelesen), möchte ich meine Konfiguration mal hier teilen, vielleicht ist es ja für den ein oder anderen nützlich:
Wichtig ist hier, dass man das bei Incoming-Meldungen abzuschneidende RemotePrefix (in meinem Fall "charly/") nicht im Pattern einträgt (es wird aber trotzdem im Pattern gematcht). Außerdem habe ich über Pattern eine strikte Trennung zwischen Incoming (set/get) und Outgoing (status) vorgenommen, andernfalls könnten bestimmte Nachrichten unendlich zwischen den beiden MQTT Brokern hin- und herbouncen.
Vielleicht ist das obige ja auch als Beispiel für https://github.com/mdzio/ccu-jack/wiki/ ... e#beispiel geeignet, leider hab ich da auf Anhieb keine Möglichkeit zum Editieren oder Erstellen von Pull-Requests gefunden...
Viele Grüße
Roland
Da ich recht lange gebraucht habe, um das zusammen zu basteln (vermutlich habe ich die Wiki-Dokumentation anfangs nicht gut genug gelesen), möchte ich meine Konfiguration mal hier teilen, vielleicht ist es ja für den ein oder anderen nützlich:
Code: Alles auswählen
"MQTT": {
"Port": 1883,
"PortTLS": 8883,
"BufferSize": 0,
"WebSocketPath": "/ws-mqtt",
"Bridge": {
"Enable": true,
"Address": "mein-externer-mqtt-server",
"Port": 1883,
"BufferSize": 0,
"UseTLS": false,
"CACertFile": "",
"Insecure": false,
"Username": "charly",
"Password": "geheim",
"ClientID": "charly",
"CleanSession": true,
"Incoming": [
{
"Pattern": "+/set/#",
"LocalPrefix": "",
"RemotePrefix": "charly/",
"QoS": 0
},
{
"Pattern": "+/get/#",
"LocalPrefix": "",
"RemotePrefix": "charly/",
"QoS": 0
}
],
"Outgoing": [
{
"Pattern": "+/status/#",
"LocalPrefix": "",
"RemotePrefix": "charly/",
"QoS": 0
}
]
}
},
Vielleicht ist das obige ja auch als Beispiel für https://github.com/mdzio/ccu-jack/wiki/ ... e#beispiel geeignet, leider hab ich da auf Anhieb keine Möglichkeit zum Editieren oder Erstellen von Pull-Requests gefunden...
Viele Grüße
Roland