Endlich ist auch der Briefkasten in das Smart-Home integriert

Jetzt ist endlich auch der Briefkasten in das Smart-Home integriert. Kennt ihr das, ihr wartet auf eine Sendung und lauft ständig zum Briefkasten um zu schauen ob endlich die Post da war? Damit ist ab heute Schluss, denn unser Briefkasten wird ab sofort mittels einem ESP8266 überwacht und bei Veränderung der Briefkasten-Klappe direkt an ioBroker gemeldet. Im folgenden Artikel zeige ich wie ich diesen Sensor aufgebaut, programmiert und in ioBroker implementiert habe.

 

1. Vorbereitungen in ioBroker

Im ersten Schritt treffen wir die Vorbereitungen für die ioBroker Objekte. Wir benötigen einen Datenpunkt, welcher den aktuellen Zustand (Klappe geöffnet) des Briefkastens speichert. Zudem speichern wir uns bei der Änderung des Datenpunktes per Skript die aktuelle Uhrzeit in einen weiteren Datenpunkt. Somit wissen wir wann die Sendung in den Briefkasten geworfen wurde.

Datenpunkte.0.Sensordata.PostBox.LastOpened (Zeichenfolge)
Datenpunkte.0.Sensordata.PostBox.Opened (Logischer Wert)

 

Zudem legen wir uns ein Skripte an, mit denen wir den TimeStamp des Post-Einwurfes speichern können. Im folgenden Skript fragen wir die Änderung des Datenpunktes „…Opened“ ab. Wenn der Wert auf „true“ steht senden wir per telegram einen Nachricht und schreiben zudem den aktuelle TimeStamp in den Datenpunkt.


on({id: "Datenpunkte.0.Sensordata.PostBox.Opened", change: "any"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;

  if ( value == true )
  {
    sendTo("telegram", "send", { text: "Die Post ist da :-)" });

    var TimeStamp = new Date();
    TimeStamp = formatDate(TimeStamp, "TT.MM.JJJJ SS:mm:ss");
    setState('Datenpunkte.0.Sensordata.PostBox.LastOpened', TimeStamp );
  }
});

 

Zusätzlich erstellen wir uns ein weiteres Skript, mit dem jeden Abend der Datenpunkt „Opened“ auf false gesetzt wird. Dieses Skript wird um 23:00 Uhr ausgeführt.


function PostBoxReset()
{
setState('Datenpunkte.0.Sensordata.PostBox.Opened', false );
}

schedule({hour: 23, minute: 0}, function () {
PostBoxReset();
});

 

2. Aufbau des Sensors

Im zweiten Schritt beschäftigen wir uns mit der Grundschaltung, welche auf dem Button-Prinzip basiert. Im folgenden Artikel wird die Schaltung erklärt und aufgebaut.
ESP8266 Button

Wir nehmen für unseren Briefkasten-Sensor die Button Grundschaltung, und ersetzen den Taster mit einem anderen Schalter.

 

 

 

 

 

 

 

 

Die einzelnen Komponenten könnt Ihr euch aus dem ESP8266 Button Artikel entnehmen, ich habe die Komponenten auf eine einfache Lochrasterplatine aufgelötet und verbunden. Zudem habe ich das Board sowie die 18650 Batterie in eine Kunststoff-Box eingeklebt, sodass die Komponenten besser geschützt sind.

 

Auf dem folgenden Foto sehen wir den Briefkasten sowie den Einbau des Sensors hinter der Briefkasten-Klappe. Der Schalter geht beim Öffnen der Klappe auf und schließt somit den Stromkreislauf um den ESP8266 aus dem DeepSleep zu wecken und die Benachrichtigung zu erzeugen.

 

3. Programmierung

Nun kommen wir zur Programmierung des ESP01.  Im Sketch initialisieren wir zunächst in der Setup-Methode die WIFI-Verbindung und setzen dann einen HTTP-Request über die SimpleAPI ab. Dabei setzen wir per SimpleAPI Set Schnittstelle den Opened Datenpunkt auf true. Das war es auch schon, im Anschluss dazu wird der ESP01 wieder per Deepsleep(0) in den Schlafmodus gesetzt. Anbei der Code:

 


#include <ESP8266WiFi.h>

const char* ssid = "WLAN_SSID";
const char* password = "WLAN_PWD";

void setup()
{
initWifi();
makeSimpleApiRequest();

ESP.deepSleep(0);
}

void loop() { }

void initWifi()
{
WiFi.begin(ssid, password);

int timeout = 10 * 4;
while(WiFi.status() != WL_CONNECTED && (timeout-- > 0))
{
delay(250);
}
}

void makeSimpleApiRequest()
{
String host = "192.168.2.90";
int Port = 8087;

WiFiClient client;
if (client.connect(host, Port))
{
// URL die aufgerufen werden soll generieren
String url = "/set/Datenpunkte.0.Sensordata.PostBox.Opened?value=true";

client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
delay(10);

while(client.available())
{
String line = client.readStringUntil('\r');
}
}
}

 

4. Ergebnis und Fazit

Sobald jetzt der Briefträger eine Sendung in den Briefkasten wirft, erhalte ich eine Push-Message über Telegram. Zudem wird in ioBroker ein Datenpunkt auf „TRUE“ sowie der Zeitstempel des Einwurfs gesetzt. Bis jetzt läuft das System stabil und zuverlässig, mal sehen wie lange die Akku-Ladung des ESP8266 ausreicht, evtl. werde ich den Sensor noch mit einem Solarpanel ausstatten. Ich werde weiter berichten und freue mich schon auf das nächste Projekt 🙂

 

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

11 Gedanken zu „Endlich ist auch der Briefkasten in das Smart-Home integriert

  • 12. September 2018 um 7:48
    Permalink

    Cooles Projekt. Wie lange hat denn deine Akkuladung gehalten?

    Antwort
    • 13. September 2018 um 7:07
      Permalink

      Bei mir waren es aktuell leider nur 1-2 Wochen. Ich muss auf meinem ESP01 aber noch die LED entfernen, dann sollte es besser sein. Hast Du ähnliche Erfahrungen gemacht?

      Antwort
  • 18. September 2018 um 12:49
    Permalink

    Cooles Projekt vielleicht könntest du auch mal eine Anleitung schreiben wie das mit dem Sketch funktioniert.
    Mit arduino?

    Antwort
  • 17. Dezember 2018 um 17:31
    Permalink

    Soviel ich gelesen habe funktioniert beim ESP01 ein echter deep sleep mit nur 3mA Stromaufnahme nur dann, wenn du den RST mit dem GPIO16 verbindest. Dann sollte der Verbrauch merklich zurück gehen.

    Antwort
    • 27. Dezember 2018 um 11:13
      Permalink

      Danke für den Hinweis! Ich werde das prüfen. Aktuell arbeite ich an einer Lösung direkt über Homematic 🙂

      Antwort
  • 1. April 2019 um 9:41
    Permalink

    Hallo Matthias, du schreibst „Zudem legen wir uns ein Skripte an, mit denen wir den TimeStamp des Post-Einwurfes speichern können“.
    Wo/wie muss ich denn so ein Script anlegen?
    Gruß,
    Bernd

    Antwort
  • 12. August 2019 um 19:58
    Permalink

    Hi, hast du deinen Briefkasten mittlerweile mit einem Solarpabel ausgestattet und wie lang ist deine Akkulaufzeit?
    Ich versuche mich auch an einem smarten Briefkasten doch ist leider der wemos d1 Mini mit Tasmota geflasht ein echter Stromfresser.
    Einen echten DeepSleep gibt es da Nicht.

    Daher benutzte ich jetzt deine Buttonschaltung mit deepsleep Script in der Hoffnung das der Akku länger als 2 Tage hält.

    Antwort
  • 13. August 2019 um 14:42
    Permalink

    Hi zusammen,

    ich habe mir meinen Briefkasten auch smart gemacht aber etwas anders mit einem anderen Script gelöst.
    Ich hatte anfangs auf meinem Wemos D1 mini Tasmota geflasht aber da der kleine ein recht ordentlicher Stromfresser ist hielt die Akkulaufzeit nur 2 Tage.
    Der Wemos ging nicht in den DeepSlepp unter Tasmota nicht möglich.

    Jetzt zu meiner eigentlichen Frage wie lange hält dein Akku?

    Ich habe mir noch einen kleines Solarpanel drüber gebaut in der hOffnung das es jetzt ausreichend bis ewig hält. 🙂

    Antwort
    • 14. August 2019 um 14:37
      Permalink

      Hallo Sascha,
      mein Sensor hielt auch nur knapp 2-3 Tage. Auch mit dem ESP01 gab es Probleme mit dem DeepSleep-Mode. Ich bin gerade nochmal am Überlegen, ob ich nen neuen Sensor auf Homematic-Basis bauen werde. Alternativ über 433 MHZ, die WIFI-Verbindung frisst einfach zu viel Strom :-/ Die Idee mit dem Solarpanel ist auch nicht schlecht, bei mir nur zu wenig Platz.

      Viele Grüße,
      Matthias

      Antwort
  • 28. August 2019 um 10:16
    Permalink

    Hi,

    Ich habe bei mir kein homematic im Einsatz, wollte aber auch meinen Briefkasten in FHEM einbinden. Die Akkulaufzeit war auch ein Riesen Kriterium. Ich bin nun hingegangen und habe mir solch ein Funk relais Modul gekauft. Gab es bei Amazon für 12 Euro. Das relais Modul kommt ins Haus an die Steckdose und die relais werden mit dem esp verbunden. Zum schalten der relais ist eine Fernbedienung dabei. Die Tasten habe ich per Litze auf eine Platine herausgelötet. Ein Kontakt der Fernbedienung geht auf den Schlitz und ein weiterer Kontakt auf die Tür. Sobald der Schlitz geöffnet wird, bekomme ich einmalig eine Nachricht. Sobald die Tür geöffnet wird, gibt es einen reset und Nachricht, das die Post geholt wurde. Zudem gibt es noch täglich um 23 Uhr einen reset, falls der Brief per Klappe oben nur geholt wurde.

    Batterielaufzeit bisher Monate. Einziger Kritikpunkt ist eben 433mhz Technik. Fire and forget. 868 wäre schon toller

    Nächster Punkt ist die Zeitungsrolle. Hier bin ich noch unsicher wie ich es mache. Per Lichtschranke wohl am ehesten, muss nur schauen wie es dort mit Batterie und so geht, esp bleibt ja außen vor.

    Eventuell könnte ich so weiterhelfen.

    Sascha.

    Antwort

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere