[gelöst] Readings per Mail versenden wie über Whatsapp?

Begonnen von Thoffi1978, 08 September 2018, 14:58:55

Vorheriges Thema - Nächstes Thema

Thoffi1978

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

Byte09

denke da funktioniert setmagic nicht und du musst wohl über  " ReadingsVal( 'trockner_Temp',' humidity', 'undef' ); " auf das reading zugreifen.

gruss Byte09

Thoffi1978

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.

Byte09

#3
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

Thoffi1978

Danke,
es klappt !  :)

Für was steht 'undef' ?


Vielen Dank
Hoffi

MKeY

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
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

Thoffi1978

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").}

OdfFhem

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")}

Thoffi1978


Thoffi1978

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

Wuppi68

muttu dat Minus noch mit dem Backslash quoten
FHEM unter Proxmox als VM

Thoffi1978

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

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Thoffi1978

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

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM