Prüfung von WS3600 Reading-Alter >> Benachtichtigung per Push

Begonnen von zYloriC, 11 Februar 2015, 10:27:36

Vorheriges Thema - Nächstes Thema

zYloriC

Hallo!!
Ich habe eine WH3080 Wetterstation über das Modul WS3600 an einem entfernten Pi in mein fHem eingebunden. Nur werden manchmal die Readings nicht aktualisiert.
Das Reading "DTime" gibt den letzten Stand auf der txt-Datei der Wetterstation an (Format: "11. Feb 2015 09:50:22")

Meine Frage ist nun, wie ich das hinterlegte DTime-Reading zwei mal am Tag gegen das aktuelle Datum testen kann (also Prüfung des Reading-Alters). Wenn dieser "Abstand" größer als 14 Stunden ist, will ich per Push (pushnotifier ist eingerichtet) benachrichtigt werden. Wie kann ich das Format oben mit dem aktuellen fHem-Datum vergleichen und die Differenz (zB. in Minuten) zurückbekommen. Am liebsten per cfg-Code und ohne myUtills (wenn möglich.) Danke.

DTime wird aus einer entfernten txt-Datei durch das WS3600 Modul eingelesen. Das Format ist anpassbar. Kann mit event-on-update-reading oder event-on-change-reading weiterhelfen??

Danke für eure Ideen. Gruß, zYloriC

nesges

Die aktuelle Uhrzeit hast du entweder in $hms (http://fhem.de/commandref.html#perl) oder per localtime() (http://perldoc.perl.org/functions/localtime.html). Sieh dir wegen dem Zeitvergleich mal die Funktionen in 99_TimeUtils.pm an.  "Zweimal am Tag" löst du mit "at" (http://fhem.de/commandref.html#at).

Wenn du event-on-change-reading setzt, könntest du einen watchdog (http://fhem.de/commandref.html#watchdog) auf die Wetterstation setzen, der nach 14h ohne Event triggert. Das ist wahrscheinlich die einfachere Lösung.