FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Thoffi1978 am 08 September 2018, 14:58:55

Titel: [gelöst] Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 08 September 2018, 14:58:55
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
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Byte09 am 08 September 2018, 15:31:59
denke da funktioniert setmagic nicht und du musst wohl über  " ReadingsVal( 'trockner_Temp',' humidity', 'undef' ); " auf das reading zugreifen.

gruss Byte09
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 08 September 2018, 16:05:04
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.
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Byte09 am 08 September 2018, 17:24:36
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
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 09 September 2018, 11:11:34
Danke,
es klappt !  :)

Für was steht 'undef' ?


Vielen Dank
Hoffi
Titel: Antw:[gelöst] Readings per Mail versenden wie über Whatsapp?
Beitrag von: MKeY am 09 September 2018, 11:47:19
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
Titel: Antw:[gelöst] Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 18 Oktober 2018, 23:36:00
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").}
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: OdfFhem am 19 Oktober 2018, 00:02:32
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")}
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 19 Oktober 2018, 10:21:04
DANKE   :)

Es klappt
Hoffi
Titel: Antw: Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 30 Januar 2019, 14:53:33
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!sendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>Synopsis:  sendEmail -f ADDRESS [options]  Required:    -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  Common:    -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  Optional:    -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  Paranormal:    -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  Help:    --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
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Wuppi68 am 30 Januar 2019, 15:28:10
muttu dat Minus noch mit dem Backslash quoten
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 31 Januar 2019, 19:23:53
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
Titel: Antw:[gelöst] Readings per Mail versenden wie über Whatsapp?
Beitrag von: JoWiemann am 31 Januar 2019, 19:37:58
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
Titel: Antw:[gelöst] Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 31 Januar 2019, 20:11:00
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
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: JoWiemann am 31 Januar 2019, 20:16:30
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
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 01 Februar 2019, 08:00:21
Hallo,

Bein absetzen von dem Befehl kommt folgende Fehlermeldung:
07:41:33 raspberrypi sendEmail[22355]: Error: "-3.2" is not a recognized option!sendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>

Hoffi
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: MadMax-FHEM am 01 Februar 2019, 09:01:24
Poste doch mal deine DebianMail-Sub.

Gruß, Joachim
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 01 Februar 2019, 10:05:40
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";
}
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Otto123 am 01 Februar 2019, 11:19:34
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
Titel: Antw:Readings per Mail versenden wie über Whatsapp?
Beitrag von: Thoffi1978 am 01 Februar 2019, 15:34:08
 :) Danke  :)

Jetzt klappt es.
Vielen Dank für die Info mit dem "Minus"


Hoffi