In diesem Beitrag möchte ich dir zeigen wie du mit ESPeasy die Sensordaten an einen E-Mail Empfänger in ein frei definierbaren Intervall senden kannst.
Zu diesem Beitrag wurde ich in einem Kommentar unter einem meiner YouTube Videos zu ESPeasy aufmerksam.
Wie du ESPeasy auf einen ESP8266 installierst und einen DHT11 Sensor einrichtest habe ich dir bereits ausführlich im Beitrag Installieren von ESP Easy auf dem ESP8266 erläutert. Ich gehe in diesem Beitrag davon aus das dieses bereits bei dir geschehen ist und du auch über min. 1 E-Mail Adresse verfügst von welcher du die Zugangsdaten kennst.
Für das versenden der E-Mail benötigst du einen E-Mail Server welcher ohne SSL Verschlüsselung senden kann, daher entfällt hier leider der beliebte und kostenfreie Dienst Gmail.com & Yahoo.com. (siehe https://www.letscontrolit.com/wiki/index.php/EasyNotifications Abschnitt „Email Notification„)
Rules definieren
Damit wir in ESPeasy einen Timer aktivieren können müssen wir den Reiter „Rules“ aktivieren. Dieses müssen wir über den Reiter „Tools“ -> „Advanced“
Es muss lediglich der Haken bei „Rules“ gesetzt werden und der Reiter erscheint.
Es gibt nun mehrere Rule Sets in welcher man in einer Art Skriptsprache schreibt. Ein ausführliches Tutorial zu den Rules findest du in der offiziellen Dokumentation unter https://espeasy.readthedocs.io/en/latest/Rules/Rules.html
//Wenn das System gestartet ist, dann... On System#Boot do //setze den Timer 1 auf 10 Sekunden timerSet,1,10 endon //Wenn der Timer 1 abgelaufen ist, dann... On Rules#Timer=1 do //sende eine Nachricht über den Notifier mit der ID 1 notify 1, "Temperatur: [DHT11#Temperature]°C rel. Luftfeuchtigkeit: [DHT11#Humidity]%" //setze den Timer 1 auf 10 Sekunden timerSet,1,10 endon
In diesem Beispiel sende ich alle 10 Sekunden eine Mail wenn du diesen Intervall vergrößern möchtest dann muss du nur den zweiten Parameter beim aktivieren des Timers um die x Sekunden verändern.
timerSet,1,10 -> 10 Sekunden timerSet,1,60 -> 1 Minute timerSet,1,180 -> 3 Minuten ...
Notification einrichten
Damit wir unsere Daten an eine E-Mail Adresse absenden können, müssen wir zunächst eine Notification einrichten. Dazu öffnen wir die Seite „Notifications“ und wählen dort die Schaltfläche „Edit“.
In meinem Fall ist bereits ein Eintrag vorhanden, ggf. sollte bei dir jedoch diese Liste leer sein.
Wenn du die Schaltfläche „Edit“ betätigt hast sollte ein Formular sich öffnen wo du die Serverdaten deines E-Mail Servers einträgst. Bedenke jedoch das du keine SSL Verschlüsselung verwenden kannst.
In der offiziellen Dokumentation wird dieses Formular sehr gut erläutert, wenn du also weitergehende Informationen suchst möchte ich dich gerne auf die Seite https://www.letscontrolit.com/wiki/index.php/EasyNotifications verweisen.
Das Feld „Body“ können wir in diesem Fall leer lassen da wir dieses über unsere Rule befüllen.
Wenn die Daten eingegeben wurden dann betätigen wir die Schaltfläche „Submit“ damit die Daten gespeichert werden. Zusätzlich können wir hier über die Schaltfläche „Test“ prüfen ob die Daten korrekt sind und eine Mail abgesendet werden kann. Ein Fehler würde im Log erscheinen welches du über den Reiter „Tools“ -> „Log“ einsehen kannst.
Hier ein kleiner Auszug aus dem Log beim absenden einer E-Mail.
2990110: EMAIL: Connecting to w4.lipperts-web.de25 2990492: MAIL FROM: 2990589: 250 2.1.0 Ok^ 2990590: Email: To stefandraeger1980@gmail.com 2990590: RCPT TO: 2990695: 250 2.1.5 Ok^ 2990695: DATA 2990783: 354 End data with .^ 2990784: From: ESP_Easy ^^To: stefandraeger1980@gmail.com^^Subject: Hello From ESP -1^^Reply-To: ESP_Easy 2994133: 250 2.0.0 Ok: queued as A67C63380295^ 2994135: EMAIL: Connection Closed Successfully
In meinem Fall sende ich die Daten von der Mailadresse „info@draeger-it.blog“ zur Gmail Adresse „stefandraeger1980@gmail.com“.