FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: josburg am 27 Januar 2016, 21:49:01

Titel: [gelöst:] Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: josburg am 27 Januar 2016, 21:49:01
Hallo,

gerne würde ich mir in bestimmten Situationen Mails senden, z.B. wenn zwischen 8:00 - 18:00 Uhr die Haustüre geöffnet wird.

Meine Frage bezieht sich auf den Mailversand. Hierzu habe ich schon etliches gelesen und im Wiki diesen Abschnitt gefunden:

Raspberry Pi

In der weezy-Version, wie sie von busware zur Verfügung gestellt wird, muss
auf einem Raspberry Pi noch sendEmail nachinstalliert werden:

sudo apt-get update
sudo apt-get install sendEmail

in der 99_myUtils folgende Unterroutine einfügen:

######## DebianMail Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "absender\@account.de";
my $konto = "kontoname\@account.de";
my $passwrd = "passwrd";
my $provider = "smtp.provider.de:25";
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=no -o
message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}

Um die TLS Verschlüsselung (ehem. SSL) zu nutzen, muss in der 4. letzten
Zeile tls=auto verwendet werden. Sollte anschließend keine Mail verschickt
werden, siehe Probleme.

Falls der Body-Text in einem (Android-)Mailer auf dem Handy nicht gezeigt
wird, kann der Parameter -o message-content-type=html helfen.

Die Funktion kann beispielsweise folgendermaßen aufgerufen werden:

define Sonstiges notify Fenster:Window:.*,.*Low.Batt*. {\
DebianMail('email@email.domain','Subject','Text','Anhang');;\
}

oder

define Sonstiges at *01:00:00 {\
DebianMail('email@email.domain','Subject','Text','Anhang');;\
}



Aufgrund der Vielfalt der Informationen möchte ich an dieser Stelle fragen, ob das die aktuellste und beste Möglichkeit ist, Mails von FHEM / RaspberryPi 2 zu versenden oder ob es (evtl. inzwischen?) bessere Alternativen gibt?

Mit folgendem "define" würde ich den Mailversand dann umsetzen. Der "SENSOR_TERRASSENTUERE" ist bereits in FHEM funktionsfähig definiert. Er hat den Status on / off.


define MAILVERSAND_OPEN_DOOR notify SENSOR_TERRASSENTUERE:on.* {\
DebianMail('email@email.domain',Geoeffnete Tuere','Text','Anhang');;\
}


Vielen Dank für Euer Feedback und Ratschläge, Tipps etc, wie ihr solche Szenarien gelöst habt...

Viele Grüße
Jens
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: Papaloewe am 27 Januar 2016, 22:17:03
Mails können nur per SMTP versendet werden. Ich wüste nicht, welche Alternative es noch geben könnte?

Gruß
Thomas
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: Otto123 am 27 Januar 2016, 23:53:26
Zitat von: josburg am 27 Januar 2016, 21:49:01
Aufgrund der Vielfalt der Informationen möchte ich an dieser Stelle fragen, ob das die aktuellste und beste Möglichkeit ist, Mails von FHEM / RaspberryPi 2 zu versenden oder ob es (evtl. inzwischen?) bessere Alternativen gibt?
Hallo Jens,

ich finde ja, aber es gibt natürlich unterschiedliche Wege Mails oder Nachrichten (pushover whatsapp usw.) zu versenden.
Im Wiki Eintrag steht alles drin, dass geht relativ geradlinig umzusetzen. Wenn Du willst findest Du auch noch ein paar Hinweise in meinem Blog. Aber mit aktuellen Versionen geht alles ohne Umstände.

Gruß Otto
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: josburg am 28 Januar 2016, 06:25:10
Wo finde ich denn deinen Blog?


Gesendet von iPhone mit Tapatalk
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: Otto123 am 28 Januar 2016, 09:35:46
Auf der Weltkugel unter meinem Profilbild  8)
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: josburg am 28 Januar 2016, 22:52:56
Hallo,

so, den Mailversand habe ich soweit hinbekommen und mit dem "at"-Befehl erfolgreich getestet:

Internals:
   COMMAND    { DebianMail('XXXXXXXX@gmx.de','Test-Betreff','Test-Text','');; }
   DEF        *21:53:00 { DebianMail('XXXXXXXX@gmx.de','Test-Betreff','Test-Text','');; }
   NAME       Sonstiges
   NR         289
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 21:53:00
   TIMESPEC   21:53:00
   TRIGGERTIME 1454100780
   TRIGGERTIME_FMT 2016-01-29 21:53:00
   TYPE       at
   Readings:
     2016-01-28 21:53:01   state           Next: 21:53:00


Gerne würde ich aber jetzt eine Mail versenden lassen, wenn die Terrassen-Türe z.B. zwischen 8:00 und 18:00 Uhr geöffnet wird.
Da das auf Anhieb nicht geklappt hat, habe ich das zunächst vereinfacht und wollte generell beim Öffnen eine Mail versenden lassen - leider auch erfolglos mit folgendem Code:

Internals:
   CFGFN
   DEF        SENSOR_TERRASSENTUERE:on.* {\DebianMail('XXXXXX@gmx.de',Geoeffnete Tuere','Text','');\}
   NAME       MAILVERSAND_OPEN_DOOR
   NOTIFYDEV  SENSOR_TERRASSENTUERE
   NR         408
   NTFY_ORDER 50-MAILVERSAND_OPEN_DOOR
   REGEXP     SENSOR_TERRASSENTUERE:on.*
   STATE      2016-01-28 22:42:53
   TYPE       notify
   Readings:
     2016-01-28 22:41:04   state           active
Attributes:


Der Vollständigkeit halber auch noch das "list"-Ergebnis vom verwendeten Sensor der Terrassentüre:

Internals:
   00         f0
   CUL1_MSGCNT 8
   CUL1_RAWMSG i001014
   CUL1_RSSI  -74
   CUL1_TIME  2016-01-28 22:42:57
   DEF        00000F000F FF F0
   IODev      CUL1
   LASTInputDev CUL1
   MSGCNT     8
   NAME       SENSOR_TERRASSENTUERE
   NR         235
   STATE      off
   TYPE       IT
   XMIT       00000f000f
   XMITdimdown 00
   XMITdimup  00
   XMITon     ff
   Code:
     1          00000f000f
   Readings:
     2016-01-02 14:25:05   protocol        V1
     2016-01-28 22:42:57   state           off
Attributes:
   IODev      CUL1
   alias      Terrassentüre
   room       Fenster-/Tür-Überwachung



Kann mir hierbei jemand helfen?

Vielen Dank.
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: Otto123 am 28 Januar 2016, 23:03:20
Wie sieht der Event aus, den die Terrassentür liefert?
Gruß Otto
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: josburg am 28 Januar 2016, 23:45:41
Im Filelog so:

2016-01-28_15:14:38 SENSOR_TERRASSENTUERE on


Gesendet von iPhone mit Tapatalk
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: Otto123 am 29 Januar 2016, 09:14:03
Wenn es wirklich so ist, bräuchtest Du beim notify nicht auf on.* triggern sondern on würde auch reichen. Aber das wird der Fehler nicht sein. Wird jetzt das notify nicht getriggert oder die Mail nicht gesendet?

Dein Mail Def sieht ziemlich gruselig aus, ich denke da ist das Problem.
{\DebianMail('XXXXXX@gmx.de',Geoeffnete Tuere','Text','');\}
Das wäre mein Vorschlag:
{ DebianMail('XXXXXX@gmx.de','Geoeffnete Tuere','Text');}

Schön wäre halt, wenn man nicht nur sagt es geht nicht, sondern sich schon mal selbst  soweit vorarbeitet und sagen kann:
Das notify wird nicht getriggert oder der Befehl wird nicht abgesetzt.

Gruß Otto
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: rr725 am 29 Januar 2016, 13:03:34
define Testmail DOIF (([08:00-18:00]) and ([SENSOR_TERRASSENTUERE] eq "on")) ({DebianMail('aaa@bbb.de','Subject','Text Text Text Text ');;;; })
attr Testmail do always
Titel: Antw:Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: josburg am 29 Januar 2016, 19:17:03
Hallo rr725 ;-) ,

vielen Dank für Deine Hilfe. So funktioniert das super...!
Das war der Start ins "Mail-Versenden..."!

Vielen Dank

Grüße
Jens
Titel: Antw:[gelöst:] Frage zum Mailversand z.B. beim Öffnen einer Türe
Beitrag von: rr725 am 29 Januar 2016, 19:36:59
gerne  ;)