Hallo,
ich schalte meinen Trockner mit einem Zwischenstecker (HM-ES-PMSw1-Pl) mit Leistungsmessung.
Ich berechne mir hierüber den Preis der jeweiligen Trockengänge und schicke mir diese, nach Abschluss der Trocknung per pushover.
Das funktioniert so weit.
Nun möchte ich die Verbrauchsdaten allerdings in einer Mail gesendet haben.
Das senden einer Mail nach Abschluss des Waschgangs an sich funktioniert.
Allerdings bekomme ich die Kosten nicht in den Text der Mail rein.
Ich hänge im Moment an folgendem Punkt fest:
Es gibt einen Dummy "KG.wr.SD.Trockner.Betrieb" dieser hat ein Reading "AktuellerBetriebEur".
Die Berechnung passt soweit.
Das notify, welches die Mail senden soll sieht wie folgt aus:
define KG.wr.SD.Trockner.Mail notify KG.wr.SD.Trockner.Betrieb:standby
{
my $Berechnung = ReadingsVal( "KG.wr.SD.Trockner.Betrieb", "AktuellerBetriebEur","0");
Postfixmail('trockner@w-home.local', "Der Trockner ist fertig", $Berechnung);;
GetHttpFile("192.168.167.235:8085", "/?Trockner_Fertig")
}
Wenn ich das notify ausführe, indem ich KG.wr.SD.Trockner.Betrieb auf standby setze, passiert nichts.
Auch nichts im Log.
Lege ich das notify so an:
define KG.wr.SD.Trockner.Mail notify KG.wr.SD.Trockner.Betrieb:standby
{
Postfixmail('trockner@w-home.local', "Der Trockner ist fertig", $NAME);;
GetHttpFile("192.168.167.235:8085", "/?Trockner_Fertig")
}
Dann bekomme ich eine Mail. Allerdings steht im Mailtext dann nur KG.wr.SD.Trockner.Betrieb
Irgendwo vermute ich das Problem bei dem Mailtext. Wenn ich statt $NAME nur einen Text schreibe, kommt die Mail auch nicht an.
Der Part in der 99_myUtils.pm sieht so aus:
sub Postfixmail ($$$) {
my ($rcpt, $subject, $text) = @_;
system("echo \"$text\" | /usr/bin/mail -s \"$subject\" \"$rcpt\"");
}
Ich hänge nun seit ein paar Abenden an diesem Problem fest und würde mich über Hilfe freuen.
Hallo,
probiert doch bitte folgendes:
define KG.wr.SD.Trockner.Mail notify KG.wr.SD.Trockner.Betrieb:standby
{
my $Berechnung = ReadingsVal( "KG.wr.SD.Trockner.Betrieb", "AktuellerBetriebEur","0");
Postfixmail('trockner@w-home.local', "Der Trockner ist fertig", "$Berechnung");;
GetHttpFile("192.168.167.235:8085", "/?Trockner_Fertig")
}
Damit wird der Wert aus $Berechnung in Anführungszeichen und somit als "echte" Zeichenkette der sub Postfixmail übergeben und nicht als Zahl.
Grüße Jörg
Mit $Berechnung in "" (also "$Berechnung"), passiert gar nichts. Keine Mail aber auch nichts im Logfile.
Genau das Gleiche passiert, wenn ich nur Text statt $NAME reinschreibe.
Die Zweite Aktion des Notify "GetHttpFile..." wurde ausgeführt.
Es funktionieren nur:
$TYPE
$EVENT
$NAME
$EVTPART0
Die werte habe ich aus dem Log, als ich ein Komma falsch gesetzt (vergessen) hatte:
2015.07.22 01:04:13 1: PERL WARNING: Scalar found where operator expected at (eval 572) line 3, near "'Post im Postkasten' $NAME"
2015.07.22 01:04:13 3: eval: my $TYPE='dummy';my $EVENT='Post';my $NAME='EG.fl.TK.Briefkasten.Post';my $EVTPART0='Post';{ if ( Value("STATE") eq "Post")
Kann ich ein Log für das Postfix erstellen?
Hallo,
über nehme doch mal bitte im Webfrontend von Fhem im DEF des notify folgendes:
KG.wr.SD.Trockner.Betrieb:standby
{
my $Berechnung = ReadingsVal( "KG.wr.SD.Trockner.Betrieb", "AktuellerBetriebEur","0");
Postfixmail('trockner@@w-home.local', "Der Trockner ist fertig", "$Berechnung");
GetHttpFile("192.168.167.235:8085", "/?Trockner_Fertig");
}
Grüße Jörg
Ich werde verrückt, das doppelte @@ war es.
Jetzt bekomme ich die Mail. Zwar noch mit dem Wert 0, da beim einfachen ein- und ausschalten keine Kosten entstehen aber den Rest teste ich heut Abend mal, wenn ich wieder Zuhause bin.
Vielen Dank schon Mal.
Hallo,
sobald Du:
$TYPE
$EVENT
$NAME
$EVTPART0
verwendest, bitte das @@ wieder zu @ zurück führen. Sie auch command.ref zum Thema maskieren. Deine Notify müsste dann so aussehen:
KG.wr.SD.Trockner.Betrieb:standby
{
my $Berechnung = ReadingsVal( $NAME, "AktuellerBetriebEur","0");
Postfixmail('trockner@w-home.local', "Der Trockner ist fertig", "$Berechnung");
GetHttpFile("192.168.167.235:8085", "/?Trockner_Fertig");
}
Grüße Jörg
Hallo nochmal,
Berechnete Verbrauchswerte kommen auch in den Mails.
Zwar jeweils immer die, der vorigen Trocknung, das bekomme ich aber auch noch hin.
Auf Dauer werde ich mir wohl mal ein Pearl-Buch zulegen.
Bis dahin lasse ich mich aber erst mal von allem inspirieren und kopiere mir mit gefährlichem Halbwissen meine Programmschnipsel überall zusammen ;-)
Also Vielen Dank noch Mal für die schnelle Hilfe :-)