Espeasy Variable per MQTT ändern

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Espeasy Variable per MQTT ändern

Beitrag 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?

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Espeasy Variable per MQTT ändern

Beitrag 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" ?
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Espeasy Variable per MQTT ändern

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Espeasy Variable per MQTT ändern

Beitrag 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.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Espeasy Variable per MQTT ändern

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Espeasy Variable per MQTT ändern

Beitrag 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.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Espeasy Variable per MQTT ändern

Beitrag 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?
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Espeasy Variable per MQTT ändern

Beitrag von HiG »

Und Du hast auch openHAB 2.5 laufen?
Jupp.

Code: Alles auswählen

ii  openhab2                        2.5.3-1                           all          openhab2
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

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

Re: Espeasy Variable per MQTT ändern

Beitrag 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 ;)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Espeasy Variable per MQTT ändern

Beitrag 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.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Antworten