HowTo: NodeRed – E-Mail bei Ereignissen senden

E-Mails sind (glaube ich) mit eines der ältesten Kommunikationsmittel im Internet. Im Smart-Home-Bereich spielen sie dagegen keine große Rolle. Zum schnellen und direkten Datenaustausch werden oft lieber Push-Services – wie zum Beispiel Pushbullet – oder direkt MQTT genutzt.

In manchen Fällen kann es aber doch praktisch sein auch aus NodeRed eine E-Mail zu versenden. Zum Beispiel könnte man auf diesem Weg einen monatlichen Statusbericht als monatliche Zusammenfassung ans eigene E-Mail-Postfach senden.
Oder man sendet sich selbst täglich den aktuellen Wetterbericht. Die Möglichkeiten sind fast unbegrenzt. Falls Ihr noch weitere nützliche Verwendungszwecke habt, könnt Ihr gerne einen Kommentar mit Eurer Idee schreiben. 🙂

In dem folgenden Artikel ist erklärt, wie Ihr auf ein Ereignis hin den aktuellen Wetterbericht per E-Mail versenden könnt.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/


Voraussetzungen

Hilfreiche Artikel:
Damit Ihr diese Konfiguration übernehmen  könnt sollte NodeRed natürlich schon installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.

Die folgenden Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern
NodeRed – Installation von NodeRed auf dem RaspberryPi
NodeRed – Neue Nodes installieren

NodeRed – Aktuelle Wetterdaten von OpenWeatherMap beziehen

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


In die NodeRed Konfigurationsoberfläche einloggen

Bevor Ihr eure NodeRed Konfiguration bearbeiten könnt müsst Ihr Euch - falls aktiviert - zunächst in die NodeRed Konfigurationsoberfläche einloggen.

Ansicht des Loginbildschirms. Hier müsst Ihr die Logindaten eingeben die Ihr während der Konfiguration des Logins angegeben habt. Infos dazu findet Ihr im Artikel NodeRed - Benutzerlogin einrichten.

openWeatherMap-Node startklar machen

Damit Ihr die per E-Mail zu versendenden Daten auch vorher sammeln könnt müsst Ihr die openWeatherMap-Node lauffähig in Eurer NodeRed-Konfiguration installiert haben. Die Schritt dazu sind in dem Artikel NodeRed – Aktuelle Wetterdaten von OpenWeatherMap beziehen beschrieben.


Node-Code Beispiel: Die aktuellen Wetterdaten per E-Mail erhalten

Für dieses Beispiel benötigt Ihr keine andere – außer den standardmäßig installierten – Nodes. Um die Konfiguration zu übernehmen müsst ihr nur unten stehenden Node-Code in Euere Konfiguration importieren. Wie das geht ist im Artikel NodeRed – Neue Nodes installieren erklärt.

Nachdem Ihr den Node-Code importiert habt müsst ihr noch ein paar Konfigurationen der einzelnen Nodes ergänzen.

Ansicht der Node-Konfiguration im Editor.

 Node-Code:

[{"id":"3aab8493.0bc2fc","type":"e-mail","z":"550c7bf5.5c03e4","server":"mail.gmx.net","port":"465","secure":true,"name":"info@test.de","dname":"sendEmail","x":1050,"y":380,"wires":[]},{"id":"51ae2d16.38b7a4","type":"change","z":"550c7bf5.5c03e4","name":"tempConvert","rules":[{"t":"set","p":"data.main.temp","pt":"msg","to":"data.main.temp-273.15","tot":"jsonata"},{"t":"set","p":"data.main.temp_min","pt":"msg","to":"data.main.temp_min-273.15","tot":"jsonata"},{"t":"set","p":"data.main.temp_max","pt":"msg","to":"data.main.temp_max-273.15","tot":"jsonata"},{"t":"set","p":"title","pt":"msg","to":"Aktueller Wetterbericht","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":380,"wires":[["41a940d8.99eb7"]]},{"id":"ca0b22a9.c0272","type":"json","z":"550c7bf5.5c03e4","name":"","property":"payload","action":"","pretty":false,"x":510,"y":380,"wires":[["51ae2d16.38b7a4"]]},{"id":"a7dc889e.b097a8","type":"inject","z":"550c7bf5.5c03e4","name":"request data","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":440,"wires":[["9e4b2651.4217b8"]]},{"id":"9e4b2651.4217b8","type":"openweathermap","z":"550c7bf5.5c03e4","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":350,"y":440,"wires":[["ca0b22a9.c0272"]]},{"id":"314b9fd1.5d28e","type":"openweathermap in","z":"550c7bf5.5c03e4","name":"","wtype":"current","lon":"","lat":"","city":"Bochum","country":"Germany","language":"de","x":160,"y":380,"wires":[["ca0b22a9.c0272"]]},{"id":"41a940d8.99eb7","type":"template","z":"550c7bf5.5c03e4","name":"mailTemplate","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Hallo lieber E-Mail-Empfänger, \nhier kommen die aktuellen Wetterdaten vom {{time}} für {{data.name}}. \nTemperatur: {{data.main.temp}}°C,\nMinimale Temperatur {{data.main.temp_min}}°C,\nMaximale Temperatur {{data.main.temp_max}}°C,\nLuftfeuchtigkeit {{data.main.humidity}}%,\nLuftdruck: {{data.main.pressure}}mmHg,\nWindstärke: {{data.wind.speed}},\nWindrichtung: {{data.wind.deg}}°\n\nLiebe Grüße\nDein NodeRed\n\n","output":"str","x":850,"y":380,"wires":[["d81ba695.75a538","3aab8493.0bc2fc"]]},{"id":"d81ba695.75a538","type":"debug","z":"550c7bf5.5c03e4","name":"rawData","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":1040,"y":320,"wires":[]}]
Damit dieses Beispiel funktioniert müsst Ihr die E-Mail-Node bearbeiten. Dort müssen noch die Serverdaten eures E-Mail-Servers eingetragen werden. Tragt dazu die URL eures SMTP-Servers unter „Server“, den dazugehörigen Benutzernamen unter „UserId“ und das passende Passwort unter „Password“ ein. Zu guter letzt müsst Ihr in der ersten Zeile unter „To“ die Empfänger-Email eintragen, an welche die E-Mail gesendet werden soll.
In der Template-Node könnt Ihr den per E-Mail versendeten Text bearbeiten und nach Euren Wünschen anpassen.
In der Change-Node könnt Ihr dazu noch den Betreff der E-Mail bearbeiten. In der letzten Zeile wird die Variable „Msg.title“ gesetzt, deren Inhalt in der E-Mail-Node dann als Betreff verwendet wird.

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

Fab

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.