OpenHAB 2.5 --> MQTT ?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

KlausGünther
Beiträge: 143
Registriert: 16. Jul 2018 08:57
Answers: 0
Wohnort: Werl
Kontaktdaten:

OpenHAB 2.5 --> MQTT ?

Beitrag von KlausGünther »

Hallo Zusammen,

bevor die ersten durchdrehen, ich bin durchaus in der Lage Google zu bemühen und dort zu suchen,
scheint leider gerade mein Verhängnis zu sein..... Aber worum gehts denn überhaupt ?

Ich möchte gerne an meinem RPi4 auf dem OH 2.5 läuft, MQTT nutzen (Sensoren). Da soll als
erstes an einem ESP32 ein AS3935 Blitzsensor dran, das nur am rande.
Jetzt habe ich versucht, anhand der Anleitungen im Netz MQTT zu installieren. Soweit so gut.
Nur klappt das nicht. Bei Mosqutio zum Beispiel (über oh-config) gibt dann den Hinweis, dass
es ja auch einen Broker im System gibt. Und das zieht sich dann durch mit Dingen die mehr
oder weniger nicht so wirklich passen.
Um die Sache mal abzukürzen, hat jemand einen Tipp für die Installation von MQTT auf OH2.5 ?

Grüße
KlausGünther

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von eiGelbGeek »

Am Raspberry ist es eigentlich nur ein:

Code: Alles auswählen

sudo apt install mosquitto mosquitto-clients
Im Openhab 2.5.0 das MQTT Binding (nicht den Embedded Broker oder sonstiges :mrgreen: )
https://www.openhab.org/addons/bindings/mqtt/

Eine Konfiguration eines Gerätes könnte z.b. wie folgt aussehen.

Code: Alles auswählen

Bridge mqtt:broker:network "MQTT Broker" [ host="10.10.80.3",port=1883,secure=false,retainMessages=false, retain=false ]


Thing mqtt:topic:raspberrypi "MQTT - RPi - Daten" (mqtt:broker:network) {
    Channels:
      Type number : RPi_apartment_temperature "RPi Apartment Temperatur" [ stateTopic="/network/admin/rpi/temp/RPi_apartment_temperature/status" ]
      Type number : RPi_basement_temperature "RPi Basement Temperatur" [ stateTopic="/network/admin/rpi/temp/RPi_basement_temperature/status" ]
      Type number : RPi_laundry_room_temperature "RPi Laundry Room Temperatur" [ stateTopic="/network/admin/rpi/temp/RPi_laundry_room_temperature/status" ]
      Type number : RPi_Corridor_temperature "RPi Corridor Temperatur" [ stateTopic="/network/admin/rpi/temp/RPi_Corridor_temperature/status" ]
}
PS: Die mosquitto-clients brauchst du nur wenn du auch von diesen RPi Daten auslesen willst und an den Broker schicken willst, wie z.b. die CPU Temperatur... Das mache ich mit folgenden Script :-)

Code: Alles auswählen

#!/bin/bash

mqtt_broker_ip="10.10.80.3"
mqtt_broker_port="1883"
mqtt_topic="/network/admin/rpi/temp/"
mqtt_item="RPi_Corridor_temperature"

Temperature=$(/opt/vc/bin/vcgencmd measure_temp|awk -F "=" '{print $2}'| awk -F "\'" '{print $1}' 2>/dev/null)
mosquitto_pub -h $mqtt_broker_ip -p $mqtt_broker_port -t $mqtt_topic$mqtt_item/status -m $Temperature
:!: Diese Konfiguration wird bei mir nur im Internen Netzwerk betrieben, wenn du den Broker im Internet verfügbar machen willst, dann muss dieser noch weitergehend konfiguriert werden. User/Passwort/SSL etc pp. :!:

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von peter-pan »

...so ein ähnliches Problem hatte ich auch schon mal. Da hat mir Kevin auch sehr weitergeholfen. Jetzt läuft alles so wie es soll. Du kannst auch mal in diesen post reinschauen, da hat er das auch ganz ausführlich erklärt.

Die Installation sollte so wie von Kevin beschrieben klappen. Aber auch mit "openhabian-config". Auch wenn da immer mal wieder der Hinweis kommt, dass es einen "embedded Broker" gibt. Soweit ich weiss wird dieser Broker aber nicht weiter gepflegt. Die einfachere Variante scheint mir allerdings die von Kevin zu sein. Ich hatte Mosquitto schon von MQTT1 installiert, deshalb hab ich das nicht nochmal machen müssen. Sondern nur das MQTT2-Binding installiert.

Für die Installation eines Clients auf einem anderen Rechner gibst du halt auf der Console des jeweiligen Rechners nur

Code: Alles auswählen

sudo apt install mosquitto-clients
oder 
sudo apt-get install mosquitto-clients
an. So kommunizieren inzwischen meine 3 RPi's miteinander.

Die Mosquitto-Einstellungen für deine ESP's musst du halt in der Firmware machen. Ich hab inzwischen 2 ESP's (USB-Anschluss) mit ESP-Easy mega geflashed. Hätte es mir nicht so einfach vorgestellt. Selbst die WiFi-Settings kannst du da nach dem flashen (vielleicht geht auch gleich beim flashen) mit angeben und musst dann nicht mühsam über "192.168.4.1" dein Netzwerk suchen.

meine Bridge mit einem ESP8266-Thing sieht so aus:

Code: Alles auswählen

Bridge mqtt:broker:hans "Mosquitto" [ host="localhost", port=1883, secure=false, clientID="OH2_hans" ]  
{
    Thing topic esp_mini01 "ESP8266 Mini Nr 01" @ "MQTT2" {
    Channels:
        Type switch : reachable   "Mini Reachable"   [ stateTopic="esp_mini_1/status/LWT" ]
        Type switch : motionT1    "Mini Bewegung T1" [ stateTopic="esp_mini_1/HC-SR501_1/State" ]
        Type number : tempT2      "Temp. DHT11 T2"   [ stateTopic="esp_mini_1/DHT11_2/Temperature"]
        Type number : humT2       "Hum.  DHT11 T2"   [ stateTopic="esp_mini_1/DHT11_2/Humidity"]
    }
}
Ich hab noch eine feste clientID vergeben. Ich meine mal gelesen zu haben, wenn das nicht der Fall ist Feher auftreten können. Ich glaube weil OH bei jedem Neustart dann eine neue ID generiert. Ich meine auch, dass dann jedes mal eine neu Logdatei angelegt wird (frag mich nicht wo :oops: ) und das unter Umständen der RasPi zugemüllt wird. Aber da können dir die Spezilisten noch was dazu sagen.

Die Items hierzu sehen so aus:

Code: Alles auswählen

//192.168.yyy.xx                            ESP8266 Mini_1
Switch    esp_mini_01_Unreach           "ESP8266_Mini-1 LWT-Erreichbarkeit [%s]"          <siren1>                (gAmica)                       { channel="mqtt:topic:hans:esp_mini01:reachable"}
Switch    esp_mini_T1_motion            "ESP8266_Mini-1 Bewegung[%s]"                     <siren>                 (gAmica,EG_Buro)               { channel="mqtt:topic:hans:esp_mini01:motionT1"}               
Number    esp_mini_T2_temp              "ESP8266_Mini-1 DHT11 Temperatur[%.1f °C]"        <temperature>           (gAmica,EG_Buro,gRtIstI)       { channel="mqtt:topic:hans:esp_mini01:tempT2"}               
Number    esp_mini_T2_hum               "ESP8266_Mini-1 DHT11 Luftfeuchtigkeit[%.1f %%]"  <humidity>              (gAmica,EG_Buro)               { channel="mqtt:topic:hans:esp_mini01:humT2"}               
Solltest du noch weitere Infos brauchen, du weisst ja wo du uns findest.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

KlausGünther
Beiträge: 143
Registriert: 16. Jul 2018 08:57
Answers: 0
Wohnort: Werl
Kontaktdaten:

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von KlausGünther »

Ich sage schon mal herzlich danke, werde aber heute nich mehr zu viel kommen.
Mosquitto ist installiert, das 2.5er MQTT Binding auch, der openhab Broker der nach dem installieren des
Bindings in der inbox aufpopte ist online, soweit für heute.

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von peter-pan »

... hattest du vorher deine Bridge (mqtt2.things - so heisst sie bei mir) + einem Thing angelegt ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

KlausGünther
Beiträge: 143
Registriert: 16. Jul 2018 08:57
Answers: 0
Wohnort: Werl
Kontaktdaten:

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von KlausGünther »

Wenn ich mich mit nicht vertue, kam die Bridge (ich hoffe wir reden von der gleichen sache) von ganz allein nach dem installieren des Bindings in die Inbox, Textdateien habe ich bisher keine Angelegt.
Ich muss auch erst mal das ESP32 Modul flashen und den Sensor verkabeln.

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von peter-pan »

mit der Bridge meine ich das hier:
peter-pan hat geschrieben: 25. Jan 2020 16:36 Bridge mqtt:broker:hans "Mosquitto" [ host="localhost", port=1883, secure=false, clientID="OH2_hans" ]
{
Thing topic esp_mini01 "ESP8266 Mini Nr 01" @ "MQTT2" {
Channels:
Type switch : reachable "Mini Reachable" [ stateTopic="esp_mini_1/status/LWT" ]
Type switch : motionT1 "Mini Bewegung T1" [ stateTopic="esp_mini_1/HC-SR501_1/State" ]
Type number : tempT2 "Temp. DHT11 T2" [ stateTopic="esp_mini_1/DHT11_2/Temperature"]
Type number : humT2 "Hum. DHT11 T2" [ stateTopic="esp_mini_1/DHT11_2/Humidity"]
}
}
Wie gesagt, ich hatte Mosquitto bereits installiert. Und ich meine mich zu erinnern, dass ich nichts mehr installieren musste bzw. in der Inbox aktivieren musste. Es drängt sich mir der Verdacht auf, dass du evtl. nun zwei Broker installiert hast.

Hattest du vorher nichts über MQTT laufen? z.B. Sonoffs
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

KlausGünther
Beiträge: 143
Registriert: 16. Jul 2018 08:57
Answers: 0
Wohnort: Werl
Kontaktdaten:

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von KlausGünther »

Nö, gar nix. Ich hab Mosquitto auch installiert (oh config tool) und dann wie gesagt nur das neue Binding 2.5.1 installiert.

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von peter-pan »

Ich hab mal testweise meine "mqtt2.things" - Datei rausgenommen (umbenannt in mqtt2.things_stop). Also erst "sudo systemctl stop openhab2", dann Things-Datei umbenannt und dann "sudo systemctl start openhab2".Danach konnte ich auch keinen Broker mehr in der PaperUI unter Things sehen.

Danach wieder zurück und alles war wieder da.

Vielleicht installierst du mal mein Things-Beispiel. Kannst "hans" durch "fritz" ersetzen(musst aber nicht) :lol: . Dann sollte eigentlich der Broker sichtbar werden (PaperUI und Logger). Ich gehe mal davon aus, dass du Mosquitto auf dem gleichen RPi installiert hast, wie dein OH.

Code: Alles auswählen

2020-01-26 10:51:02.805 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'localhost' with clientid OH2_hans
Evtl. musst du noch einen Restart von OH machen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

KlausGünther
Beiträge: 143
Registriert: 16. Jul 2018 08:57
Answers: 0
Wohnort: Werl
Kontaktdaten:

Re: OpenHAB 2.5 --> MQTT ?

Beitrag von KlausGünther »

Ich befürchte das wird nächstes Wochenende, heute schaffe ich das nicht mehr und die Woche über bin ich auf Dienstreise. Ich werde mich aber hier melden.
Beides sind MQTT Broker.
Einmal
mqtt:broker
und der zweite
mqtt:system:broker

Antworten