Der MQTT-Adapter

In diesem Artikel zeige ich Dir, wie Du ioBroker um einen MQTT-Broker erweitern kannst.

Mit dem MQTT-Protokoll können verschiedenen Geräte oder Dienste mit ioBroker kommunizieren und Daten austauschen. In meinen bisher gezeigten Projekten kommunizieren ESP8266 Mikrocontroller via MQTT mit ioBroker und publizieren oder abonnieren so einzelne Datenpunkte. MQTT steht für Message Queue Telemetry Transport und ist ein offenes Client-Server Protokoll für die Machine-zu-Machine-Kommunikation. Dabei publizieren die Clients Daten zum Broker. Zudem verfügt das Protokoll über eine Abonnement-Funktion womit Clients Broker-Datenpunkte abonnieren und somit über Veränderungen informiert werden können.

Im Artikel setzen wir zunächst den Broker in Form eines ioBroker Adapters auf. Dazu suchen wir in der Adapter-Ansicht nach „mqtt“ und fügen den Adapter „MQTT Broker/Client“ über die Plus-Schaltfläche hinzu.

 

Nach dem der Adapter installiert wurde, können wir die Konfiguration des Adapters öffnen.

 

In der Konfiguration wählen wir als Typ „Server/broker“. Ich habe für meine Installation den Port auf 1883 belassen und keine Authentifizierung aktiviert.

 

Im ersten Schritt habe ich die MQTT Einstellungen in der Adapter-Konfiguration so belassen.

 

Nach dem wir die Konfiguration abgeschlossen haben, können wir im nächsten Schritt den Adapter starten. Nun steht der MQTT Broker zur Verfügung und wir können ihn über die IP-Adresse des ioBrokers sowie des eingestellten Ports 1883 ansprechen.

Der Broker könnte nun Daten von einem Mikrocontroller zentral speichern (z.B. Projekt Bodenfeuchtesensor) oder Datenpunkte an einen Mikrocontroller publizierne (z.B. das ioBroker-Display Projekt). Für den Artikel habe ich nun unter meinem Windows Notebook die App „MQTTBox“ installiert, mit der ich beispielhaft Daten publizieren oder abonnieren kann.

Nach der Installation starten wir die App und konfigurieren zunächst die App als MQTT-Client. Dazu müssen folgende gelb markierte Felder entsprechend der eigenen Installation eingestellt werden. Jeder MQTT-Client sollte einen eindeutigen Namen erhalten, wir wollen ja später wissen welcher Client uns welche Daten zur Verfügung gestellt hat. Zudem müssen wir das Protokoll „mqtt / tcp“ sowie die IP-Adresse des ioBrokers angeben. Mit Save können wir dann die Konfiguration verlassen.

Nach dem wir nun mit ioBroker MQTT Broker verbunden sind, können wir im nächsten Schritt einen Topic mit entsprechendem Payload veröffentlichen. Dazu klicken wir auf „Add publisher“ und vergeben einen Namen für den Topic sowie den entsprechenden Payload (Wert, den wir übertragen möchten).

 

Nach dem publizieren sehen wir den Wert in den Objekten unterhalb des MQTT-Brokers.

Neben dem publizieren von Werten an den Broker können auch bereits publizierte Topics abonniert werden. Dazu wird klicken wir auf „Add subscriber“ und geben den Namen des Topics an, welchen wir abonnieren möchten. In meinem Fall habe ich die ersten beiden Display-Zeilen aus dem OLED-Display-Projekt abonniert, und bekomme somit die Display-Werte auch immer in der Windows App angezeigt.

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere