Hallo,
ich nutze meine JeeLink Temperatur-Sensoren um meine Kühlschränke und Tiefkühler zu überwachen.
Wenn es zu warm wird, bekomme ich eine Meldung per Telegramm.
Das funktioniert mittlerweile auch ganz gut.
defmod di_Bad.Tiefkuehler DOIF ([Bad.Tiefkuehler:temperature:d] > [dyParameter:Bad.Tiefkuehler_limit:d]) (msg 'Der Tiefkühler im Bad ist zu warm ([Bad.Tiefkuehler:temperature]° statt [dyParameter:Bad.Tiefkuehler_limit]°)! Ist die Tür eventuell offen?')\
DOELSE\
(msg 'Zieltemperatur im Tiefkühler im Bad ([Bad.Tiefkuehler:temperature]°) wieder erreicht')
attr di_Bad.Tiefkuehler repeatcmd {min(ReadingsNum("dyParameter","Dauer_Meldung_Kuehlschraenke",300)*ReadingsNum("$SELF","cmd_count",1),5400)}
attr di_Bad.Tiefkuehler repeatsame 400:1
attr di_Bad.Tiefkuehler room Z_System->LaCrosse
Allerdings habe ich ein Problem mit den Temperatursensoren beim Erreichen der Zieltemperatur.
Anscheinend springen die Messwerte immer wieder hin und her.
Besonders lästig ist das, wenn der Zielwert knapp erreicht wurde.
Da löst das DOIF dann natürlich immer wieder aus, weil ja der Zielwert erreicht ist und dann wieder nicht, dann wieder schon....
Wie kann ich Den Temperatursensor quasi "entprellen"?
Danke im Voraus
lg, Gerhard
Zitat von: gestein am 06 April 2022, 19:17:22
Hallo,
ich nutze meine JeeLink Temperatur-Sensoren um meine Kühlschränke und Tiefkühler zu überwachen.
Wenn es zu warm wird, bekomme ich eine Meldung per Telegramm.
Das funktioniert mittlerweile auch ganz gut.
defmod di_Bad.Tiefkuehler DOIF ([Bad.Tiefkuehler:temperature:d] > [dyParameter:Bad.Tiefkuehler_limit:d]) (msg 'Der Tiefkühler im Bad ist zu warm ([Bad.Tiefkuehler:temperature]° statt [dyParameter:Bad.Tiefkuehler_limit]°)! Ist die Tür eventuell offen?')\
DOELSE\
(msg 'Zieltemperatur im Tiefkühler im Bad ([Bad.Tiefkuehler:temperature]°) wieder erreicht')
attr di_Bad.Tiefkuehler repeatcmd {min(ReadingsNum("dyParameter","Dauer_Meldung_Kuehlschraenke",300)*ReadingsNum("$SELF","cmd_count",1),5400)}
attr di_Bad.Tiefkuehler repeatsame 400:1
attr di_Bad.Tiefkuehler room Z_System->LaCrosse
Allerdings habe ich ein Problem mit den Temperatursensoren beim Erreichen der Zieltemperatur.
Anscheinend springen die Messwerte immer wieder hin und her.
Besonders lästig ist das, wenn der Zielwert knapp erreicht wurde.
Da löst das DOIF dann natürlich immer wieder aus, weil ja der Zielwert erreicht ist und dann wieder nicht, dann wieder schon....
Wie kann ich Den Temperatursensor quasi "entprellen"?
Danke im Voraus
lg, Gerhard
Ich würde den Median nehmen : https://fhem.de/commandref_DE.html#DOIF_Reading_Funktionen
Ich habe das seit langem erfolgreich anders gelöst: es gibt eine Telegramm Meldung wenn die höchst zulässige Temperatur überschritten ist. Danach einen Test, ob die darauf folgende Temperaturmessung einen niedrigeren Wert ergibt - wenn ja, funktioniert der Gefrierschrank - wenn nicht gibt es einen neue Meldung - dann ist der Stecker draußen oder Gerät defekt und es wird so lange weitergewarnt bis das Problem beseitigt ist. Durch eine ausreichend lange Zeit zwischen 2 Messungen (3 min) kommt es zu keinem Fehlalarm
Statt DOELSE würde ich DOELSEIF und eine entsprechende Hysterese nutzen.