Guten Morgen Allerseits,
ich habe ein kleines Problem bei welchem ich nicht so recht weiter komme. In der Forensuche habe ich nichts in der Richtung gefunden, generell gibt es wenig zu ReadingsTimestamp.
Ich habe einen Sensor, welcher in regelmäßigen Abständen von etwa 3 Minuten Readings in FHEM aktualisiert.
Da es sich bei dem Sensor um eine Art Rauchmelder handelt möchte ich gern eine Push Nachricht per Pushover Modul bekommen, sobald die Readings nicht mehr aktualisiert werden, sprich wenn ReadingsTimestamp älter als 10 Minuten ist.
Ich hänge leider an der Syntax für das "älter als 10 Minuten".
Soweit bin ich bisher:
SmokeDetectorPrinter {
if ( ReadingsTimestamp("SmokeDetectorPrinter","Smoke","") <= (time() - (10*60) )) {
fhem("set pushmsg msg priority=1 title='FIRE SENSOR NOT FUNCTIONAL' retry=30 Fire Sensor does not update values")
}
}
Vermutlich passen die Formatierungen für der beiden Zeitwerte nicht weshalb es nicht funktioniert oder ich gehe das ganz falsch an.
Ich bin jedenfalls für alle Vorschläge offen.
Gruß
David
Eine mögliche Lösung ohne Rechnerei:
define di_push DOIF ([Tempsensor])(set pushmsg "sensor failed again")
attr di_push wait 1800
attr di_push do resetwait
siehe https://fhem.de/commandref_DE.html#DOIF_do_resetwait
Es gibt ReadingsAge
ReadingsAge("SmokeDetectorPrinter","Smoke","") > 180)
Zu den beiden Vorschlägen noch meine zwischenzeitlichen Suchergebnisse:
https://forum.fhem.de/index.php?topic=12545.0
https://www.tutorialspoint.com/perl/perl_date_time.htm
Um zu ermitteln warum das falsch lief :)
Gruß Otto
Vielen Dank für die ultraschnellen Antworten.
ReadingsAge ist natürlich perfekt. Gut zu wissen das es das gibt, das werde ich nachher Mal testen.
Gruß David
watchdog oder monitoring können das auch abbilden.
@CoolTux Danke, ReadingsAge funktioniert perfekt. Manchmal ist es so einfach.
Allen ein schönes WE
Zitat von: CoolTux am 22 Juli 2017, 11:42:51
Es gibt ReadingsAge
ReadingsAge("SmokeDetectorPrinter","Smoke","") > 180)
Wo findet man was dazu?
Gruß Sascha
Gesendet von dem teuren ding in meiner hand
Wenn man in der Commandref und im Wiki nichts findet, dann auf jeden Fall hier im Forum.
Ich muss aber zugeben das man in diesem Fall wissen muss wonach man sucht.
Zitat von: sash.sc am 22 Juli 2017, 14:52:46
Wo findet man was dazu?
commandref -> ganz hinten Perl specials
Gruß Otto
Zitat von: Otto123 am 22 Juli 2017, 15:14:56
commandref -> ganz hinten Perl specials
Gruß Otto
Danke Dir Otto.
Ich kenne es weil ich das damals mitverfolgt habe wie die Anfrage eines Users darüber kam und Udo in 10min ne Funktion als Patch für Rudi zusammengestellt hat.
Grüße
Danke euch
Gesendet von dem teuren ding in meiner hand
Bitte noch auf [Gelöst] setzen. Danke