OpenHAB 2.5 --> MQTT ?
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
OpenHAB 2.5 --> MQTT ?
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
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
-
- Beiträge: 226
- Registriert: 11. Aug 2019 06:39
Re: OpenHAB 2.5 --> MQTT ?
Am Raspberry ist es eigentlich nur ein:
Im Openhab 2.5.0 das MQTT Binding (nicht den Embedded Broker oder sonstiges
)
https://www.openhab.org/addons/bindings/mqtt/
Eine Konfiguration eines Gerätes könnte z.b. wie folgt aussehen.
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 
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. 
Code: Alles auswählen
sudo apt install mosquitto mosquitto-clients

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

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


- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OpenHAB 2.5 --> MQTT ?
...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 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:
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
) 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:
Solltest du noch weitere Infos brauchen, du weisst ja wo du uns findest.
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
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"]
}
}

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"}
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: OpenHAB 2.5 --> MQTT ?
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.
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.
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OpenHAB 2.5 --> MQTT ?
... 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
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: OpenHAB 2.5 --> MQTT ?
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.
Ich muss auch erst mal das ESP32 Modul flashen und den Sensor verkabeln.
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OpenHAB 2.5 --> MQTT ?
mit der Bridge meine ich das hier:
Hattest du vorher nichts über MQTT laufen? z.B. Sonoffs
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.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"]
}
}
Hattest du vorher nichts über MQTT laufen? z.B. Sonoffs
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: OpenHAB 2.5 --> MQTT ?
Nö, gar nix. Ich hab Mosquitto auch installiert (oh config tool) und dann wie gesagt nur das neue Binding 2.5.1 installiert.
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: OpenHAB 2.5 --> MQTT ?
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)
. 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.
Evtl. musst du noch einen Restart von OH machen.
Danach wieder zurück und alles war wieder da.
Vielleicht installierst du mal mein Things-Beispiel. Kannst "hans" durch "fritz" ersetzen(musst aber nicht)

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
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: OpenHAB 2.5 --> MQTT ?
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
Beides sind MQTT Broker.
Einmal
mqtt:broker
und der zweite
mqtt:system:broker