Gleich vorab, bin sehr neu in dem FHEM Gebiet. Habe eine FB7390 und einen CUL-Stick, Protokoll FS20. Ich möchte gerade eine Email versenden, wenn ein Gerät an- bzw- ausgeschaltet wird. Später möchte ich das mit meiner Klingel verheiraten, jedoch habe ich die Steuerung noch nicht.
Ich benutze fb_mail() wie aus dem Wiki, was per Command absetzen funktioniert. Jetzt habe ich folgendes in der fhem.cfg:
define MailOnNotify notify Turmlampe { fhem 'fb_mail("zensiert@domain.net (zensiert@domain.net)","Notify Test","funktioniert es????")' }
Habe schon mit den Hochkommas und Anführungszeichen gespielt, aber es will nicht..
Wie bekomme ich ds hin?
Für Anregungen bin ich immer dankbar.
Viele Grüße
Hallo,
ein
Zitatmit den Hochkommas und Anführungszeichen gespielt, aber es will nicht..
ist immer gut - für Leute mit Kristallkugel ;-)
Im Logfile von fhem steht sicher eine Fehlermeldung.
Damit jetzt nicht alle deinen Zusammenbau und alles nachbauen und nachtesten müssen wäre es nett wenn du die zugehörige
Fehlermeldung aus dem fhem.log kopieren könntest.
Im Nebel stochern hinterlässt meist mehr Löcher als notwendig ;-)
Grüße
Vmtl muss @ als @@ geschrieben werden, da sonst notify diesen durch den Event-ausloesenden Geraetenamen ersetzt.
Mein notify funzt so: {FB_mail('xxx@@yyy.com' (@@yyy.com'),'aaa','bbb')}
An das Logfile habe ich nicht gedacht. Spiele erst seit 2 Tagen mit FHEM herum :)
Meine fhem.cfg enhält u.a. folgendes:
# FB_Mail benutzen:
use FritzBoxUtils;
sub
fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" > /var/tmp/fhem_nachricht.txt");
system("/sbin/mailer -i '/var/tmp/fhem_nachricht.txt' -s \"$subject\" -t \"To <$rcpt>\" -f \"From Fritz <$rcpt>\" -m mail.gmx.net -a \"$rcpt\" -w passwort");
system("rm /var/tmp/fhem_nachricht.txt");
}
Das ist mein notify:
define MailOnNotify notify Turmlampe {fb_mail("name@@gmx.net","Notify Test","funktioniert es????")}
Benutze ich fb_mail() per Commando, funktioniert es. Schalte ich auf der Fernbedienung die Lampe, sehe ich das auch im Logfile. Mehr allerdings nicht.
Benutze ich FB_mail() steht folgendes im Log:
2013.03.15 19:40:04 2: FS20 FS20_c04b00 dimdown
2013.03.15 19:40:04 3: MailOnNotify return value: Global symbol "@gmx" requires explicit package name at (eval 211) line 1.
Danke für deine Antwort Puschel. Falls das da deine echten Daten inkl. Passwort sind, solltest du das Passwort ändern und am besten den Post editieren / zensieren.
Habe jetzt fb_mail() ohne Empfänger-Adresse als Param. Die habe ich in der Funktion fest codiert und das "@" escaped. Mit @@ funktionierte es nicht. Jetzt funktioniert es.
Zum "/sbin/mailer" nochmal eine Anmerkung. Bei mir existiert der Parameter "send" nicht. Ausserdem muss ich zwingend SMTP-Adresse, Sender, Passwort etc angeben, ohne gehts nicht.
root@fritz:/var/mod/root# mailer --help
illegal option 'e'
usage: mailer mailer [-s subject] -f from -t to -m mailserver [-a authname [-w passwd]] -i file(s) [-r] [-d attachfile(s)] [-l] [-c charset]
options:
-? - print this help
-p STRING - pidfile. ("/var/run/mmailer.pid")
-s STRING - subject. ("FRITZ!Box")
-f STRING - from. (NULL)
-t STRING - to. (NULL)
-m STRING - mailserver. (NULL)
-a STRING - authname. (NULL)
-w STRING - passwd. (NULL)
-n - no SMTP-Auth. (NOTSET)
-d STRING - attachment(s). (NULL)
-i STRING - inline part(s) - add text file(s) here. (NULL)
-r - use "multipart/related" if possible. (NOTSET)
-l - SMTP with SSL or TLS. (NOTSET)
-c STRING - charset (default: iso-8859-1, no charset conversion!). (NULL)
-D STRING - switch debug logs on. (NULL)
note: please use filename extensions if possible
Hallo,
Mist. Wusste doch ich überseh irgendwas.
Danke für den Hinweis.
Grüße