Seite 2 von 3
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 15:46
von HiG
Bist Du denn sicher, dass dies korrekt konfiguriert ist??
Nicht wirklich. Deshalb frage ich ja.
Ist es bei Deinen Things ein "set" für den Command?
Wahrscheinlich nicht. Wie geht das? Oder wo finde ich dazu ne Doku für OH2?
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 17:02
von int5749
HiG hat geschrieben: ↑20. Dez 2021 15:46
Wie geht das? Oder wo finde ich dazu ne Doku für OH2?
Die gesamte (btw sehr gute) Doku zu openHAB findet sich direkt
hier, klick mich in bin ein verzauberter link
Du brauchst evtl. noch etwas Info zu
MQTT AddOn
Aber: Dein Problem hat wahrscheinlich nichts mit openHAB oder MQTT oder dem Broker zu tun, Du müsstest Dir die Doku zu Deinem Espeasy Device suchen und wie dies angesprochen wird. Da wird eine openHAB Doku eher wenig helfen.
Evtl. hilft ja Google mit den magischen Worten "Espeasy DeviceTyp DeviceName MQTT" ?
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 17:11
von HiG
Der verzauberte Wal ist aber dann die aktuelle Doku
Und vielleicht hab ich meine Frage in den falschen Thread.... man(n) weiß es einfach nicht.

Es las sich so...als ob mein Problem ein ähnliches wäre wie das des TE
Es handelt sich bei mir nicht um Espeasy Devices. Ich möchte nur gerne in meinem alten OH2 die Werte meiner HM-CC-RT-DN-Devices bei Änderung (also in einer Rule) an einen MQTT-Broker senden. Ich finde dazu nur sehr sporadische Infos...und wenn dann doch...nur die "Klicki-Bunti-Variante". Schade...werde dann mal weitersuchen. Danke für zuhören
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 17:18
von udo1toni
Ich verstehe jetzt nicht so ganz... Es geht Dir nur darum, einen Wert per mqtt zu senden?
Dann wäre die Frage, welches mqtt Du unter openHAB2 (welche Version genau?) einsetzt, denn es gibt dort ab ca. OH2.2 mqtt1 und mqtt2, welche zu allem Überfluss auch noch parallel betrieben werden können.
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 17:32
von HiG
Es geht Dir nur darum, einen Wert per mqtt zu senden?
Es geht mir darum...aus dem alten OH in einer Rule bei Änderung den Wert ins MQTT zu senden, ja. Das "alte" MQTT (also die binding-mqtt1 - 1.14.0) läst sich bei mir nicht installieren. Dann gibt es noch die Versionen binding-mqtt - 2.5.3 und binding-mqtt - 2.5.12. Ich habe das binding-mqtt - 2.5.12 installiert
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 18:32
von udo1toni
Und Du hast auch openHAB 2.5 laufen?
Du musst zum einen eine mqtt Bridge anlegen. In der werden die Zugangsdaten zum mqtt Broker eingetragen.
Dann musst Du ein mqtt generic Thing anlegen (oder auch mehrere, wenn Du mehrere Geräte brauchst)
Das Generic mqtt Thing wird mit der Bridge verknüpft.
Und Schließlich erzeugst Du im generic Thing einen oder auch mehrere Channel. In den Channels werden stateTopic und commandTopic angelegt. stateTopic ist eingehend, commandTopic ist ausgehend.
Nun verknüpfst Du den Channel mit einem passenden Item.
Zum Abschluss baust Du in Deine Rule ein sendCommand für dieses Item ein, fertig.
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 18:56
von int5749
udo1toni hat geschrieben: ↑20. Dez 2021 18:32
Zum Abschluss baust Du in Deine Rule ein sendCommand für dieses Item ein, fertig.
Und genau dort - hatte ich bisher verstanden - liegt das Problem.
MQTT an sich lief ja und er bekommt Werte, kan nnur keine Änderungen senden.
Hierzu müsste man die Doku der Hardware haben, wie diese angesprochen wird.
Denn wie bei meiner Wallbo einfach ein /set anzuhängen scheint ja nicht zu klappen.
Oder bin ich gerade auf dem Holzweg und habe dasd Problem falsch verstanden?
Re: Espeasy Variable per MQTT ändern
Verfasst: 20. Dez 2021 19:12
von HiG
Und Du hast auch openHAB 2.5 laufen?
Jupp.
Du musst zum einen eine mqtt Bridge anlegen
Die gibt es schon
Dann musst Du ein mqtt generic Thing anlegen (oder auch mehrere, wenn Du mehrere Geräte brauchst)
Auch die sollte es eigentlich schon geben. Thing ist da, Channels sollten dann auch da sein
Thing
Code: Alles auswählen
Thing topic DG_HZ "Office Heizung"(mqtt:broker:1cecc2fd) @ "MQTT" {
Channels:
Type number : MQ_DG_HZ_BATTERIE "Heizung Bad Batterie" [ stateTopic="zb2mqtt/hz_dg/batterie" ,commandTopic="zb2mqtt/hz_dg/batterie/set"]
Type number : MQ_DG_HZ_TEMP_IST "Heizung Bad Ist-Temp" [ stateTopic="zb2mqtt/hz_dg/temp_ist" ,commandTopic="zb2mqtt/hz_dg/temp_ist/set" ]
Type number : MQ_DG_HZ_TEMP_SOLL "Heizung Bad Soll-Temp" [ stateTopic="zb2mqtt/hz_dg/temp_soll" ,commandTopic="zb2mqtt/hz_dg/temp_soll/set" ]
Type number : MQ_DG_HZ_VENTIL "Heizung Bad Ventil" [ stateTopic="zb2mqtt/hz_dg/ventil" ,commandTopic="zb2mqtt/hz_dg/ventil/set" ]
Type string : MQ_DG_HZ_FEHLER "Heizung Bad Fehler" [ stateTopic="zb2mqtt/hz_dg/error" ,commandTopic="zb2mqtt/hz_dg/error/set" ]
Type number : MQ_DG_HZ_BATTERIE_STATE "Heizung Bad Batteriestatus" [ stateTopic="zb2mqtt/hz_dg/batterie_status" ,commandTopic="zb2mqtt/hz_dg/batterie_status/set" ]
Type number : MQ_DG_HZ_SIGNAL "Heizung Bad Signalstärke" [ stateTopic="zb2mqtt/hz_dg/signal" ,commandTopic="zb2mqtt/hz_dg/signal/set" ]
Type switch : MQ_DG_HZ_FENSTER "Heizung Bad Fenster" [ stateTopic="zb2mqtt/hz_dg/window" ,commandTopic="zb2mqtt/hz_dg/window/set" ]
}
Items hab ich ja auch angelegt
Code: Alles auswählen
Number DG_HZ_TEMP_IST_VAL "Ladung [%d%%]" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_TEMP_IST" }
Number DG_HZ_BATTERIE_VAL "Heizung Bad Batterie" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_BATTERIE"}
Number DG_HZ_TEMP_SOLL_VAL "Soll-Temperatur [%.2f °C]" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_TEMP_SOLL"}
Number DG_HZ_VENTIL_VAL "Ventil" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_VENTIL"}
String DG_HZ_FEHLER_VAL "Fehler [MAP(HM-CC-RT-DN.map):%s]" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_FEHLER" }
Number DG_HZ_BATTERY_STATE_VAL "Batteriestatus [%.1f V]" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_BATTERIE_STATE" }
Number DG_HZ_SIGNAL_VAL "Signalstärke" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_SIGNAL" }
Switch DG_HZ_FENSTER_VAL "Fenster" {channel="mqtt:topic:1cecc2fd:DG_HZ:MQ_DG_HZ_FENSTER" }
Rule
Code: Alles auswählen
rule "Office Heizung Temp"
when
Item DG_HZ_Temp_Ist changed
then
DG_HZ_TEMP_IST_VAL.sendCommand(675)
logInfo("Heizung","Rule 2")
end
Nur wollen die nicht miteinander spielen. Da hapert es bei mir dann irgendwo
Log-Ausgabe
Code: Alles auswählen
2021-12-20 18:33:18.303 [ome.event.ItemCommandEvent] - Item 'DG_HZ_TEMP_IST_VAL' received command 675
2021-12-20 18:33:18.309 [nt.ItemStatePredictedEvent] - DG_HZ_TEMP_IST_VAL predicted to become NULL
Re: Espeasy Variable per MQTT ändern
Verfasst: 21. Dez 2021 00:10
von peter-pan
Wenn ich das richtig verstehe, hast du die MQTT-Bridge separat angelegt. Wie sieht die denn aus und ist die auch online ? Das müsste auch beim Systemstart angezeigt werden.
Zu den Topics/Payloads, die du benutzt, kann ich nicht (mehr) viel dazu sagen, da ich meine ESP's alle mit Tasmota geflasht habe. Das müsstest du ja auch prüfen können. Ich meine das wird in Tab 1/2 der ESPEasy-WebUi konfiguriert und da müsste auch (Tab 3... oder so) der Broker definiert sein. Aber das ist jetzt Spekulation.
Ist das dein erster geflashter ESP ?
Hast du einen MQTT-Sniffer, z.B.: MQTT.fx oder MQTT-Explorer um zu sehen, ob überhaupt Kommunikation stattfindet ?
Ich hab hier im Forum
was gefunden, vielleicht hilft dir das weiter.
Das hab ich hier auch noch auf die Schnelle gefunden.
Vielleicht kann dir @sihui, da auch noch weiterhelfen. Dazu braucht es aber noch ein paar mehr Infos

Re: Espeasy Variable per MQTT ändern
Verfasst: 21. Dez 2021 07:50
von sihui
peter-pan hat geschrieben: ↑21. Dez 2021 00:10
Ich meine das wird in Tab 1/2 der ESPEasy-WebUi konfiguriert und da müsste auch (Tab 3... oder so) der Broker definiert sein.
HiG hat geschrieben: ↑20. Dez 2021 17:11
Es handelt sich bei mir nicht um Espeasy Devices.
Er hat diesen Thread gekapert und nutzt gar kein ESPEasy.
Das führte hier schon mehrfach zu Irritationen. @HiG, öffne bitte einen neuen Thread, wie es sich gehört, falls das Problem noch besteht.