Hauptmenü

notify mit Mailversand

Begonnen von pinsel, 08 Oktober 2017, 17:49:21

Vorheriges Thema - Nächstes Thema

pinsel

Hi!
So langsam verzewifle ich am Task, deshalb hier die Frage um Hilfe.
Was versuche ich: Über ein notify eine Mail versenden.
So sieht meine Funktion in der 99_myUtils.pm aus:
sub DebianMail($$$$)
{
my ($rcpt, $subject, $text, $attach) = @_;
my $ret = "";
my $last = localtime(time);
my $sender = "fhem\@****.***";
my $provider = "*.*.*.*";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject - $last' -m '$text' -a $attach -s '$provider' -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
return $ret;
}


Hier dann das notify:
define MOTION.not.02 notify A_Bewegungsmelder_Einfahrt:motion.* { DebianMail("andy\@****.***","Bewegung erkannt","Dies ist ein toller Text","/opt/fhem/www/snapshots/ipcam_snapshot.jpg");; }

Und schlussendlich das was im Log auftaucht:
MOTION.not.02 return value: Unknown command {, try help.

Hilfe? :)

amenomade

Funktioniert { DebianMail("andy\@****.***","Bewegung erkannt","Dies ist ein toller Text","/opt/fhem/www/snapshots/ipcam_snapshot.jpg");; } wenn Du es im Kommandofeld in der FHEM Weboberfläsche eingibst? Da hab ich ein Zweifel...

Ausserdem wird ein String zwsichen single quotes nicht interpretiert. Das heisst, in :
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject - $last' -m '$text' -a $attach -s '$provider' -o tls=no -o message-charset=utf-8); werden die Variable vermutlich nicht ersetzt.

Wird das "define" akzeptiert, oder kannst Du dein notify einfach nicht anlegen?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

viegener

Wenn das define akzeptiert wird, kannst Du dann mal ein list vom define hier einstellen?

Hintergrund die Fehlermeldung deutet daraufhin, dass die abschliessende } nicht erkannt wird / fehlt
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

pinsel

Zitat von: amenomade am 08 Oktober 2017, 18:00:52
Funktioniert { DebianMail("andy\@****.***","Bewegung erkannt","Dies ist ein toller Text","/opt/fhem/www/snapshots/ipcam_snapshot.jpg");; } wenn Du es im Kommandofeld in der FHEM Weboberfläsche eingibst? Da hab ich ein Zweifel...

Ausserdem wird ein String zwsichen single quotes nicht interpretiert. Das heisst, in :
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject - $last' -m '$text' -a $attach -s '$provider' -o tls=no -o message-charset=utf-8); werden die Variable vermutlich nicht ersetzt.

Wird das "define" akzeptiert, oder kannst Du dein notify einfach nicht anlegen?

Wenn ich das Kommando über fhem eingebe kommt: "Search pattern not terminated at (eval 2117) line 1. "

Das Define wird ohne murren akzeptiert.

pinsel

Zitat von: viegener am 08 Oktober 2017, 18:11:48
Wenn das define akzeptiert wird, kannst Du dann mal ein list vom define hier einstellen?

Hintergrund die Fehlermeldung deutet daraufhin, dass die abschliessende } nicht erkannt wird / fehlt

Hier das list:
Internals:
   DEF        A_Bewegungsmelder_Einfahrt:motion.* { DebianMail("andy\@***.***","Bewegung erkannt","Dies ist ein toller Text","/opt/fhem/www/snapshots/ipcam_snapshot.jpg"); }
   NAME       MOTION.not.02
   NOTIFYDEV  A_Bewegungsmelder_Einfahrt
   NR         127
   NTFY_ORDER 50-MOTION.not.02
   REGEXP     A_Bewegungsmelder_Einfahrt:motion.*
   STATE      active
   TYPE       notify
   READINGS:
     2017-10-08 17:45:03   state           active
Attributes:
   room       Außen

amenomade

ZitatWenn ich das Kommando über fhem eingebe kommt: "Search pattern not terminated at (eval 2117) line 1. "

Und so?
{ DebianMail('andy@****.***',"Bewegung erkannt","Dies ist ein toller Text",'/opt/fhem/www/snapshots/ipcam_snapshot.jpg');; }
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

pinsel

Zitat von: amenomade am 08 Oktober 2017, 18:29:09
Und so?
{ DebianMail('andy@****.***',"Bewegung erkannt","Dies ist ein toller Text",'/opt/fhem/www/snapshots/ipcam_snapshot.jpg');; }

Jau, so klappts! Perfekt, danke!

Grinsekatze

Zitat von: pinsel am 08 Oktober 2017, 18:35:03
Jau, so klappts! Perfekt, danke!

Dann setzte doch bitte den Thread auf gelöst. Ich wollte gerade eine Antwort schreiben, als ich bemerkte, dass amenomade schneller war.