HOWTO: MQTT Bridge auf externen MQTT Broker

Der CCU-Jack als REST- und MQTT-Schnittstelle für die CCU und virtuelle Geräte für das IoT

Moderator: Co-Administratoren

Antworten
Benutzeravatar
RoRo42
Beiträge: 9
Registriert: 17.11.2014, 10:35
Danksagung erhalten: 2 Mal

HOWTO: MQTT Bridge auf externen MQTT Broker

Beitrag von RoRo42 » 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:

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
        }
      ]
    }
  },
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

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: HOWTO: MQTT Bridge auf externen MQTT Broker

Beitrag von Mathias » 28.08.2023, 22:23

Danke für das HowTo. Ich werde es auch mal mit ins Wiki aufnehmen.

Viele Grüße
Mathias

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: HOWTO: MQTT Bridge auf externen MQTT Broker

Beitrag von Mathias » 16.09.2023, 18:08

Dein Beispiel ist jetzt hier im Wiki. Danke.

Antworten

Zurück zu „CCU-Jack“