FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: sky64 am 07 Dezember 2013, 18:47:00

Titel: Gelöst: DebianMail : 99_myUtils deactivated
Beitrag von: sky64 am 07 Dezember 2013, 18:47:00
Hallo

Irgenwie will das DebianMail aus dem Wiki für den RPi nicht bei mir.
Und ich habe keine Idee woran das liegen könnten.
Leider steht außer :
2013.12.07 18:24:28 3: read_s0_aussen: value 2.7
2013.12.07 18:25:09 1: reload: Error:Modul 99_myUtils deactivated:

2013.12.07 18:29:25 1: ECMD S0 (192.168.30.120:2701) reappeared

genau nichts( also die Leerzeile) als Grund im Log.

meine 99_myUtils sieht genau so aus :
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
  my $sender = "xxxxx\@t-online.de";
  my $konto = "xxxxx\@t-online.de";
  my $passwrd = "xxxxxxxxxxxxxxx";
  my $provider = "securesmtp.t-online.de";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=yes);
$ret =~ s,[\r\n]*,,g;
Log 1, "sendEmail returned: $ret";
};


Jemand eine Idee wo ich suchen kann ?
(Das senden per SendEmail auf der Kommandozeile funktioniert)

Gruß Ronald
Titel: Antw:DebianMail : 99_myUtils deactivated
Beitrag von: Puschel74 am 07 Dezember 2013, 19:03:39
Hallo,

ZitatJemand eine Idee wo ich suchen kann ?

Klar  8)

Schau mal hier:

$ret =~ s,[\r\n]*,,g;
Log 1, "sendEmail returned: $ret";
};


An die letzte } gehört kein ; dafür muss ganz am Schluss deiner 99_myUtils.pm das stehen 1;

Grüße
Titel: Antw:DebianMail : 99_myUtils deactivated
Beitrag von: sky64 am 07 Dezember 2013, 19:27:32
ZitatAn die letzte } gehört kein ;

Ok, das war nur ein Versuch von mir. Im Wiki ist das auch nicht drinn, aber ich weiß das Perl empfindlich auf fehlende ; reagiert.

Zitatdafür muss ganz am Schluss deiner 99_myUtils.pm das stehen 1;
Den Satz verstehe ich leider nicht ganz.
Heißt das meine 99_Utils.pm muss so enden ? :
$ret =~ s,[\r\n]*,,g;
Log 1, "sendEmail returned: $ret";
}
1;


Wenn ich das mache dann bekomme ich das ( und keine Meldung im Log):

fhem> reload 99_myUtils.pm
Undefined subroutine &main::myUtils_Initialize called at fhem.pl line 1818.

fhem>



Gruß Ronald
Titel: Antw:DebianMail : 99_myUtils deactivated
Beitrag von: Puschel74 am 07 Dezember 2013, 19:35:56
Hallo,

meine SUB in der 99_myUtils.pm sieht so aus:
######## DebianMail   Mail auf dem RPi versenden  ############

sub
DebianMail
{
  my $rcpt = shift;
  my $subject = shift;
  my $text = shift;
  my $ret = "";
  my $sender = "xxx.yyy\@zzz.de";
  my $konto = "abc.def\@zzz.de";
  my $passwrd = "passwort";
  my $provider = "smtp.zzz.de";

  Log 1, "sendEmail RCP: $rcpt";
  Log 1, "sendEmail Subject: $subject";
  Log 1, "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 1, "sendEmail returned: $ret";
}


Und ganz am Ende meiner 99_myUtils.pm habe ich das
1;

Das ist aber im Wiki auch so beschrieben.

Grüße
Titel: Antw:DebianMail : 99_myUtils deactivated
Beitrag von: sky64 am 07 Dezember 2013, 20:05:15
Danke für die Hilfe, ich habe Deinen Code kopiert, meine Daten in den 4 Zeilen geändert und  :(

Gleiches Ergebnis :

fhem> reload 99_myUtils.pm
Undefined subroutine &main::myUtils_Initialize called at fhem.pl line 1818.

fhem>


Allerdings scheint das ein "kosmetischer Fehler" zu sein.
Wie es aussieht will er eine Routine "myUtils_Initialize" o.ä. aufrufen, die nicht existiert.
Die Funktion "DebianMail" wird aber offenbar angelegt, denn ich kann diese aufrufen.
fhem> {DebianMail('xxxxxx@t-online.de','Subjekt','TestText')}
fhem>

Und im Log steht dann :
2013.12.07 19:54:42 1: sendEmail RCP: xxxxxxx@t-online.de
2013.12.07 19:54:42 1: sendEmail Subject: Subjekt
2013.12.07 19:54:42 1: sendEmail Text: TestText
2013.12.07 19:54:45 1: sendEmail returned: Dec 07 19:54:45 rasp sendEmail[28836]: Email was sent successfully!

Und die Mail kommt an  :) :)

Ich habe noch mal den Wiki-Artikel studiert. Einen Hinweis auf das "1;" konnte ich nicht finden.

Vielen Dank Ronald


Edit :

Ok, ich habe mal den Wiki-Eintrag zu "99_myUtils.pm" gefunden ....


Titel: Antw:DebianMail : 99_myUtils deactivated
Beitrag von: Puschel74 am 07 Dezember 2013, 20:13:16
Hallo,

ZitatOk, ich habe mal den Wiki-Eintrag zu "99_myUtils.pm" gefunden ....

Diesen habe ich auch gemeint  ;D

Ok, und ich muss noch an meiner Kommunikation feilen   :o
Aber damit sollte doch auch die Fehlermeldung behoben werden können oder nicht?

Grüße
Titel: Gelöst:DebianMail : 99_myUtils deactivated
Beitrag von: sky64 am 07 Dezember 2013, 20:16:06
Danke geht jetzt wie es soll.

Gruß Ronald
Titel: Antw:DebianMail : 99_myUtils deactivated
Beitrag von: ph1959de am 07 Dezember 2013, 20:20:37
Zitat von: sky64 am 07 Dezember 2013, 20:05:15
Ich habe noch mal den Wiki-Artikel studiert. Einen Hinweis auf das "1;" konnte ich nicht finden.
Redest Du von diesem Wiki-Artikel: http://www.fhemwiki.de/wiki/99_myUtils_anlegen?

Da finde ich
4. Die Zeile 1; muss immer die letzte Programmzeile sein. Wenn Sie also eigene
Routinen in Ihre Programmsammlung einfügen, tragen Sie diese zwischen dem Ende der
Initialize-Routine und der abschließenden Zeile 1; ein.


Gruß, Peter
Titel: Antw:Gelöst: DebianMail : 99_myUtils deactivated
Beitrag von: Puschel74 am 07 Dezember 2013, 20:23:21
Hallo,

erst nein dann ja  8)

Ich meinte den von dir verlinkten - diesen hat der TE aber anschliessend gefunden.
Nun funktioniert seine Routine auch so wie ich das gelesen habe.

Grüße
Titel: Antw:Gelöst: DebianMail : 99_myUtils deactivated
Beitrag von: ph1959de am 08 Dezember 2013, 07:49:09
Ok, das war dann wohl ein "nicht sinnvolles" nachträgliches verändern eines Eintrags ins Forum.

auch Grüße  :)