Frage zu MQTT
-
- Beiträge: 20
- Registriert: 6. Dez 2020 05:44
- Wohnort: Kreis OF
Frage zu MQTT
Hallo zusammen,
ich würde gerne aus OH 4.0 Werte eines Temperatur Sensors an ein ESP8266 Gerät mit Display via MQTT schicken.
Mosquitto läuft, Bridge in OH ist eingerichtet, aber irgendwie komme ich nicht weiter.
Mir ist klar, dass ich diese Temp Werte jetzt "publishen" muss, aber wie stelle ich das an?
Es gibt soviele diverse Anleitungen, aber ich habe jetzt nichts gefunden, wo klipp und klar drinsteht was zu tun ist.
Der Mosquitto tauscht lediglich Pings mit meinem OH aus, ansonsten schaffe ich es nicht irgendetwas dorthin zu schicken.
ich würde gerne aus OH 4.0 Werte eines Temperatur Sensors an ein ESP8266 Gerät mit Display via MQTT schicken.
Mosquitto läuft, Bridge in OH ist eingerichtet, aber irgendwie komme ich nicht weiter.
Mir ist klar, dass ich diese Temp Werte jetzt "publishen" muss, aber wie stelle ich das an?
Es gibt soviele diverse Anleitungen, aber ich habe jetzt nichts gefunden, wo klipp und klar drinsteht was zu tun ist.
Der Mosquitto tauscht lediglich Pings mit meinem OH aus, ansonsten schaffe ich es nicht irgendetwas dorthin zu schicken.
OH4
-
- Beiträge: 317
- Registriert: 30. Apr 2021 13:13
Re: Frage zu MQTT
Moin,
schau mal bitte hier -> viewtopic.php?t=8566
schau mal bitte hier -> viewtopic.php?t=8566
-
- Beiträge: 20
- Registriert: 6. Dez 2020 05:44
- Wohnort: Kreis OF
Re: Frage zu MQTT
Danke, es ist genau das gleiche Problem. Trotzdem komme ich leider nicht weiter.
Das ist das generic MQTT thing, und dem ist das entsprechende Temperatur-Item hinterlegt:
Jetzt soll einfach bei jeder Änderung der neue Wert ge-publish-ed werden, aber ich verstehe nicht wo ich das anstellen soll. Rule?
Was ist hier mit "mein neuer Wert" gemeint?
Das ist das generic MQTT thing, und dem ist das entsprechende Temperatur-Item hinterlegt:
Code: Alles auswählen
UID: mqtt:topic:09bc80bc53:1MQTT
label: 1MQTT
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:09bc80bc53
channels:
- id: SAUNATEMPMQ
channelTypeUID: mqtt:number
label: SAUNATEMPMQ
description: ""
configuration:
commandTopic: temperatur/saunatemp
unit: °C
Was ist hier mit "mein neuer Wert" gemeint?
Code: Alles auswählen
mein_mqtt_item.sendCommand(mein_neuer_Wert)
OH4
- peter-pan
- Beiträge: 2578
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Frage zu MQTT
Ich bin mir zwar nicht sicher, aber müsste neben dem eigentlichen Topic noch ein Befehl zum "publischen" mitgeschickt werden, also etwa so:
...(Halbwissen)
Code: Alles auswählen
cmnd/temperatur/saunatemp
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.2 openhabian
-
- Beiträge: 317
- Registriert: 30. Apr 2021 13:13
Re: Frage zu MQTT
Ja, an das mit dem Channel "SAUNATEMPMQ" verbundene Item sendest Du mit einer Rule, mit der Änderung des Sensors als Auslöser, die neu anzuzeigende Temperatur vom Sensor.alex_alexandroff22 hat geschrieben: ↑19. Feb 2024 17:02 Rule? Was ist hier mit "mein neuer Wert" gemeint?Code: Alles auswählen
mein_mqtt_item.sendCommand(mein_neuer_Wert)
-
- Beiträge: 188
- Registriert: 7. Jan 2020 14:45
- Kontaktdaten:
Re: Frage zu MQTT
Um welche Richtung geht es Dir? Vom ESP nach OpenHAB, oder vonm OpenHAB zzum ESP (zum ansteueern des Display) Ich verwende ESP Easy und mein Thing sieht so ausalex_alexandroff22 hat geschrieben: ↑19. Feb 2024 16:30 ich würde gerne aus OH 4.0 Werte eines Temperatur Sensors an ein ESP8266 Gerät mit Display via MQTT schicken.
Mosquitto läuft, Bridge in OH ist eingerichtet, aber irgendwie komme ich nicht weiter.
Mir ist klar, dass ich diese Temp Werte jetzt "publishen" muss, aber wie stelle ich das an?
Es gibt soviele diverse Anleitungen, aber ich habe jetzt nichts gefunden, wo klipp und klar drinsteht was zu tun ist.
Der Mosquitto tauscht lediglich Pings mit meinem OH aus, ansonsten schaffe ich es nicht irgendetwas dorthin zu schicken.
Code: Alles auswählen
Bridge mqtt:broker:mosquitto "Mosquitto" [ host="FQDNVonMeinemServer", secure=false, username="gehtKeinemWasAn", password="ichPosteKeinPasswort:=)", clientID="ESPs" ]
{
///// ESP_22 /////
Thing mqtt:topic:ESP_Easy_2 "ESP 2 Zimmer 2" @ "Zimmer"
{
Channels:
Type string : LWT "Zimmer 2 LWT" [ stateTopic="ESP_Easy_22/status/LWT" ]
Type number : Lux "Zimmer 2 Lux" [ stateTopic="ESP_Easy_22/BH1750/Lux" ]
Type number : Regler "Zimmer 2 Regler" [ stateTopic="ESP_Easy_22/RotaryEncoder/Counter" ]
Type number : RotarySwitch "Zimmer 2 RotarySwitch" [ stateTopic="ESP_Easy_22/RotarySwitch/State" ]
Type string : CMD "Zimmer 2 ESP CMD" [ stateTopic="ESP_Easy_22", commandTopic="ESP_Easy_22/cmd" ]
Type number : z2 "Zimmer 2 Temperatur" [ stateTopic="ESP_Easy_22/z2/temperature" ]
Type number : z2h "Zimmer 2 Heizung" [ stateTopic="ESP_Easy_22/z2h/temperature" ]
}
}
Über den CMD Channel, kann ich Daten an das Display senden.
BYe
Harald
Harald
-
- Beiträge: 20
- Registriert: 6. Dez 2020 05:44
- Wohnort: Kreis OF
Re: Frage zu MQTT
Openhab hat bereits die Werte aus einem Temperatursensor und soll sie in Richtung Mosquitto publishen, von dem ich dann später die Werte mit dem ESP8266 Display auslesen möchte.
Der Temperatursensor schickt alle paar Minuten neue Werte an Openhab und die will ich eben auf diesem Display sehen.
Wie gesagt, Mosquitto läuft, OH ist damit per Bridge verbunden. Das MQTT Generic Thing ist angelegt. Als Channel habe ich den o.g. Temperatursensor (SaunaTemp1) mit seinen Werten.
Aber wie bekomme ich das Zeug jetzt zu Mosquitto ge-publish-ed? Und das kapiere ich eben nicht.
Rule anlegen?
Der Temperatursensor schickt alle paar Minuten neue Werte an Openhab und die will ich eben auf diesem Display sehen.
Wie gesagt, Mosquitto läuft, OH ist damit per Bridge verbunden. Das MQTT Generic Thing ist angelegt. Als Channel habe ich den o.g. Temperatursensor (SaunaTemp1) mit seinen Werten.
Aber wie bekomme ich das Zeug jetzt zu Mosquitto ge-publish-ed? Und das kapiere ich eben nicht.
Rule anlegen?
Code: Alles auswählen
rule "SaunaTemp1"
when
Item SaunaTemp1 changed
then
SAUNATEMPMQ.sendCommand( und was kommt hier rein??)
end
OH4
-
- Beiträge: 188
- Registriert: 7. Jan 2020 14:45
- Kontaktdaten:
Re: Frage zu MQTT
Wie kommt OpenHAB an die Werte? Per einem Binding?alex_alexandroff22 hat geschrieben: ↑20. Feb 2024 09:28 Openhab hat bereits die Werte aus einem Temperatursensor und soll sie in Richtung Mosquitto publishen, von dem ich dann später die Werte mit dem ESP8266 Display auslesen möchte.
als nächstes benötigst Du das Itemalex_alexandroff22 hat geschrieben: ↑20. Feb 2024 09:28 Der Temperatursensor schickt alle paar Minuten neue Werte an Openhab und die will ich eben auf diesem Display sehen.
Wie gesagt, Mosquitto läuft, OH ist damit per Bridge verbunden. Das MQTT Generic Thing ist angelegt. Als Channel habe ich den o.g. Temperatursensor (SaunaTemp1) mit seinen Werten.
Code: Alles auswählen
String RolloZimmerKlein_CMD "Rollo Zimmer klein ESP Commando [%s]" (gRollosCmd)
{
channel="mqtt:topic:ESP_Easy_2:CMD"
}
und jetzt die Rule (Auszug...)
Code: Alles auswählen
RolloZimmerKlein_CMD.sendCommand("oledframedcmd,2,'Rollo: Zu'")
mit dem MQTT Explorer musst Du dann den Befehl sehen
BYe
Harald
Harald
-
- Beiträge: 20
- Registriert: 6. Dez 2020 05:44
- Wohnort: Kreis OF
Re: Frage zu MQTT
Alles klar, Fehler gefunden! Habe bei der Item-Definition geschlampt.
Im Channel habe ich nämlich auf den Temperatursensor als Item verlinkt und nicht auf das Item, welches die Werte für MQTT erhalten und weitergeben soll.
Jetzt werden die Werte korrekt ge-publish-ed.
Bin zwar mit OH schon einige Jahre am Start, aber noch recht frisch was MQTT angeht...
Ich danke allen herzlichst für die Unterstützung!
Im Channel habe ich nämlich auf den Temperatursensor als Item verlinkt und nicht auf das Item, welches die Werte für MQTT erhalten und weitergeben soll.
Jetzt werden die Werte korrekt ge-publish-ed.
Bin zwar mit OH schon einige Jahre am Start, aber noch recht frisch was MQTT angeht...
Ich danke allen herzlichst für die Unterstützung!
OH4
-
- Beiträge: 20
- Registriert: 6. Dez 2020 05:44
- Wohnort: Kreis OF
Re: Frage zu MQTT
Jepp, Z-Wave.EmptySoft hat geschrieben: ↑20. Feb 2024 09:52Wie kommt OpenHAB an die Werte? Per einem Binding?alex_alexandroff22 hat geschrieben: ↑20. Feb 2024 09:28 Openhab hat bereits die Werte aus einem Temperatursensor und soll sie in Richtung Mosquitto publishen, von dem ich dann später die Werte mit dem ESP8266 Display auslesen möchte.
ist ein Temperaturfühler an einem Fibaro SmartImplant. Funktioniert wunderbar, jetzt wollte ich in Richtung MQTT und ESP und als erstes ist mir die Idee mit dem Display eingefallen.
Jugend forscht sozusagen...
OH4