Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden

Begonnen von Schnup, 13 November 2013, 19:16:29

Vorheriges Thema - Nächstes Thema

Fritz!Maxi

Zitat von: Schnup am 13 November 2013, 19:16:29
...
Ein Beispiel, wo DebianMail() zusammen mit "notify" eingesetzt wird:       
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }
Die Funktion "n_batt_chk" prüft alle Geräte mit Hilfe von "notify" auf den Zustand von "Battery" bzw. "battery"  und ersetzt dabei die Zeichen wie folgt:
     "@@" -> durch "@"
     "@"    -> durch den Gerätenamen(device name)                 z.B.: "HT_BuTur"
     "%"    -> durch den gefundenen Zustand (received event) z.B.: "battery:low"
   
Sobald ein Zustand nicht "ok" ist, erfolgt eine E-Mail mit folgenden Angaben:
     an         : Ziel@Adresse.de
      Betreff : FHEM-Meldung
     Inhalt   : BatterieWechsel erforderlich bei HT_BuTur -> Status: battery:low
...


Vielen Dank für die ausführliche Beschreibung und vor allem das Beispiel mit der Batterieüberwachung! Das habe ich jetzt bei mir mal ausprobiert. Ich habe allerdings bei jeder Statusmeldung eines Heizungsthermostats eine Mail erhalten. Daher eine Kleine Ergänzung: "Schuld" daran ist die 2. battery-Meldung:
2014-05-06 21:13:57 CUL_HM HM_CC_RT_DN_Heizung battery: ok
2014-05-06 21:13:57 CUL_HM HM_CC_RT_DN_Heizung batteryLevel: 2.9



Da batteryLevel: 2.9 ein Zustand nicht "ok" ist wird eine Mail versendet obwohl das nicht gewollt / nötig ist. Ein Doppelpunkt in der battery-Abfrage hat das Problem aber für mich gelöst:
Zitatdefine n_batt_chk notify .*:[Bb]attery:.*  usw.
FHEM im Debian Container uaf QNAP, diverse Homematic Komponenten


franky08

#17
Das funktioniert zwar, wie ich gestern getestet habe ABER wenn die SSL.pm geändert wird läuft das Calendar Modul mit dem Google kalender nicht mehr!

Siehe:

http://forum.fhem.de/index.php/topic,24496.0.html
http://forum.fhem.de/index.php/topic,24528.0.html

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

marvin78

Da wird aber nicht die SSL.pm geändert sondern /usr/bin/sendemail. Und dann klappt's auch mit allen anderen Modulen.

franky08

Ah gut zu wissen  :) Dachte bis eben das es nur mit einer Änderung der ssl.pm geht, hatte deinen verlinkten Artikel gestern nur überflogen und im Hinterkopf noch die Geschichte mit der ssl.pm.

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Navigator

...ich muss noch mal fragen ob das Passwort, was in der 99_myUtils hinterlegt ist irgendwie verschlüsselt werden kann.

alexmd

Zitat von: marc2 am 27 Dezember 2013, 00:12:25
...

Nur so als Anregung. Aus meiner Sicht ist es sinnvoller, sich auf dem Raspi Postfix zu konfigurieren, und die Mails aus FHEM
heraus direkt mit MIME::Lite (o.ä. CPAN Modulen) zu versenden. Dies hat diverse Vorteile:

...

Hallo Marc,

ich bin neu hier, würde das gerne mit postfix machen, der ist auch schon eingerichtet und mailt auch aus der console...
Wie würde ich deine Funktion in einer notify definition auffrufen wenn  z.b. der Device Monitor ein device auf "dead" setzet?

Gruß Alex

crissiloop

Hallo Alex,
ich habe die folgende Funktion in meiner 99_myutils.pm:

sub Postfixmail ($$$) {
my ($Empfaenger,$Betreff,$Text) = @_;
system ("echo \"$Text\" | mail -s \"$Betreff\" $Empfaenger");
return undef;
}


Und die Definition des Notify sieht so aus.

.*:Activity.* {if ("$EVENT" !~ "alive") {
Postfixmail('andieseEmailwirdgesendet@PROVIDER.de', 'FHEM Gerät meldet sich nicht mehr', $NAME." ist ".$EVENT);
Log 3, "$NAME: meldet sich nicht ";
}
}


Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

alexmd

habe es mal so konfiguriert, wenn ich den notify definiere bekomme ich Folgenden Fehler:

Unknown command Log, try help.
Unknown command }, try help.

crissiloop

Hallo Alex,

der Inhalt des Notifys ist aus dem DEF-Fenster! Nicht im configfile so eingeben.
Ist bei mir so in Verwendung und funktioniert problemlos.

Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

alexmd

Hallo Christian

das ging jetzt, im Event Monitor sehe ich jetzt auch DeviceMonitor notify active aber ich habe keine mail...

Kann man den Befehl postfixmail irgendwie testen?

Gruß Alex

alexmd

Ich habe nun mal einen Testnotify erstellt und den ohne Bedingung an einen meiner FS20 Schalter gehängt.
Ergebnis war eine Mail bei jedem Schaltvorgang.

Ich habe die DeviceMonitor Notfication nun angepasst:


.*:health_state:.* {if ("$EVENT" !~ "alive") {
Postfixmail('andieseEmailwirdgesendet@PROVIDER.de', 'FHEM Gerät meldet sich nicht mehr', $NAME." ist ".$EVENT);
Log 3, "$NAME: meldet sich nicht ";
}
}


Das scheint nun zu funktionieren.
Hast du wirklich als Regexp .*:Activity.* ?

crissiloop

Hallo Alex,

ja das Notify ist genauso in Benutzung und ich habe auch darüber bereits Mails erhalten. Allerdings habe ich Homematic Komponenten. Ich habe den Event ja vorher extra im Monitor angeschaut.
Das musst du sonst vielleicht auf deine Verhältnisse anpassen.

Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

alexmd

Hallo Christian.

nun ja sagen wir mal so bei mir steht das auf dem Event Montor:


z.b.:
2015-03-19 21:48:10 HMS HMS_SZ health_state: dead


Von daher sollte das passen denke ich.
Jetzt habe ich zumindest ein config beispiel und kann mir meine weitern notifies zusammenbasteln...

Danke dir.

Gruß Alex

Martin-72

Hallo Zusammen,

gibt es eigentlich auch Codes um den Text in der Mail zu formatieren?

Ich denke da an:
     * Zeilenumbruch
     * Fett
     * Zentriert...

Vielen Dank

Martin
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway