"system"-Aufruf aus Perl

Begonnen von Guest, 19 März 2011, 20:17:08

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,

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('marte@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

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

> Geht system() nicht innerhalb eines notifies???

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.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hm. lustiges Verhalten:

98_blabla.pm:

sub fb_mailtest {
  fb_mail('meineemail@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('meineemail@domain.de','ein subject','ein text') }
define emailtest3 notify emailtest3 "echo "text" | /usr/bin/mail send -i
- -s "subject" -t "meineemail@domain.de""

====================

fhem> { fb_mail('meineemail@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
"meineemail@domain.de""
=> keine Pause, Mail kommt an.

bin ratlos. Wieso gehen die Funktionen mit Parameterübergabe nicht aus
den notifies?

Gruß

marte

Am 20.03.2011 08:43, schrieb Rudolf Koenig:
>> Geht system() nicht innerhalb eines notifies???
>
> 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.
>

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

> bin ratlos. Wieso gehen die Funktionen mit Parameterübergabe nicht aus
> den notifies?

Weil im notify @ und % ersetzt wird :) Immer diese Denksportaufgaben frueh am
Morgen :)

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

astrein. That's it. Und ich zerbrech mir den Kopf...

Danke!

Am 09.04.2011 10:04, schrieb Rudolf Koenig:
>> bin ratlos. Wieso gehen die Funktionen mit Parameterübergabe nicht aus
>> den notifies?
>
> Weil im notify @ und % ersetzt wird :) Immer diese Denksportaufgaben frueh am
> Morgen :)
>

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.