Seite 1 von 3

MQTT - letzte Aktualisierung

Verfasst: 4. Jan 2021 12:02
von SaschaQ
Hallo zusammen,

ich möchte gerne wissen, wie ich die letzte Aktualisierung eines MQTT Items von einem MQTT Broker abfragen kann.

Ich habe Pflanzensensoren, die ihren Status in MQTT melden. Wie kann ich die letzte Aktualisierung in das Thing einbinden?

Ich habe für jede Pflanze ein Thing mit 5 Channels,aber keinem "letzte Änderung" Channel.

Wie kann ich das realisieren. Im MQTT müsste ja auch irgendwo hinterlegt sein, wann sich die Werte der Channels das letzte mal geändert haben.

Viele Grüße
Sascha

Re: MQTT - letzte Aktualisierung

Verfasst: 4. Jan 2021 16:23
von sihui
SaschaQ hat geschrieben: 4. Jan 2021 12:02 ich möchte gerne wissen, wie ich die letzte Aktualisierung eines MQTT Items von einem MQTT Broker abfragen kann.
Das geht sehr einfach mit den ca. ab Version 2.5M4 vorhandenen Profilen:

Code: Alles auswählen

{channel="mqtt:topic:mybroker:pumprum:battery" [profile="timestamp-update"]}
https://www.openhab.org/docs/configurat ... l#profiles
https://community.openhab.org/t/design- ... date/84936

Das fragt natürlich nicht deinen Broker ab sondern die Zeitstempel der Items in openHAB.
SaschaQ hat geschrieben: 4. Jan 2021 12:02 Im MQTT müsste ja auch irgendwo hinterlegt sein, wann sich die Werte der Channels das letzte mal geändert haben.
Nur dann wenn die Firmware das auch unterstützt. Wenn du keinen Channel dafür hast geht es nicht.

Re: MQTT - letzte Aktualisierung

Verfasst: 4. Jan 2021 18:13
von Jojo
Ich habe dafür eine Rule ( hat in 2.5 noch funktioniert ):

Code: Alles auswählen

rule "Zeit oben"
when 
Item TempBuero received update 
then
ZeitOG.postUpdate(now.toString("HH:mm"))
end
Wenn eine Aktualisierung des Items kommt wird die aktuelle Zeit in ein anderes ( Dummy Item ) geschrieben und das kannst du anzeigen lassen

Re: MQTT - letzte Aktualisierung

Verfasst: 11. Jan 2021 08:34
von SaschaQ
Ah perfekt danke. Das hat geklappt. Jetzt habe ich schonmal die Uhrzeit drin.

Kann ich auch noch irgendwie das Datum mit reinbekommen.

So sieht es bisher aus:

og_arbeitszimmersascha_bodensensor_palme_letzte_aktualisierung.postUpdate(now.toString("HH:mm"))

Re: MQTT - letzte Aktualisierung

Verfasst: 11. Jan 2021 11:14
von udo1toni
Ich habe mir das noch nicht genauer angeschaut, aber in OH3 kann man über die Metadaten Zeitstempel generieren lassen...


Gesendet von iPad mit Tapatalk

Re: MQTT - letzte Aktualisierung

Verfasst: 11. Jan 2021 14:33
von StefanH.
sihui hat geschrieben: 4. Jan 2021 16:23
Das geht sehr einfach mit den ca. ab Version 2.5M4 vorhandenen Profilen:

Code: Alles auswählen

{channel="mqtt:topic:mybroker:pumprum:battery" [profile="timestamp-update"]}
...
Geilomat! was dazu gelernt. Ich mach das bei mir "händisch". Funktioniert zwar, aber so ist einfacher ;-)

Re: MQTT - letzte Aktualisierung

Verfasst: 13. Jan 2021 13:38
von SaschaQ
Okay, könnte ich das hier:

og_arbeitszimmersascha_bodensensor_palme_letzte_aktualisierung.postUpdate(now.toString("HH:mm"))

den irgendwie anpassen, dass ich hier das Datum anstatt der Uhrzeit reinbekomme?

Re: MQTT - letzte Aktualisierung

Verfasst: 13. Jan 2021 16:49
von udo1toni
Du musst lediglich statt "HH:mm" sowas wie "DD.MM.YY" schreiben.

Re: MQTT - letzte Aktualisierung

Verfasst: 15. Jan 2021 08:54
von SaschaQ
Und wenn ich Datum und Uhrzeit zusammen haben will?

Re: MQTT - letzte Aktualisierung

Verfasst: 15. Jan 2021 13:59
von udo1toni
Na dann nimmst Du alle notwendigen Platzhalter und setzt sie im gewünschten Format zusammen... Vielleicht willst Du den Wochentag noch dazu (DDDD)? oder lieber abgekürzt (DDD)? Oder den Monat ausgeschrieben (MMMM)? Oder, oder oder...