mal wieder ein kleines Problem.
Ich mᅵchte mir aus fhem heraus gerne eine Mail zusenden lassen, dazu
will ich das "mail send"-Kommando auf der Fritzbox nutzen (Vorteil: alle
Daten dazu [auth, etc.] werden aus dem WebIF ᅵbernommen)
Gebastelt habe ich mir:
sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" | /usr/bin/mail send -i - -s \"$subject\"
-t \"$rcpt\"");
}
Mein notify dazu sieht so aus:
define n_test notify n_test { \
Log 1, 'n_notify started';; \
fb_mail('ma...@xmn-berlin.de','subject','text');; \
}
nach "trigger n_test" bekomme ich die Log-Ausgabe aber keine Mail;
kopiere ich "{ ... }" direkt in die fhem-Konsole klappt alles. Nicht nur
Log-Msg, auch eine Mail.
Das Mail-Kommando auf der Konsole braucht ca. zwei Sekunden, wᅵhrend
derer fhem hᅵngt. Diese dauert es interessanterweise nach einem
"trigger" auch, bis fhem wieder will. Nur leider ohne die Mail.
Fehlermeldungen im Log bekomme ich (auch bei verbose 5) nicht...
Geht system() nicht innerhalb eines notifies???
Gruᅵ
Martin
Eigentlich schon, ich schick mir auch ueber Mail-Umweg SMS Nachrichten.
Ich wuerde an deine Stelle das weiter Problem eingrenzen:
fhem> { system("echo \"Hallo\") }
fhem> { fb_mail(".." ... }
usw.
sub fb_mailtest {
fb_mail('meine...@domain.de','ein subject','ein text');
}
sub fb_mail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("/bin/echo \"$text\" | /usr/bin/mail send -i - -s \"$subject\"
-t \"$rcpt\"");
}
====================
define emailtest1 notify emailtest1 { fb_mailtest }
define emailtest2 notify emailtest2 {
fb_mail('meine...@domain.de','ein subject','ein text') }
define emailtest3 notify emailtest3 "echo "text" | /usr/bin/mail send -i
- -s "subject" -t "meine...@domain.de""
====================
fhem> { fb_mail('meine...@domain.de','ein subject','ein text') }
0
=> ca. 2 Sekunden Pause, Mail kommt an.
fhem> trigger emailtest1 on
=> ca. 2 Sekunden Pause, Mail kommt an.
fhem> trigger emailtest2 on
=> ca. 2 Sekunden Pause, Mail kommt NICHT an.
fhem> trigger emailtest3 on
=> keine Pause, Mail kommt NICHT an.
fhem> "echo "text" | /usr/bin/mail send -i - -s "subject" -t
"meine...@domain.de""
=> keine Pause, Mail kommt an.
bin ratlos. Wieso gehen die Funktionen mit Parameter�bergabe nicht aus
den notifies?
Gru�
marte
Weil im notify @ und % ersetzt wird :) Immer diese Denksportaufgaben frueh am
Morgen :)
Danke!