FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: devien am 04 Februar 2018, 21:53:21

Titel: Reading auf Alter prüfen
Beitrag von: devien am 04 Februar 2018, 21:53:21
Hallo,

habe heute das Problem gehabt das meine Heizung nicht ordnungsgemäß gearbeitet hat weil sie keine neuen Temperaturwerte von der fhem2fhem installation erhalten hat.
Die Verbindung war disconected. Natürlich kann das auch mit lokalen Sensoren (z.B: durch deffekt) passieren.

Daher suche ich eine Möglichkeit das Alter des letzten Readings zu prüfen um entsprechend rechtzeitig zu benachrichtigen.
Leider hab ich keinen Schimmer das effektiv umzusetzen, zumal ich aktuell um die 35 Temperatursensoren und bislang 20 Aktoren im Einsatz habe, die Zahl wächst und ich möchte nicht unbedingt für jeden Sensor ein DoIf rattern lassen, selbst wenn mir klar wäre worauf ich prüfen müsste.

Gibts möglicher Weise ein Modul welches genau diese Funktion aufweist das ich bislang noch nicht gefunden habe?
Titel: Antw:Reading auf Alter prüfen
Beitrag von: KernSani am 04 Februar 2018, 21:55:01
Schau dir mal Monitoring an (https://fhem.de/commandref.html#monitoring)
Titel: Antw:Reading auf Alter prüfen
Beitrag von: Damian am 04 Februar 2018, 22:19:48
Das kannst du inzwischen mit der Aggregationsfunktion im DOIF als Einzeiler erledigen:

define old_Readings DOIF ([08:00]) (set push [@"":temperature:ReadingsAge($name,"temperature",0) > 3600,"keine"])
attr old_Readings do always


Jeden Morgen gibt es eine Nachricht welche Temperatursensoren über eine Stunde lang sich nicht gemeldet haben. Die Push-Meldung (hier Dummy) und die Zeit kannst du dir anpassen.

Edit: Definition optimiert

Titel: Antw:Reading auf Alter prüfen
Beitrag von: h002 am 09 November 2019, 20:25:14
Ich habe immer Problem mit der Syntax wie bei

define old_Readings DOIF ([08:00]) (set push [@"":temperature:ReadingsAge($name,"temperature",0) > 3600,"keine"])

Wo finde ich Informationen dazu? Was bedeutet dies in diesem Fall? Besonders der Teil @"" würde mich interessieren.

Auch ist mir dies in einem anderen Fall (gplot) nicht klar.
#dbLogDimplex [b]dim_circulationpump_output:state:::$val=($val=~"on"?-5:-6)[/b]
Am Anfang steht das Device (dim_circulationpump_output), dann ein Reading (state) und dann weiß ich nicht weiter. Kann mich jemand aufklären? Wo ist beschrieben, was es mit $val auf sich hat.

Auch in der Dokumentation finde ich dazu nicht einen speziellen Part. Vielleicht liegt es auch an meiner Kopfblockade und ich seh den Wald vor lauter Bäumen nicht. Mir fehlen da echt noch einige Grundlagen.

Vielen Dank!
Titel: Antw:Reading auf Alter prüfen
Beitrag von: amenomade am 09 November 2019, 20:37:36

Hier für DOIF: https://fhem.de/commandref_DE.html#DOIF_aggregation
Hier für Plots: https://wiki.fhem.de/wiki/Creating_Plots#Data_Extraction
Titel: Antw:Reading auf Alter prüfen
Beitrag von: h002 am 09 November 2019, 20:41:19
Vielen lieben Dank für die schnelle Hilfe