Hauptmenü

Reading auf Alter prüfen

Begonnen von devien, 04 Februar 2018, 21:53:21

Vorheriges Thema - Nächstes Thema

devien

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?
FHEM + UniPi + Arduino = gute Lösung

KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Damian

#2
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

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

h002

#3
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!

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

h002

Vielen lieben Dank für die schnelle Hilfe