Sie haben wieder Post

Neuer Kasten, neues Glück: Benachrichtigung über Post und Pakete per Telegram

Meinen alten Briefkasten hatte ich ja schon mal verdrahtet, um über neue Post benachrichtigt zu werden. Das funktionierte leidlich – die Neigungssensoren waren nicht so zuverlässig, die Schalterschnittstelle hatte eher mäßige Sendeleistung und spätestens im Winter hat die Lithium-Batterie bei Frost die Grätsche gemacht. Die Anzeige erfolgte nur auf meiner Wetterstation, Telegram hatte ich damals noch nicht.

Jetzt habe ich mir einen neuen Paketbriefkasten zugelegt und die Gelegenheit genutzt, gleich alles neu zu machen. Ich probiere mal den neuen optischen Fensterkontakt aus, der gar nicht mehr ganz so neu ist, und lasse mir eine Nachricht schicken, wenn Post und Pakete eingeworfen werden.

Der Briefkasten ist nicht so der Brüller, aber hier soll es ja um die HomeMatic gehen  – und die funktioniert einwandfrei.

Benennung von Systemvariablen

Prinzipiell kann man Systemvariablen – so wie allen Objekten in der CCU – beliebige Namen geben, also z. B. auch Umlaute und Sonderzeichen verwenden. Ich empfehle jedoch, sich auf reguläre Buchstaben (a-z, A-Z) zu beschränken: Bei Umlauten und Sonderzeichen besteht die Gefahr, dass Systemvariablen in Scripten nicht überall gefunden werden.

Paketbriefkästen

Zunächst dennoch etwas Werbung: Auf der Suche nach einem Paketbriefkasten bin ich auf zwei Varianten gestoßen. Die eine Variante hat ein Fach mit einem Spezialschloss, das der Paketdienst einmal öffnen und dann zudrücken kann, danach lässt es sich nur noch mit dem Schlüssel öffnen. Die andere Variante funktioniert eher wie ein normaler Briefkasten und hat eine große Einwurfklappe, in die Pakete und Post geworfen werden können.

Die erste Variante hat den Vorteil, dass auch größere Pakete hineinpassen, aber dafür einige Nachteile: Der Paketdienst muss mitspielen, es passt genau ein Paket pro Tür hinein und das Fach für Briefpost ist, sofern vorhanden, separat und damit wie bei normalen Briefkästen eher klein.

Bei der zweiten Variante passen nur kleinere Päckchen hinein, etwa in Schuhkarton-Größe, aber dafür kann von oben nachgeworfen werden, bis er unten voll ist. Der große Stauraum wird auch für normale Post genutzt. Das war für mich dann das ausschlaggebende Argument für diese Variante: Mein Schild „keine Werbung, keine kostenlosen Zeitungen“ wird gerne mal ignoriert und ein normaler Briefkasten ist dann nach zwei Tagen voll mit Müll.

Schamlose Werbung

Der Allux 600 ist für einen Paketbriefkasten relativ günstig und kann im Vergleich zu anderen Einwurf-Paketbriefkästen relativ große Pakete schlucken. Die Verarbeitung ist ordentlich, aber zur Montage braucht man etwas handwerkliches Geschick: Entweder man nimmt einen überteuerten Standfuß dazu, den man einbetonieren kann, um dann den Briefkasten durch Bohrungen im Boden zu befestigen, oder man kauft vier Stockschrauben und greift zum Metallbohrer zur Wandmontage. Ich habe mich für zweitere Variante entschieden.

Genaugenommen braucht man natürlich auch noch vier Dübel und je acht Muttern und Unterlegscheiben, aber das ist immer noch deutlich billiger und weniger Arbeit, als einen Standfuß einzubetonieren.

Beim Öffnen der Einwurfklappe hebt sich im Inneren ein Zwischenboden, auf den der Bote die Post und Pakete legen kann. Beim Schließen klappt der Zwischenboden wieder nach unten und das Paket fällt in den Kasten. Beim nächsten Öffnen ist der obere Teil danach leer, so dass einmal eingeworfene Lieferungen nur noch durch die Tür entnommen werden können, die mit einem durchaus stabilen Schloss gesichert ist.

Nachdem ich das gute Stück nun einige Wochen in Betrieb hatte, komme ich zum vernichtenden Urteil: Fehlkonstruktion. Es ist wirklich spannend, wo überall die Pakete beim Einwurf hängenbleiben: obere Türkante, untere Türkante, Schloss, …

Man muss dazusagen, dass es den Kasten in zwei Varianten gibt: Bei der einen öffnet die Tür zum Entnehmen der Post nach vorne, bei der anderen nach hinten. In jedem Fall jedoch klappt der Zwischenboden nach hinten, so dass die Pakete an der Front nach unten rutschen müssen. Ich habe, wie man sieht, die Variante mit nach vorne öffnender Tür. Da rutscht nichts.

Vielleicht bastele ich den Zwischenboden mal um, so dass er nach hinten klappt. Für den Moment ist der Kasten jedenfalls ein hervorragender Briefkasten, um die Werbeflut zu fangen, aber für Pakete nur sehr bedingt geeignet.

Installation des HomeMatic-Sensors

Der HomeMatic-Benachrichtigung ist es natürlich relativ egal, ob Pakete nach unten durchfallen, darum hier die Beschreibung der Hard- und Software, die man in ähnlicher Form vielleicht auch für andere Briefkästen verwenden kann.

Der obere Zwischenboden, der mit der Einwurfklappe zusammen bewegt wird, ist geradezu ideal, um ihn für den optischen Fensterkontakt zu verwenden. Er ist aus verzinktem Stahlblech, also gut reflektierend, und reicht relativ weit an die Seitenwand heran. Ein dort platzierter Sensor erkennt zuverlässig, wenn der Einwurf auch nur leicht geöffnet wird.

Ich habe hier das erste Mal den HM-SEC-SCo verbaut. Der Sensor wird mit brauner und weißer Abdeckung geliefert. Die braune habe ich als Montagewinkel an die Seitenwand geklebt, darauf dann den Sensor mit seiner weißen Schutzkappe. Der Abstand zur Zwischenklappe ist etwa ein Zentimeter. Damit ist die Erkennung einwandfrei, aber es geht sicher auch weniger.

Die Funkleistung scheint ausreichend, um auch das stabile Metallgehäuse des Paketbriefkastens zu überwinden – bisher zumindest konnte ich nicht feststellen, dass da eine Meldung verlorengegangen wäre. Der Sensor arbeitet nicht mit den furchtbaren Knopfzellen wie die alten Tür-/Fensterkontakte, die gefühlt permanent leer sind, sondern mit einer einzelnen Micro-Batterie (AAA). Vielleicht probiere ich irgendwann mal Akkus aus, aber im Moment tut das Teil mit der mitgelieferten Primärzelle seinen Dienst.

Fehlversuche der Programmierung

Mein erster Versuch bestand darin, den Sensor mit 5 Sekunden Verzögerung nur beim Schließen der Klappe senden zu lassen. Im Prinzip wäre das ideal: Egal, wie lange der Postbote am Briefkasten rumfummelt, wenn er ihn schließt bekomme ich eine Nachricht.

Leider beißt sich das mit der Aktualisierung des Sensors: Das gute Stück sendet etwa stündlich seinen aktuellen Status an die CCU, was diese natürlich als Aktualisierung des Zustands auffasst. Mein Programm meldet daher stündlich neue Post.

Der Fachausdruck für diese Situation lautet „Mpf“.

Im Prinzip brauche ich gar keine regelmäßige Statusmeldung, da der Sensor gut verschlossen im Briefkasten sitzt und ohnehin nicht sicherheitskritisch ist. Nach der Deaktivierung der Statusmeldungen über die Geräteeinstellungen schlägt freilich ein weiterer Bug der CCU zu: Irgendwie wartet sie immer noch darauf, dass der Sensor sich meldet, obwohl in den Einstellungen festgelegt ist, dass da nichts mehr kommt. Im Ergebnis habe ich nach kürzester Zeit eine Servicemeldung „Kommunikation ist gestört“, die bei Bewegung der Klappe verschwindet, dann aber sehr bald wieder auftaucht.

Insgesamt muss ich mir also was anderes ausdenken.

Programme mit Systemvariable

Zunächst gebe ich dem Gerät die passenden Einstellungen.

Die zyklische Statusmeldung ist wieder aktiv (weil sonst Kommunikationsstörungen auftreten), Sabotagemeldung brauche ich nicht, offen und geschlossen wird sofort gemeldet. Weil das Ding im Metallkasten zwar funktioniert, aber eben in einem Metallkasten ist, stelle ich die Maximalzahl von 10 Sendeversuchen ein.

Nachdem ich die Sendeverzögerung des Sensors nicht nutzen kann, muss ich mir eine eigene basteln. Der ganz einfache Weg wäre, den Versand über das Telegram-Framework einfach einige Sekunden zu verzögern. Wenn aber während dieser Verzögerung ein anderes Programm eine Nachricht senden möchte, wird die Verzögerung unterbrochen und ich bekomme keine Nachricht. Da ich auch Bewegungen bei Abwesenheit melden lasse, ist dieser Fall gar nicht so unwahrscheinlich.

Ich gehe also den Umweg über eine Systemvariable, die ich Briefkasten nenne.

Die Systemvariable ist ein einfacher Logikwert mit den Zuständen Post und keine Post. Tatsächlich wird sie später immer den Zustand Post haben – ich brauche sie nur, um die Aktualisierung auszuwerten und daraufhin eine Nachricht zu schicken.

In der WebUI erstelle ich zwei Programme: Das erste reagiert auf das Öffnen der Klappe und setzt mit Verzögerung die Systemvariable auf Post, das zweite reagiert auf die Aktualisierung der Systemvariblen und sendet eine Nachricht an Telegram.

Zunächst das Programm für die Systemvariable.

Das Programm reagiert auf das Öffnen der Klappe bei Änderung. Alles andere funktioniert nicht oder wäre sinnlos:

10 Sekunden, nachdem das Öffnen der Klappe erkannt wird, wird dann die Systemvariable gesetzt. Wichtig ist der Haken bei Vor dem Ausführen alle laufenden Verzögerungen für diese Aktivitäten beenden: Wenn der Postbote die Klappe mehrmals kurz hintereinander öffnet und schließt, soll jedes Mal die Verzögerung zurückgesetzt werden, damit ich nur einmal ganz am Schluss eine Nachricht bekomme.

Das zweite Programm kümmert sich um den Versand der Nachricht.

Natürlich reagiert es bei Aktualisierung der Systemvariable Briefkasten  – die Variable wird ja niemals auf einen anderen Wert geseztz als Post und lediglich 10 Sekunden nach Öffnen der Klappe aktualisiert.

Wenn das passiert, wird sofort die Systemvariable Telegram mit dem passenden Text gesetzt. Ich nutze ein paar Formatierungen und habe auch einen Zeilenumbruch im Text versteckt. Das Telegram-Framework kümmert sich dann darum, dass die Nachricht gesendet wird.

Das Ergebnis fällt erwartungsgemäß aus:

Wie man sieht, reagiert als erstes der Bewegungsmelder im Vorgarten und sendet seine Meldung. Danach öffnet der Bote die Klappe und meine beiden Programme senden ihre Meldung.

Die ersten beiden Nachrichten im Bild oben stammen vermutlich vom Vertreter der Stadtwerke, der meine Verbrauchszähler ablesen wollte und mich nicht antraf. Anders als der Postbote brauchte er nach dem ersten Öffnen noch eine Minute Bedenkzeit, bevor er sich dann entschieden hat, einen Zettel unter die Klappe zu klemmen, dessen Hälfte dann bei meiner Ankunft völlig durchnässt war. Vielleicht sollte ich für solche Sonderfälle noch eine Anleitung zum Thema „so werfen Sie einen Brief in den Briefkasten“ anbringen.

Abgesehen von solchen Randbereichen menschlicher Fähigkeiten der Alltagsbewältigung scheint meine jüngste Installation zum Erhalt dinglicher Post ihren Zweck zu erfüllen.

Navigation