FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: rspecht am 16 Juli 2024, 20:45:38

Titel: ReadingsAge auf bestimmten Wert - wann war das Reading das letzte mal ....
Beitrag von: rspecht am 16 Juli 2024, 20:45:38
Hallo Zusammen,

ich habe eine Aufgabe für FHEM: Ich möchte wissen wann ein Schalter das letzte mal auf "closed" war.
Es geht um meinen Rückspülfilter den ich 1x im Monat drehen sollte. Da ist nun ein Aquara Fensterkontakt montiert und ich schaue jeden Morgen mit einem at auf das ReadingsAge. Nun wäre es ja deutlich sicherer wenn ich auf "state" = "closed" checken würde. Wenn nun der Sensor - wegen was auch immer - den Status neu sendet, denkt FHEM es ist alles OK. Die großen Zahlen rühren vom umrechnen in Tage...
Ein Watchdog macht glaube ich kein Sinn auf der Zeitskala.

defmod Haus_Wasser_Rueckspuelfilter_AT at *00:25:00 {\
my $temp = ReadingsAge("MQTT2_zigbee_Rueckspuelfilter","state",3024000)/86400;;\
fhem "setreading Haus_Wasser_Rueckspuelfilter_Alter state $temp";;\
}

Habt ihr eine Idee?

Vielen Dank und Grüße :)
Titel: Aw: ReadingsAge auf bestimmten Wert - wann war das Reading das letzte mal ....
Beitrag von: Gisbert am 16 Juli 2024, 23:17:44
Hallo rspecht,

ich hab die Aufgabe anders gelöst. Ich sende mir alle 3 Monate eine Push-Nachricht auf's Handy zu und mache dann die Rückspülung.

Aber es geht auch ganz ohne Hausautomation, wenn man einen wiederkehrenden Termin in seinem elektronischen Kalender einträgt.

Viele Wege führen nach Rom.

Viele Grüße Gisbert
Titel: Aw: ReadingsAge auf bestimmten Wert - wann war das Reading das letzte mal ....
Beitrag von: enno am 17 Juli 2024, 09:41:57
Moin zusammen,

bei mir hängt das Teil in der Garage neben den Fahrrädern. Dort ist ein Wecker montiert, der so lange piept, bis der Filter einmal gespült wurde und der Wecker bestätigt wurde. Das klappt bei allen Hausbewohnern. Piep => spülen => quittieren. Auch ganz ohne FHEM ;D

Wenn ich es über FHEM lösen müsste, würde ich mir mit einem At oder DOIF ein Reading mit dem Wechseldatum setzte und täglich dagegen prüfen. Open Close mit "event-on-change" schreiben, dann wir nicht gemeldet wenn Status wiederholt wurde.

Gruss
  Enno
Titel: Aw: ReadingsAge auf bestimmten Wert - wann war das Reading das letzte mal ....
Beitrag von: Jamo am 23 Juli 2024, 21:30:07
Hallo, das kann man auch über 2 Userreadings lösen.
Beispiel:
Die Zeit in einem reading "TimePrsent" speichern, wann das iPhone auf present gewechselt ist,
und dann in einem reading "TimeAbsent" speichern, wann das iPhone auf absent gewechselt ist.

Funktioniert nur, wenn event-on-change-reading für iPhone_presence gesetzt ist.


attr userReadings
TimeAbsent:iPhone_presence:.absent  {ReadingsTimestamp($name,'iPhone_presence','1970-01-01 01:01:01')},
TimePrsent:iPhone_presence:.present {ReadingsTimestamp($name,'iPhone_presence','1970-01-01 01:01:01')}