Hallo,
Bis vor kurzen habe ich mir Temperaturen und andere "Readings" problemlos über Whatapp/Yowsup zuschicken lassen.
Leider funktioniert WA nicht mehr und ich möchte alles auf Email um stellen.
Wie kann ich die Temperaturen via Email mir schicken lassen
mit WA ging es so:
(set Torsten_WA send [Trockner_Temp:humidity] Prozent Fechtigkeit im Keller)
unter Debian "dachte" ich so:
{ DebianMail('xxx@xxx.de', "Feuchtigkeit", "[Trockner_Temp:humidity] Prozent Fechtigkeit im Keller")}
das funktioniert aber nicht.
Ich bekomme den Text, wie oben geschrieben zugemailt, also ohne Auswertung des "humidity".
Vielen Dank
Thoffi
denke da funktioniert setmagic nicht und du musst wohl über " ReadingsVal( 'trockner_Temp',' humidity', 'undef' ); " auf das reading zugreifen.
gruss Byte09
Ok,
wenn ich den wie folgt einsetze:
{ DebianMail('xxx@xxx.de', "Feuchtigkeit"," ReadingsVal( 'trockner_Temp','humidity', 'undef' ); " }
wird eine Email verschickt. Die hat dann aber (nur) folgenden Inhalt:
ReadingsVal( trockner_Temp,humidity, undef )
Es werden leider keine Werte angezeigt.
du darfst den entdsprechenden teil nicht in " setzten , sonst wird er einfach als string behandelt und nicht als "variable" (vereinfacht - es handelt sich eigentlich nicht um eine variable)
{ DebianMail('xxx@xxx.de', "Feuchtigkeit"," ReadingsVal( 'trockner_Temp','humidity', 'undef' ); " }
{ my $read = ReadingsVal( 'trockner_Temp','humidity', 'undef' ); DebianMail('xxx@xxx.xxx', "Feuchtigkeit", $read." Prozent Fechtigkeit im Keller")}
oder
{ DebianMail('xxx@xxx.xx', "Feuchtigkeit", ReadingsVal( 'trockner_Temp','humidity', 'undef' )." Prozent Fechtigkeit im Keller")}
gerade nicht getestet, sollte aber gehen.
edit :getestet
2018.09.08 17:29:56 1: sendEmail RCP: xxx@web.de
2018.09.08 17:29:56 1: sendEmail Subject: Feuchtigkeit
2018.09.08 17:29:56 1: sendEmail Text: on_with_Parameter Prozent Fechtigkeit im Keller
2018.09.08 17:29:56 1: sendEmail Anhang:
2018.09.08 17:30:00 1: sendEmail returned: Sep 08 17:30:00 raspberrypi sendEmail[1926]: Email was sent successfully!
'on_with_Parameter' war inhalt des readings auf das ich zugegriffen hatte
gruss Byte09
Danke,
es klappt ! :)
Für was steht 'undef'
?
Vielen Dank
Hoffi
sollte das reading seitens ReadinsVal nicht auslesbar sein, aus welchem grund auch immer, dann ist die standard-/ Ersatzantwort in dem fall "undef"
da kann auch alles andere stehen
Hallo,
das versenden eines Status hat gut geklappt.
Wie schaffe ich es 2 Staussen? Stati? zu verschicken?
Ich dachte an so was, bekomme aber immer eine Fehlermeldung, egal wie ich es mache:
{ DebianMail('xxx@xxx.de', "Fische", ReadingsVal( 'Temp_Fische','temperature', 'undef' )." Celsius bei den Fischen" ReadingsVal( 'Aussentemperatur','temperature', 'undef' )" Draussen").}
So könnte es klappen
{ DebianMail('xxx@xxx.de', "Fische", ReadingsVal( 'Temp_Fische','temperature', 'undef' )." Celsius bei den Fischen und ".ReadingsVal( 'Aussentemperatur','temperature', 'undef' )." draussen")}
DANKE :)
Es klappt
Hoffi
Hallo,
ich sende mir auch die Aussentemperatur zu.
Leider funktioniert das bei den Minusgraden nicht mehr.
Ich erhalte folgende Fehlermeldung:
2019.01.25 20:40:00 1: sendEmail RCP: email@empfanger.de
2019.01.25 20:40:00 1: sendEmail Subject: Temperatur
2019.01.25 20:40:00 1: sendEmail Text: -3.8 Grad draussen
2019.01.25 20:40:00 1: sendEmail Anhang:
2019.01.25 20:40:01 1: sendEmail returned: Jan 25 20:40:01 raspberrypi sendEmail[7225]: Error: "-3.8 Grad draussen" is not a recognized option![1msendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>[0mSynopsis: sendEmail -f ADDRESS [options] [31;1mRequired:[m -f ADDRESS from (sender) email address * At least one recipient required via -t, -cc, or -bcc * Message body required via -m, STDIN, or -o message-file=FILE [32;1mCommon:[m -t ADDRESS [ADDR ...] to email address(es) -u SUBJECT message subject -m MESSAGE message body -s SERVER[:PORT] smtp mail relay, default is localhost:25 -S [SENDMAIL_PATH] use local sendmail utility (default: /usr/bin/sendmail) instead of network MTA [32;1mOptional:[m -a FILE [FILE ...] file attachment(s) -cc ADDRESS [ADDR ...] cc email address(es) -bcc ADDRESS [ADDR ...] bcc email address(es) -xu USERNAME username for SMTP authentication -xp PASSWORD password for SMTP authentication [32;1mParanormal:[m -b BINDADDR[:PORT] local host bind address -l LOGFILE log to the specified file -v verbosity, use multiple times for greater effect -q be quiet (i.e. no STDOUT output) -o NAME=VALUE advanced options, for details try: --help misc -o message-content-type=<auto|text|html> -o message-file=FILE -o message-format=raw -o message-header=HEADER -o message-charset=CHARSET -o reply-to=ADDRESS -o timeout=SECONDS -o username=USERNAME -o password=PASSWORD -o tls=<auto|yes|no> -o fqdn=FQDN [32;1mHelp:[m --help the helpful overview you're reading now --help addressing explain addressing and related options --help message explain message body input and related options --help networking explain -s, -b, etc --help output explain logging and other output options --help misc explain -o options, TLS, SMTP auth, and more
Wie kann ich negative Temperaturen versenden?
Vielen Dank
Hoffi
muttu dat Minus noch mit dem Backslash quoten
Hallo Wuppi68,
mein Aufruf sieht wie folgt aus:
{ DebianMail('sender@Email.de', "Temperatur", ReadingsVal( 'Aussentemperatur','temperature', 'undef' )." Grad draussen")}
Wo muss ich das "-Minus noch mit dem Backslash quoten"
Ich brauche da eine kleine Erläuterung bitte zu.
Vielen Dank
Hoffi
Zitat von: Thoffi1978 am 18 Oktober 2018, 23:36:00
Wie schaffe ich es 2 Staussen? Stati? zu verschicken?
Wenn ich mich an mein Latein von vor 40 Jahren erinnere ist der Plural von Status Status.
Grüße Jörg
Zitat von: JoWiemann am 31 Januar 2019, 19:37:58
Wenn ich mich an mein Latein von vor 40 Jahren erinnere ist der Plural von Status Status.
Grüße Jörg
Und dann habe ich "Statussen" auch noch falsch geschrieben...
Doch wie kann ich mir das "- Backslash quoten" erklären?
;-) Hoffi
Zitat von: Thoffi1978 am 31 Januar 2019, 19:23:53
Wo muss ich das "-Minus noch mit dem Backslash quoten"
Das Minus wird vom ReadingsVal zurück gegeben. Ist ja auch kalt draußen. Im Befehlsaufruf führt es dann zur Fehlermeldung.
Probier mal folgendes:
{ DebianMail('sender@Email.de', "Temperatur", "'".ReadingsVal( 'Aussentemperatur','temperature', 'undef' )." Grad draussen'")}
Grüße Jörg
Hallo,
Bein absetzen von dem Befehl kommt folgende Fehlermeldung:
07:41:33 raspberrypi sendEmail[22355]: Error: "-3.2" is not a recognized option![1msendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>
Hoffi
Poste doch mal deine DebianMail-Sub.
Gruß, Joachim
Hier die Sub
######## DebianMail Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $attach = shift;
my $sender = "fhem\@xxxx.de";
my $konto = "fhem\@xxxx.de";
my $passwrd = "Passwort";
my $provider = "serverxxx:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";;
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a $attach -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
Hi,
mal als spartanischer Einwurf: Wenn der Messagetext nicht mit "-" beginnt, ist das ganze ohne Probleme.
Also anstatt -7 grad Celsius zu senden - einfach: " Bei den Fischen sind -7 grad bla bla" und alles ist gut. ;D
{ DebianMail('sender@Email.de', "Temperatur", "Es sind ". ReadingsVal( 'Aussentemperatur','temperature', 'undef' )." Grad draussen")}
So ist es wenigstens ein ganzer Satz ;)
SendEmail interpretiert das führende minus als Option.
Gruß Otto
:) Danke :)
Jetzt klappt es.
Vielen Dank für die Info mit dem "Minus"
Hoffi