FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Franzel007 am 04 November 2022, 17:03:39

Titel: Email beim Überschreiten eines Wertes nur einmal stündlich senden
Beitrag von: Franzel007 am 04 November 2022, 17:03:39
Hihi,
ich habe im Forum nun einiges gelesen, drehe mich aber mal wieder in Kreis.

Zu meinem Problem: Wenn unsere Heizung auf Störung geht (wird das über einen LDR auf der Störlampe erkannt und per espeasy als Analogwert an fhem gesendet) soll eine E-Mail an mich versendet werden. Das klappt auch so weit.

define n_ESPEasy_esp_easy_heizung_LDR_notify_stoerung notify ESPEasy_esp_easy_heizung_LDR:Analog:.* { if (ReadingsNum('ESPEasy_esp_easy_heizung_LDR','Analog',0) >=950){DebianMail("XXXX.XXXX\@gmail.com,heizung.XXXX\@gmail.com","Heizung ist auf Stoerung","Heizung ist auf Stoerung")}}

Leider kommt die E-Mail so natürlich jede Minute solange die Störung ansteht. In der Nacht ist das ein Problem.

Wie kann ich das so ändern, dass die E-Mail dreimal gesendet wird und dann nicht mehr?
Oder die E-Mail nach auslösen ">=950" nur alle Stunde einmal versendet wird?

Gibt es dafür eine Lösung und ihr könnt mir dabei helfen?

Gruß
Franzl
Titel: Antw:Email beim Überschreiten eines Wertes nur einmal stündlich senden
Beitrag von: MadMax-FHEM am 04 November 2022, 17:10:32
Am einfachsten:

Attribut disabledAfterTrigger

Und/oder:

Attribut disabledForIntervals

Evtl. auch event-on-change-reading beim "sendenden" Device, also dort wo das Event entsteht, auf das das notify triggert...

Gruß, Joachim
Titel: Antw:Email beim Überschreiten eines Wertes nur einmal stündlich senden
Beitrag von: TomLee am 04 November 2022, 18:00:06
ZitatWie kann ich das so ändern, dass die E-Mail dreimal gesendet wird und dann nicht mehr?

Mit Hilfe der Funktion Each:

defmod n_ESPEasy_esp_easy_heizung_LDR_notify_stoerung notify ESPEasy_esp_easy_heizung_LDR:Analog:.* {\
my @w=(1..4);;\
my $s=join(",",@w);;
Each($SELF,$s);;\
return fhem("set $SELF inactive") if InternalVal($SELF,'EACH_INDEX',1) == 4;;\
if (ReadingsNum('ESPEasy_esp_easy_heizung_LDR','Analog',0) >=950){DebianMail("XXXX.XXXX\@gmail.com,heizung.XXXX\@gmail.com","Heizung ist auf Stoerung","Heizung ist auf Stoerung")}}


Wenn ich keinen Denkfehler dabei habe, brauchts dann noch eine Lösung, wie man nach der Störung das notify wieder scharf schaltet.
Titel: Antw:Email beim Überschreiten eines Wertes nur einmal stündlich senden
Beitrag von: TomLee am 04 November 2022, 21:05:45
OT

Um meiner Linie treu zu bleiben (überall wo ich auftauche es Probleme gibt)




-> hier würd ich mir im Hintergrund genau diese Funktion für notify wünschen, welches die Anzahl der Wiederholungen mit der Angabe in einem Attribut (oder wie auch immer) umsetzt ...