Zeitstempel eines Schaltvorganges

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Joerg
Beiträge: 44
Registriert: 2. Jan 2020 10:38
Answers: 0

Zeitstempel eines Schaltvorganges

Beitrag von Joerg »

Hallo,
zur überwachung einer Pumpe habe ich einen Homematic-Actor installiert. Wenn der Schwimmer der Pumpe diese startet, geht der Actor auf "ON".
Ich möcht mir nun die Uhrzeit und das Datum des letzten Pumpvorgangs anzeigen lassen. Meine Versuche sehen so aus:
Items

Code: Alles auswählen

DateTime zeitstempel_drainagepumpe_update "[%1$tm/%1$td %1$tH:%1$tM]"
rules

Code: Alles auswählen

rule "zeitstempel_drainagepumpe"
when
     Item zeitstempel_drainagepumpe received update
then
        postUpdate(zeitstempel_drainagepumpe_update,  new DateTimeType())
end
Im Habpanel habe ich ein dummy-widget und das item: "zeitstempel_drainagepumpe_update" eingestellt.
Angezeigt wurde mir tagelang nur "NULL", heute steht da aber: 2020-02-22T19:11:28.074+0100
Das Format kriege ich sicher noch alleine hin, aber die Daten stimmen nicht, denn zwischenzeitlich ist die Pumpe ganz sicher schon X-mal gestartet.
Meine Frage: Warum stand da mehrere Tage lang NULL und heute sehe ich da ein Datum (zwar falsch, aber immerhin). Ich habe OH2 auf einem Raspi laufen. .... hab ich irgendwelche Daten vergessen anzugeben??
Wäre für Hilfe echt dankbar, denn aktuell ist die Pumpe ein wichtiges Util
Gruß Jörg

hurra
Beiträge: 66
Registriert: 28. Aug 2019 10:52
Answers: 0

Re: Zeitstempel eines Schaltvorganges

Beitrag von hurra »

Wenn du ein Item definierst, aber es noch nie beschrieben/gesetzt wurde, besitzt es immer als Ausgangszustand NULL.

Die Rule stimmt, ich hab eine ähnliche zum speichern der letzten Messung. Da kann morgen nachschauen.


Rule:

Code: Alles auswählen

rule Autotemperatur_Zeitstempel
 
 when
      Item Auto_Temperatur_Temperatur changed
 then    	  
       Auto_Temperatur_Zeitstempel.postUpdate( new DateTimeType() )
end

Item:

Code: Alles auswählen

DateTime Auto_Temperatur_Zeitstempel "letzte Messung [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <time>

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

Re: Zeitstempel eines Schaltvorganges

Beitrag von udo1toni »

Du möchtest den Zeitstempel doch eher setzen, wenn der Aktor ein (oder aus) schaltet. Die Rule darf also nicht auf den Zeitstempel triggern, sondern auf den Schaltzustand.

Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Joerg
Beiträge: 44
Registriert: 2. Jan 2020 10:38
Answers: 0

Re: Zeitstempel eines Schaltvorganges

Beitrag von Joerg »

@ hurra
Vielen Dank für den Code, ich werde das heute Abend mal entsprechend umbauen und testen, hab aber irgendwie im "Hinterstübchen" als hätte ich in der Richtung schon rumprobiert.

@udo1toni
So fit bin ich nicht, das ich genau verstehe was Du meinst.
Überwache ich quasi das Item und wenn sich das -warum auch immer ändert- wird die Rule ausgelöst?

Wenn ich mir das so zurechtdenke versteh ich den Code von @hurra, aber liege ich da richtig?

hurra
Beiträge: 66
Registriert: 28. Aug 2019 10:52
Answers: 0

Re: Zeitstempel eines Schaltvorganges

Beitrag von hurra »

Code: Alles auswählen

rule "zeitstempel_drainagepumpe"
when
     Item zeitstempel_drainagepumpe received update //Empfängt der Zeitstempel der Pumpe ein update 
then
        postUpdate(zeitstempel_drainagepumpe_update,  new DateTimeType()) // dann wird dem Zeitstempel_update der aktuelle Zeitstempel zugewiesen
end
udo1toni meint, du solltest

Die Pumpe wirst du ja mit einem Schalter bzw. Ausgang aktivieren. Auf den solltest du Triggern, z.B.

Code: Alles auswählen

Item Drainagepumpe_Switch received update

Joerg
Beiträge: 44
Registriert: 2. Jan 2020 10:38
Answers: 0

Re: Zeitstempel eines Schaltvorganges

Beitrag von Joerg »

Alles Klar, läuft jetzt, nochmal nach etwas probieren und ich glaube ich habe auch verstanden warum :-) Probleme habe ich immer mit den Bezeichnungen.
Im PaperUI -> Controlls steht der Name des Items. Den kann ich aber nicht nehmen, mußte erst umständlich den Richtigen herausfinden. Die Logik habe ich noch nicht durchdrungen.
Das mit dem Datumsformat klappt auch nicht, obwohl der User "openhab" auf deutsch gestellt ist, der reboot war auch nix, das Panel wird nicht geladen, wurde es aber mal ..... Openhab mag mich nicht
Aber das sind alles andere Probleme, vielen Dank erstmal für die Hilfe bis hier.

bastler
Beiträge: 121
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Zeitstempel eines Schaltvorganges

Beitrag von bastler »

das mit dem datum sollte aber klappen, hast du mal probiert das so in deine sitemap einzufügen:

Code: Alles auswählen

Text item=Drainagepumpe_Switch label="letzte Aktion[%1$td.%1$tm.%1$tY %1$tH:%1$tM]"

Joerg
Beiträge: 44
Registriert: 2. Jan 2020 10:38
Answers: 0

Re: Zeitstempel eines Schaltvorganges

Beitrag von Joerg »

Ich habe keine sitemaps, hab es u.a. so probiert wie #hurra es geschrieben hat. Es ist aber wurscht was ich da schreibe, in der Anzeige ändert sich nichts, als wenn es vollkommen ignoriert wird.

bastler
Beiträge: 121
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: Zeitstempel eines Schaltvorganges

Beitrag von bastler »

ah, ich sehe gerade du arbeitest mit habpanel, damit hab ich noch nicht gearbeitet, sorry. aber du hast dort doch auch das item Drainagepumpe_Switch eingefügt? dann sollte auf jeden fall schon mal das datum angezeigt werden, wenn auch noch nicht in dem von dir gewünschten format.

Joerg
Beiträge: 44
Registriert: 2. Jan 2020 10:38
Answers: 0

Re: Zeitstempel eines Schaltvorganges

Beitrag von Joerg »

Ja ja, grundsätzlich läuft es jetzt (zweitletzter Post von mir), aber eben das falsche Format und das ändert sich nicht, was ich auch mache.

Antworten