FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: DazDavid am 22 Juli 2017, 11:33:54

Titel: Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: DazDavid am 22 Juli 2017, 11:33:54
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
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: Damian am 22 Juli 2017, 11:42:28
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
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: CoolTux am 22 Juli 2017, 11:42:51
Es gibt ReadingsAge


ReadingsAge("SmokeDetectorPrinter","Smoke","") > 180)
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: Otto123 am 22 Juli 2017, 11:56:47
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
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: DazDavid am 22 Juli 2017, 11:58:23
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
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: igami am 22 Juli 2017, 12:16:38
watchdog oder monitoring können das auch abbilden.
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: DazDavid am 22 Juli 2017, 12:41:46
@CoolTux Danke, ReadingsAge funktioniert perfekt. Manchmal ist es so einfach.

Allen ein schönes WE
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: sash.sc am 22 Juli 2017, 14:52:46
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

Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: CoolTux am 22 Juli 2017, 15:14:24
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.
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: Otto123 am 22 Juli 2017, 15:14:56
Zitat von: sash.sc am 22 Juli 2017, 14:52:46
Wo findet man was dazu?

commandref -> ganz hinten Perl specials

Gruß Otto
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: CoolTux am 22 Juli 2017, 15:17:56
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
Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: sash.sc am 22 Juli 2017, 15:28:49
Danke euch

Gesendet von dem teuren ding in meiner hand

Titel: Antw:Push Nachricht bei veraltetem ReadingsTimestamp
Beitrag von: Amenophis86 am 22 Juli 2017, 16:06:06
Bitte noch auf [Gelöst] setzen. Danke