Wie kann ich täglich das FHEM Logfile von gestern mit E-Mail an mich bekommen

Begonnen von gdschut, 29 März 2016, 14:56:49

Vorheriges Thema - Nächstes Thema

gdschut

Hallo,
Ich versuche mich täglich die gestern-Logfile per E-Mail zu bekommen.

Ich habe schon:
Im Fhem.conf:
define FHEM_Email_Log at *0:05:00 {DebianMail('********@gmail.com', 'FHEM Logfile van gestern', /opt/fhem/log/fhem-2016-03-26.log );;}

und im 99_MyUtils.pm
######## DebianMail  Mail auf dem RPi versenden ############
sub DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "********\@gmail.com";
my $konto = "********\@gmail.com"; 
#account
my $passwrd = "********";
my $provider = "smtp.gmail.com:587";
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' -a '$attach' -o tls=yes -xu '$konto' -xp '$passwrd' -o message-charset=utf-8);

$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Ich bekomme schon das email, aber keine anhang. Ich mochte auch gern das Datum flexibel zu machen, und immer nach das Datum von gestern hinzuweisen.

Sorry für mein Deutsch, übersetzt von Google :)

Können Sie mir helfen bitte?

Gruß!
Gerben


Ellert

ZitatIch bekomme schon das email, aber keine anhang
Das Attachment ist der 4. Parameter, nicht der 3.
ZitatIch mochte auch gern das Datum flexibel zu machen, und immer nach das Datum von gestern hinzuweisen.
Das geht mit einem Reading im im notify.
ZitatFHEM_Email_Log at *0:05:00 {DebianMail('********@gmail.com', 'FHEM Logfile van gestern', 'Text',ReadingsVal("FHEM_Email_Log","oldLogfile","none"))};; setreading FHEM_Email_Log oldLogfile {(InternalVal("global","currentlogfile","none"))}

Du musst das Reading "oldLogfile" einmal manuell setzen.
Ich nutze at sehr selten, daher kann die Syntax Fehler enthalten aber das Prinzip wird klar, hoffe ich.




gdschut

Danke sehr!
Es funktioniert, mit der Ausnahme, dass die oldlogfile nicht aktualisiert wird.... :(

Im logfile:
2016.03.31 00:05:02 1: sendEmail returned: Mar 31 00:05:02 pi sendEmail[6264]: Email was sent successfully!
2016.03.31 00:05:02 3: FHEM_Email_Log: Can't locate object method "oldLogfile" via package "./log/fhem-2016-03-31.log" (perhaps you forgot to load "./log/fhem-2016-03-31.log"?) at (eval 15924) line 1.



Ellert

Kann sein, dass der absolute Pfad benutzt werden muss /opt/fhem/...
Oder mal die {fhem("set lamp off")} Syntax benutzen, s. http://fhem.de/commandref.html#command

setreading FHEM_Email_Log oldLogfile {(InternalVal("global","currentlogfile","none"))} sollte ab Feauturelevel 5.7 funktionieren


gdschut

Es hat nicht funktioniert, Ich habe jetzt separat gelöst:

define FHEM_Email_Log2 at *0:10:00 setreading FHEM_Email_Log oldLogfile {(InternalVal("global","currentlogfile","none"))}

nicht schön, aber es funktioniert...