Email beim Überschreiten eines Wertes nur einmal stündlich senden

Begonnen von Franzel007, 04 November 2022, 17:03:39

Vorheriges Thema - Nächstes Thema

Franzel007

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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

TomLee

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.

TomLee

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 ...