MQTT in openHAB 2 einrichten

Du nutzt schon openHAB 3? Kein Problem, einen Artikel zum genau gleichen Thema gibt es auch für die neue Version.
Neuen Artikel lesen

Wie du den integrierten MQTT Broker von openHAB 2 aktivierst und konfigurierst, zeige ich dir in diesem Artikel. Zudem erfährst du, wie du Geräte mit MQTT in openHAB hinzufügen kannst.

Viele Geräte im IOT Bereich kommunizieren über MQTT. Vor allem auch DIY-Lösungen benutzen dies bei Microcontrollern, wie dem ESP8266, sehr oft. Damit du MQTT in openHAB nutzen kannst, ist der einfachste Weg, dies über den integrierten Broker zu lösen. Folge einfach den nächsten Schritten und du wirst in 5 Minuten dein erstes Gerät mit MQTT hinzufügen können.

Binding installieren

Als erstes benötigst du dafür das MQTT Binding. Dieses findet sich unter Add-Ons > Bindings > MQTT Binding in der Paper UI.

Klicke hier einfach rechts auf „Installieren“.

Broker hinzufügen

Um jetzt den MQTT Broker hinzufügen zu können, musst du in die Inbox der Paper UI navigieren.

Klicke als nächstes auf den Hinzufügen-Button.

Wähle hier nun „MQTT Binding“ aus.

Hier wird automatisch aber kein MQTT Broker als Thing gefunden, sodass du als nächstes auf „Manually add Thing“ drücken musst. Wähle hier dann „System MQTT Broker“ aus.

Hier kannst du dem Broker-Thing jetzt einen Namen geben und eine beliebige, einmalige Broker ID zuweisen. Wenn du dies erledigt hast, kannst du das Thing mit dem Haken-Button speichern.

Jetzt hast du den Broker fertig installiert und eingerichtet. Das kannst du unter der Thing-Liste in der Paper UI überprüfen. Hier wird er nun als „Online“ angezeigt. Wenn du noch kein Gerät hinzufügen möchtest, kannst du den nächsten Schritt überspringen.

MQTT Geräte hinzufügen

Um jetzt dein erstes Gerät über MQTT hinzuzufügen, musst du wieder zur Inbox der Paper UI wechseln.

Klicke hier also wieder auf den Hinzufügen-Button…

…und wähle das MQTT Binding aus.

Gehe jetzt wieder auf „Manually add Thing“ und wähle im nächsten Schritt diesmal „Generic MQTT Thing“ aus.

Wenn du dies angeklickt hast, öffnet sich folgendes Fenster:

Hier kannst du wieder einen Namen vergeben. Als Bridge musst du den eben erstellten (oder einen anderen, bereits vorhandenen) MQTT Broker wählen. Unter „Show more“ kannst du noch die Topics angeben, unter denen das Gerät seine Erreichbarkeit kommuniziert, das ist aber in der Regel für den Anfang nicht nötig. Wenn du fertig bist, kannst du es mit dem blauen Button speichern.

Navigiere jetzt als nächstes zu Configuration > Things in der Paper UI. Suche hier nach deinem eben erstellten Thing und öffne es.

Klicke hier auf das „+“ bei den Channels.

Je nach Gerät musst du jetzt einen passenden Typ auswählen. Ich werde es hier mit dem vermutlich gängigsten ON/OFF Switch zeigen. Wenn du diesen also auswählst, wird sich folgendes Fenster öffnen:

Lege hier eine beliebige Channel ID fest. Hier kannst du dann die entsprechenden Topics eintragen, die zum Übermitteln des Zustandes und von Schaltbefehlen verwendet werden sollen. Diese werden entweder mit dem Gerät in der Anleitung mitgeliefert oder du hast sie am Client so konfiguriert. Du musst MQTT ggf. auch vorher am Gerät, welches du verbinden möchtest, aktivieren. Als Broker IP-Adresse musst du die IP-Adresse deines openHAB Servers verwenden.

Wenn du die Daten eingetragen hast, kannst du mit „Save“ den Channel verbinden. Jetzt sollte alles fertig eingerichtet sein und du kannst dein Gerät in openHAB über MQTT nutzen.

Wie du jetzt ein Item einrichten und mit dem gerade eingerichteten Channel verbinden kannst, sodass du es z.B. aus der openHAB App steuern kannst, erfährst du in diesem Artikel.

Hinweis: Mit Sternchen (*) markierte Links auf dieser Seite sind Werbelinks. Beim Kauf darüber erhalte ich eine kleine Provision, der Preis bleibt für dich aber gleich. Damit unterstützt du mich, sodass ich weiterhin kostenlosen Inhalt auf diesem Blog anbieten kann ;-).

Hast du noch Fragen zu MQTT? Brauchst du noch Hilfe bei der Installation oder hast Verbesserungswünsche? Dann schreibe es gerne in die Kommentare!

Bitte bedenke, dass alle Kommentare manuell freigeschaltet werden müssen. Das kann teilweise ein bisschen dauern, du kannst dich aber mit der unten aufgeführten Funktion benachrichtigen lassen, wenn er beantwortet wurde. Das heißt auch, dass Beleidigungen, Spam oder pure Werbung keine Chance haben, auf die Website zu kommen. Deine Email-Adresse wird selbstverständlich nicht veröffentlicht. Erforderliche Felder sind mit * oder (erforderlich) markiert.

Dieser Beitrag hat 4 Kommentare

  1. Avatar-Foto
    Mori

    Hallo,
    erst Mal muss ich danke sagen. Die Tutorials die ich hier bissher gesehen habe sind sehr gut.
    Hier habe ich nur leider das Problem, dass wenn ich den System MQTT Broker hinzufüge, dieser als „OFFLINE – CONFIGURATION_ERROR“ angezeigt wird. Leider konnte ich noch nicht herausfinden, woran das liegt…
    Über Hilfe würde ich mich sehr freuen.

    1. Logo Bloggingwelt
      Jan

      Guten Abend Mori,
      danke für dein positives Feedback, das freut mich sehr :-)!
      Das Problem habe ich bei manchen hinzugefügten Things auch öfter…meistens hilft es da, es einfach noch einmal zu löschen und neu hinzuzufügen. Du kannst auch einmal probieren, statt dem „System MQTT Broker“ den normalen MQTT Broker auszuwählen und dann die IP Adresse deiner openHAB-Zentrale einzugeben.
      Was sagt denn das Log dazu?
      Beste Grüße
      Jan

  2. Avatar-Foto
    Jens

    Moin, ich habe das gleiche Problem wie Mori.
    Zulu JDK installiert und auf Pfad verwiesen. Anschließen OH entpackt und Addon reingelegt. OH3 gestartet und Admin eingerichtet. Dann:
    1) Einstellungen: MQTT system broker connection eingerichtet
    2) Einstellungen: Things: Broker gefunden und hinzugefügt
    3) Status: OFFLINE –> COMMUNICATION_ERROR –> io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:8883
    4) den Broker manuell gelöscht und neu hinzugefügt (System MQTT Broker sowie MQTT Broker), beides Offline

    Muss mosquitto als Broker installiert werden oder nicht? Wenn ich alles richtig nachgelesen habe, dann ist der unter 1) beschriebene Broker der OH3 inkludierte Broker (also ohne mosquitto möglich).

    Freue mich auf deine Antwort.
    Gruß Jens

    1. Logo Bloggingwelt
      Jan

      Hallo Jens,

      in openHAB 3 scheint der integrierte System Broker nicht mehr wirklich zu funktionieren. Deswegen müsste man dann mosquitto über die Kommandozeile des Raspberry Pis (oder was du nutzt) installieren. Das würde mit folgenden Befehlen funktionieren:

      sudo apt install mosquitto
      sudo systemctl start mosquitto
      sudo systemctl daemon-reload
      sudo systemctl enable mosquitto

      Dann kannst du beim MQTT-Binding den Mosquitto-Broker statt des integrierten auswählen.
      Wegen dieser starken Änderung werde ich aber in den nächsten Tagen vermutlich einen aktualisierten Artikel für openHAB 3 veröffentlichen, der das dann etwas verständlicher macht.
      Melde dich doch gerne, ob es damit dann funktioniert hat 😉.

      Beste Grüße
      Jan