DebianMail nach readingsval (gelöst)

Begonnen von uron, 18 März 2019, 12:52:03

Vorheriges Thema - Nächstes Thema

CoolTux

Notify arbeitet mit RegEx. Dazu findet man so einiges im Netz.
Du kannst auch den Eventmonitor nehmen, das Event markieren und dann create drücken.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

pataya

Zitat von: CoolTux am 18 März 2019, 17:18:00
Kann man so machen ist aber Unnötige

Verständnisfrage:
Klar ist "Gasheizung:WW-Isttemperatur:.*" sinnvoller, allerdings hätte das notify doch bereits auf alle Events mit "Gasheizung" reagieren müssen, oder?

CoolTux

Meines Wissens nicht. Müsste ich aber selbst noch mal ganz genau klären wie es ist wenn man nur den DEVICENAME mit an gibt.
Bei DEVICENAME.* hätte es auf jeden Fall getriggert.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

pataya

Hab's nämlich mal mit dem dummy ausprobiert, mit dem es funktioniert hat. Aber vielleicht verhält der sich ja auch noch mal anders. Naja...

CoolTux

Eigentlich nicht. Wie gesagt durchaus möglich das es auch nur mit DEVICENAME geht. Aber ich würde es als unsauber bezeichnen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

uron

#20
Im Moment laufen ständig Mails ein, so etwa mindestens jede Minute eines.
Anzunehmen ist, dass jeder kleinste WW-Temperatur-Abweichung getriggert wird.
Leider kann ich das im Event Monitor nicht verfolgen, da er (möglicherweise wegen meines NAS von Synology) nichts anzeigt.
Für meine 'Ursprungsaufgabe', den Fehlercode der Heizung zu triggern wäre das aber kein Problem, weil die Werte doch ziemlich statisch sind.
Will man aber wirklich einen Messwert wie in meinem Beispiel klassifizieren, müssten man ggf. runden können.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

CoolTux

Nun in der Regel möchtest Du bei einem bestimmten Ereignis informiert werden.
Zum Beispiel Benachrichtigung bei unter/überschreiten von Schwellenwerten.
In diesem Fall generiert man mit dem Attribut userReadings ein neues Reading.


attr Gasheizung userReadings infoIsttemp:WW-Isttemperatur:.* { ReadingsVal($name,'WW-Isttemperatur','hoelle') > 57 ) { 'gemuetlich' } elsif( ReadingsVal($name,'WW-Isttemperatur','hoelle') < 37 ) { 'scheisse kalt' } }


Und dann passt du nur noch dein notify an. Reading infoIsttemp wird überwacht und du reagierst auf scheiße kalt oder gemuetlich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

uron

Interessante Vorgehensweise, Danke für die Erläuterungen  ::)
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

uron

Nun habe ich das Gelernte zu später Stunde doch noch auf mein Ursprungsproblem übertragen: der Überwachung des Fehlercodes meiner Heizung.
Der Standardwert ist "0", d.h. keine Probleme.
Beispielhaft habe ich im elsif den Fehlercode "EF" dargestellt, der das Fehlen der Gasverzufuhr anzeigt - diesen Fehler kann ich problemlos durch Abstellen der Gasleitung simulieren.

Der Code lautet deshalbdefine nf_WW_Fehlercode notify Gasheizung:Brenner_Fehlercode:.* { if ( $EVTPART1 == "0") {DebianMail('vorname@name.com','Status Gasheizung:','Es liegt keine Fehlermeldung vor!')} elsif ( $EVTPART1 == "EF" ) {DebianMail('vorname@name.com','Fehlermeldung Gasheizung:','Brenner auf Störung! Flammenverlust direkt nach Flammenbildung! Gasversorgung prüfen!')}}

Nun hatte gedacht, dass notify nur den Fehlercode triggert und dieser ist ja ohne Auftreten eines Fehlers statisch.
Leider erreichen mich erneut minütlich Mails mit dem Hinweis auf den Fehlercode "0".

Erst nach Modifizierung des notify wie folgt (Löschen von :.*)
define nf_WW_Fehlercode notify Gasheizung:Brenner_Fehlercode { if ( $EVTPART1 == "0") {DebianMail('vorname@name.com','Status Gasheizung:','Es liegt keine Fehlermeldung vor!')} elsif ( $EVTPART1 == "EF" ) {DebianMail('vorname@name.com','Fehlermeldung Gasheizung:','Brenner auf Störung! Flammenverlust direkt nach Flammenbildung! Gasversorgung prüfen!')}} lässt die Mailflut verstummen.
Ich hebe es mir für morgen auf, den Fehlerfall zu testen, und werde hier berichten, ob diese Veränderung Erfolg hatte und überhaupt noch ein Mail versandt wird - Methode: Trial and Error.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

CoolTux

Zitat von: uron am 19 März 2019, 00:08:13
Ich hebe es mir für morgen auf, den Fehlerfall zu testen, und werde hier berichten, ob diese Veränderung Erfolg hatte und überhaupt noch ein Mail versandt wird - Methode: Trial and Error.

Oder Dich ein wenig mehr mit dem Thema durch lesen beschäftigen.
Ein einfaches event-on-change-reading hätte hier geholfen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

uron

@CoolTux,
natürlich hätte ein einfaches Lesen des Themas 'event-on-change-reading' geholfen.
Nachdem du aber diesen Hinweis von pataya
Zitat von: pataya am 18 März 2019, 17:00:36
Zum testen des Notifys ansonsten mal:

trigger Gasheizung

Wenn das funktioniert, musst du für's Device vermutlich ein Event-on-change-reading setzen.
verworfen hattest:
Zitat von: CoolTux am 18 März 2019, 17:18:00
Kann man so machen ist aber Unnötige
war das Thema nicht meine erste Wahl.
Zitat von: CoolTux am 19 März 2019, 06:08:50
Oder Dich ein wenig mehr mit dem Thema durch lesen beschäftigen.
Ein einfaches event-on-change-reading hätte hier geholfen.
Am Ende hilft event-on-change-reading und es gehen nur noch eventbasierte Mails bei mir ein.
Danke an beide Helfer.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker