OpenHAB Items über MQTT einbinden

Aus Laub-Home Wiki

Eine gute Methode Sensoren oder Schalter in openHAB einzubinden ist es dies via MQTT zu machen. Dafür wird zur openHAB Installation noch ein MQTT Broker benötigt. Ich habe bereits Sensoren via EXEC Binding angebunden, nun möchte ich zeigen, wie man diese via MQTT als openHAB Items einbindet. Der Vorteil dieser Methode ist, das man auch ferne Sensoren, die zum Beispiel an einem Raspberry Pi angeschlossen sind, ebenfalls einbinden kann. Hier nun eine Kleine Anleitung wie man den MQTT Broker in openHAB einrichtet und dann via Things an die Sensoren Items kommt.

Vorraussetzungen

Installation des MQTT Binding

Haben wir alle Vorraussetzungen erfüllt und eine Laufende openHAB Installation und einen MQTT Broker, der bereits mit Topics der Sensoren gefüttert wird, können wir in openHAB das MQTT Binding installieren:

Einrichtung der MQTT Broker Bridge

Nun legen wir als erstes ein Thing für die MQTT Broker Bridge an:

hier wählen wir unser MQTT Binding aus

Dann gehen wir auf "add manually"

Dann wählen wir den "MQTT Broker" aus

Nun konfigurieren wir den Broker Zugang:

  • Name
  • Ort
  • FQDN oder IP Adresse
  • In unserem Fall, da es ein Secure MQTT Broker aktivieren wir die "Secure Connection"

Nun klappen wir via "Show More" die erweiterten Einstellungen aus, da wir hier den Username und das Passwort eingeben können:

  • ggf. Port eintragen
  • ggf. QoS Level erhöhen
  • ClientID falls man keine generierte haben möchte
  • Username und Passwort

Da ich ein Self Signed Zertifikat habe, musste ich die beiden Pinnings deaktivieren.

Nun oben mit dem Blau hinterlegten Haken das Ganze abspeichern.

Wenn alles geklappt hat sollte man nun in den Things folgendes sehen:

Einrichtung der MQTT Things / Items

Man kann nun hier beliebig viele MQTT Things anlegen, kann aber einfach eines verwenden und alle Sensoren / Topics hier als eigene Chanels hinterlegen. Der Vorteil, wenn man zum Beispiel über mehrer MQTT Publisher verfügt und für jeden dieser Publisher ein eigenes MQTT Thing anlegt, ist, dass man eine bessere Übersicht bekommt. Ich zeige hier nun wie man ein MQTT Thing samt Chanels anlegt und diesen Chanels dann Items hinzufügt.

MQTT Thing

Als erstes legen wir das Thing an:

wählen das MQTT Binding aus:

dann wieder "Add Manually"

Dann wählen wir das "Generic MQTT Thing" aus

hier wählen wir dann unsere Bridge aus und vergeben falls gewünscht einen Eindeutigen Namen und den Ort.

Das Ergebnis nach dem Klick auf den blau hinterlegten Haken sollte dann so aussehen:

MQTT Thing Channels

Nun editieren wir unser eben angelegtes MQTT Thing und klicken bei den Channels auf das blau hinterlegte "+"

da wir hier nun einen Temperatur Sensor einbinden wollen wählen wir "Number Value"

Nun füllen wir das Ganze aus. Wichtig ist das richtige topic hier einzutragen, welches ausgelesen werden soll:

dann speichern wir das Ganze rechts unten mit "save". Das Ergebnis sieht dann so aus:

Nun können wir zum Beispiel noch eines für die Luftfeuchtigkeit und die Helligkeit anlegen.


Nun können den Channels die Items zugewiesen werden.

MQTT Items

Um ein Item anzulegen klicken wir einfach auf den Runden Kreis neben dem Channel:

nun erstellen wir ein neues Item:

unten Rechts mit Link speichern wir das Ganze ab. Dann wiederholen wir dies mit den anderen Channels:

Das Ergebnis wenn man die Channels nun ausklappt sieht so aus:


Im Control Center findet man dann die Werte:

MQTT Schalter

Um einen Schalter als Item einzurichten, der den Status ON und OFF versteht, legt man als erstes einen Channel an:

und konfiguriert ihn wie folgt:

speichert den Channel mit "save" ab und fügt dann dem Channel ein Item hinzu:

Das Ergebnis kann man dann im Controll Center testen:

Wann war das Letzte Update?

Möchte man wissen, wann ein Item sich das letzte Mal aktualisiert hat und ggf. einen Alarm ausführen wenn dies Länger als 45 Minuten her ist, dann hilft euch der Folgende Artikel weiter: