ReadingsAge auf bestimmten Wert - wann war das Reading das letzte mal ....

Begonnen von rspecht, 16 Juli 2024, 20:45:38

Vorheriges Thema - Nächstes Thema

rspecht

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 :)

Gisbert

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
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

enno

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
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Jamo

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')}
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence