FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Stefan M. am 02 August 2013, 08:42:25

Titel: Mailkonfiguration
Beitrag von: Stefan M. am 02 August 2013, 08:42:25
Hallo zusammen
ich versuche gerade die Mailkonfiguration in FHEM einzubauen.

Code in 99_myUtils.pm

######## DebianMail  Mail auf dem RPi versenden ############
sub
_DebianMail
{
 my $rcpt = shift;
 my $subject = shift;
 my $text = shift;
 my $ret = "";
 my $sender = "xx@xx.de";
 my $konto = "xx@xx.de";
 my $passwrd = "pwd";
 my $provider = "smtp.strato.de";
 Log 4, "sendEmail RCP: $rcpt";
 Log 4, "sendEmail Subject: $subject";
 Log 4, "sendEmail Text: $text";
 
 $ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no);
 $ret =~ s,[\r\n]*,,g;    # remove CR from return-string
 Log 4, "sendEmail returned: $ret";
}


Der Aufruf

{_DebianMail('xx@xx.de' ('xx@xx.de'),'Tuer offen' , 'Tuer offen');;}

bringt im Logfile

Zitat2013.08.02 08:34:41 4: HTTP FHEMWEB:192.168.0.13:53948 GET /fhem&cmd=%7B_DebianMail%28%27sxx@xx.de (27sxx@xx.de)%27%2C%27Tuer+offen%27+%2C+%27Tuer+offen%27%29%3B%3B%7D
2013.08.02 08:34:41 5: Cmd: >{_DebianMail('xx@xx.de' ('xx@xx.de'),'Tuer offen' , 'Tuer offen');}<
2013.08.02 08:34:41 4: sendEmail RCP: xx@xx.de (xx@xx.de)
2013.08.02 08:34:41 4: sendEmail Subject: Tuer offen
2013.08.02 08:34:41 4: sendEmail Text: Tuer offen
2013.08.02 08:34:45 4: sendEmail returned: Aug 02 08:34:45 raspberrypi sendEmail[30055]: Email was sent successfully!

Das mailen geht schon mal.

Nun habe ich den Tür/Fensterkontakt angezapft


define No_Mail_Tuer_offen notify CUL_FHTTK_397226 {if("%" eq "Window: Open")} {_DebianMail('xx@xx.de','Tuer offen' , 'Tuer offen');;}

attr No_Mail_Tuer_offen loglevel 4
attr No_Mail_Tuer_offen room Notify


dabei kommt die Fehlermeldung im Logfile

Zitat2013.08.02 08:34:32 4: Triggering No_Mail_Tuer_offen
2013.08.02 08:34:32 5: Cmd: >{if("Window: Open" eq "Window: Open")} {_DebianMail(xx@xx.de' (xx@xx.de'),'Tuer offen' , 'Tuer offen');}<
2013.08.02 08:34:32 4: No_Mail_Tuer_offen return value: syntax error at (eval 5625) line 1, at EOF

An was kann das liegen ?

Ich sehe den Wald vor lauter Bäume nicht.

lg
Stefan
Titel: Aw: Mailkonfiguration
Beitrag von: schlauby am 02 August 2013, 09:22:41
EOF klingt nach einem Fehler am Zeilenende.
In deinem Code sind am Ende zwei ';' - lösche das eine raus, damit nur noch eins da steht, dann sollte es passen.

Gruß schlauby
Titel: Aw: Mailkonfiguration
Beitrag von: JoWiemann am 02 August 2013, 09:59:05
Hallo Stefan,

bitte auch den Hinweis im Wiki:

Beim Aufruf der Funktion gibt es zwei unterschiedliche Verhaltensweisen zu beachten. Wird DebianMail durch ein Fhem-Ereignis als Makro mit "Transferzeichen", wie @ oder % aufgerufen, so sind diese innerhalb des Aufrufs von DebianMail zu maskieren.

Siehe auch commandref: The character @ will be replaced with the device name. To use @ in the text itself, use the double mode (@@). The macro %<parameter> will expand to the current value of the named parameter. This can be either a parameter from the device definition or a parameter from the set or get command.

beachten. In Deinem notify also das @ durch @@ maskieren.

Grüße Jörg
Titel: Aw: Mailkonfiguration
Beitrag von: Stefan M. am 04 August 2013, 13:18:01
Hallo zusammen

ich habe Eure Tipps alles schon ausprobiert leider ohne Erfolg.

Die zwei @ waren bereits in der Konfig und das mit den 2; habe ich auch versucht.

lg
Stefan
Titel: Aw: Mailkonfiguration
Beitrag von: schlauby am 05 August 2013, 10:53:38
Von wo hast du den die Quell-Datei her?
Hast du sie auf Windows erstellt und nach Linux kopiert?
Vielleicht stört ein Windows-Steuerzeichen.

Versuch mal eine Datei mit dem "vi" zu erstellen und die Daten einfach per copy&paste einzufügen.
Titel: Aw: Mailkonfiguration
Beitrag von: Puschel74 am 05 August 2013, 17:44:50
Hallo,

ZitatHast du sie auf Windows erstellt

Mit notepad++ sollte das unter Windows kein Problem sein.

Nur Word oder das Windows-eigene Notepad sollte man nach Möglichkeit nicht nehmen.
Es sei den man weiß was man macht ;-)

Grüße
Titel: Aw: Mailkonfiguration
Beitrag von: Stefan M. am 06 August 2013, 22:31:02
Hallo zusammen
die gleiche Fehlermeldung kommt auch wenn ich auf der Fritzbox mit FB_mail arbeite.

Diese Notification schickt eine Mail

define No_Mail_Tuergriff_offen notify CUL_HM_HM_SEC_RHS_1F194F:open.* {FB_mail(xxx@@xxx.de','Tuergriff offen','...')}
attr No_Mail_Tuergriff_offen room Notify


Diese nicht

define No_Mail_Tuer_geschlossen notify CUL_FHTTK_397226 {if("%" eq "Window: Closed")} {FB_mail('xxx@@xxx.de','Tuer geschlossen','Tuer geschlossen')}
attr No_Mail_Tuer_geschlossen room Notify


lg
Stefan
Titel: Aw: Mailkonfiguration
Beitrag von: schlauby am 09 August 2013, 10:20:20
Probier mal das hier, vielleicht liegt es an der Klammersetzung.
Normalerweise gehen if Bedingungen immer so
If(Bedingung) {tue dies}

Ist aber auch nur "try and error"...

define No_Mail_Tuer_geschlossen notify CUL_FHTTK_397226 {if("%" eq "Window: Closed") {FB_mail('xxx@@xxx.de' (@@xxx.de'),'Tuer geschlossen','Tuer geschlossen')}}
attr No_Mail_Tuer_geschlossen room Notify
Titel: Aw: Mailkonfiguration
Beitrag von: Stefan M. am 09 August 2013, 11:32:11
Hallo Schlauby

Danke das war es. Ich hab die geschweifte Klammer falsch gesetzt.

lg
stefan