eMail nur bei Statusänderung

Begonnen von Dieter68, 09 Januar 2019, 19:28:45

Vorheriges Thema - Nächstes Thema

Dieter68

Hallo,

ich habe eine Wlan Schaltsteckdose in Fhem angelegt bei der ich wenn sie nicht mehr erreichbar (absent) eine eMail gesendet werden soll.

Die Überwachung und das senden der eMail wollte ich per notify machen.

Leider bekomme ich jetzt alle paar Minuten eine eMail das die Steckdose eben nicht mehr erreichbar ist. Wie bekomme ich es hin das ich die Mail nur einmal bekomme?

Hier mal die Steckdose:

Internals:
   CHANGED   
   DEF        192.168.1.127 80 espBridge Schaltsteckdose4_Relaisstatus
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0.0-dev12
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   27
   ESP_VERSION 2
   HOST       192.168.1.127
   IDENT      Schaltsteckdose4_Relaisstatus
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MAX_CMD_DURATION 1
   MSGCNT     11490
   NAME       ESPEasy_Schaltsteckdose4_Relaisstatus
   NOTIFYDEV  global
   NR         119
   NTFY_ORDER 50-ESPEasy_Schaltsteckdose4_Relaisstatus
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    2.14
   espBridge_MSGCNT 11490
   espBridge_TIME 2019-01-08 16:41:32
   READINGS:
     2019-01-08 16:41:32   Switch          off
     2019-01-09 19:22:49   presence        absent
     2019-01-09 19:22:49   state           absent
   helper:
     fpc        1546272151
     pm:
       Encode     1
       JSON       1
     received:
   sec:
     admpwd     
Attributes:
   IODev      espBridge
   Interval   300
   devStateIcon on:general_an@green off:general_aus@red on absent:rc_BLUE:off gpio:rc_YELLOW:off
   [b]event-on-change-reading state[/b]
   eventMap   /event toggle:toggle/event anschalten:on/event ausschalten:off
   group      ESPEasy Device
   icon       hue_filled_outlet
   presenceCheck 1
   readingSwitchText 1
   room       Serverraum
   setState   3
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","") eq "off" ? "off" : ReadingsVal($name,"Switch","") eq "on" ? "on" : ReadingsVal($name,"Switch","")}
   webCmd     :


Leider brachte mein "event-on-change-reading state" keine Besserung

Und hier mal mein notify:

Internals:
   DEF        ESPEasy_Schaltsteckdose4_Wifi_RSSI:absent {DebianMail("XXXXXXX\@t-online.de","Problemmeldung","Schaltsteckdose 4 nicht erreichbar","")}
   NAME       Schaltsteckdose_4_nicht_erreichbar
   NOTIFYDEV  ESPEasy_Schaltsteckdose4_Wifi_RSSI
   NR         127
   NTFY_ORDER 50-Schaltsteckdose_4_nicht_erreichbar
   REGEXP     ESPEasy_Schaltsteckdose4_Wifi_RSSI:absent
   STATE      2019-01-09 19:22:27
   TRIGGERTIME 1547058147.10257
   TYPE       notify
   READINGS:
     2018-12-31 17:02:22   state           active
Attributes:
   room       Serverraum



Es wäre klasse wenn Ihr mir hier eine Lösung geben könntet.

Danke und Gruß
Dieter68

Frank_Huber

#1
Event-on-change-reading .*

Und ändere evtl deine mailadresse im code. [emoji6]

Gesendet von meinem Doogee S60 mit Tapatalk

Dieter68

Hallo,

ich wusste doch das ich im Code noch etwas ausblenden musste ..... :o

Du meinst so:

Internals:
   CHANGED   
   DEF        192.168.1.127 80 espBridge Schaltsteckdose4_Relaisstatus
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0.0-dev12
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   27
   ESP_VERSION 2
   HOST       192.168.1.127
   IDENT      Schaltsteckdose4_Relaisstatus
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MAX_CMD_DURATION 1
   MSGCNT     11490
   NAME       ESPEasy_Schaltsteckdose4_Relaisstatus
   NOTIFYDEV  global
   NR         119
   NTFY_ORDER 50-ESPEasy_Schaltsteckdose4_Relaisstatus
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    2.14
   espBridge_MSGCNT 11490
   espBridge_TIME 2019-01-08 16:41:32
   READINGS:
     2019-01-08 16:41:32   Switch          off
     2019-01-09 19:32:49   presence        absent
     2019-01-09 19:32:49   state           absent
   helper:
     fpc        1546272151
     pm:
       Encode     1
       JSON       1
     received:
   sec:
     admpwd     
Attributes:
   IODev      espBridge
   Interval   300
   devStateIcon on:general_an@green off:general_aus@red on absent:rc_BLUE:off gpio:rc_YELLOW:off
   event-on-change-reading .*
   eventMap   /event toggle:toggle/event anschalten:on/event ausschalten:off
   group      ESPEasy Device
   icon       hue_filled_outlet
   presenceCheck 1
   readingSwitchText 1
   room       Serverraum
   setState   3
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","") eq "off" ? "off" : ReadingsVal($name,"Switch","") eq "on" ? "on" : ReadingsVal($name,"Switch","")}
   webCmd     :

Frank_Huber

#3
Btw,
Mit diesem notify überwache ich alle ESPs.
Alle ESPs beginnen mit "ESP" im Namen.
Über das Comment Attribut im ESP device habe ich deren Verwendungsort mit drin.
$Name wird durch den Gerätenamen ersetzt.
Wenn das Attribut comment nicht gesetzt ist kommt "no comment" in die Mail.


defmod ESP_mon notify ESP.*:absent {DebianMail('email@gints.net', 'FHEM ESP-Warnung', $NAME.' ('.AttrVal("$NAME","comment","no comment").'): '.$EVENT)}



Gesendet von meinem Doogee S60 mit Tapatalk

Frank_Huber



Zitat von: Dieter68 am 09 Januar 2019, 19:37:50
Hallo,

ich wusste doch das ich im Code noch etwas ausblenden musste ..... :o

Du meinst so:

Ja, so sollte das gehen.

Gesendet von meinem Doogee S60 mit Tapatalk


Dieter68

So ich teste mal gerade ob das so geht....

Deine Lösung ist natürlich bei weitem eleganter und macht weniger Arbeit - werde ich auch testen.

Gruß
Dieter68

Dieter68

Mit dem event-on-change-reading .* geht es nicht.

Ich bekomme alle paar Minuten immer wieder die Mail :(

Ich hatte das schon mal gelöst aber leider ist meine vorherige Konfiguration auf dem Raspi durch eine defekte Speicherkarte den Bach runter gegangen.

Wo könnte das Problem denn da noch liegen?

Gruß
Dieter68

Frank_Huber

nach deinen lists sollte es so korrekt gehen.
schau am besten mal im Event Monitor, der wird zeigen woher da noch was kommt.