Smarte Türen mit SESAM und Raspberry Pi

Ein Artikel von Ramón Lang, veröffentlicht am 16. Juli 2023.
Die Lesedauer beträgt ungefähr 14 Minuten.

Eigentlich war schon kurz nach dem Einzug vor zwei Jahren klar, dass die Situation mit der Haustür so nicht funktioniert. Das Empfangen von Paketen ist anstrengend und die Kuriere haben auch absolut kein Interesse, die Situation zu verbessern. Eine Lösung dafür könnte sein, dass sich die Haustür auch ohne mein Beisein öffnen kann, damit Pakete wenigstens innerhalb vom Haus abgestellt werden können. Das ist jetzt auch mit kleinem Budget möglich.

Falls dich nur eine Kurzanleitung interessiert, dann gehe nach unten zum Abschnitt „Kurzanleitung“. Dies setzt voraus, dass du bereits weißt, welchen Stromkreis du schließen musst, um eine Türöffnung auszulösen.

Eine Innovation ist das eigentlich nicht, denn der ganze Beitrag basiert eigentlich auf der einfachen Tatsache, dass ein Stromkreis geschlossen und wieder geöffnet wird. Klingelanlagen smart zu machen ist auch keine neue Idee. Es gibt nur wenige Anbieter, die Geräte verkaufen, die mit gängigen Systemen kompatibel sein sollen. Auch mit unserer Anlage von Siedle soll das gehen. Aber bei Preisen zwischen 100€ und 200€ ist das definitiv keine Option. Der Nuki opener wäre so eine Option. Aber auch bei diesen Geräten muss man die Anlage im Haus auseinandernehmen und Drähte miteinander verbinden.

Viel günstiger ist das Ganze mit einem Raspberry Pi Pico W (oder WH), der bereits für weit unter 10€ zu kaufen ist. Dazu kommt noch ein normales Relais und entweder zwei Netzteile für den Raspberry und das Relais oder nur ein Netzteil und einem zusätzlichen Spannungswandler. Alle Bauteile sind für jeweils unter 10€ zu haben.

Der Aufbau

Ich habe mir also diesen Raspberry Pi Pico W gekauft, um etwas über die Funktionsweise von Mikrocontrollern zu lernen. Mit dem normalen Raspberry Pi ginge das Ganze zwar auch, aber die Leistung ist dafür völlig überdimensioniert. Außerdem verbraucht der Standard-Raspberry Pi im Jahr 20-50€ Strom, während die Pico-Varianten auf der Stromrechnung nicht auffallen.

Am Raspberry Pi Pico W werden dann insgesamt vier Drähte angelötet: Zweimal Ground (also Minus), einmal einen GPIO-Pin und einmal der 5V-Eingang. Der Raspberry kann natürlich auch über USB mit Strom versorgt werden. Das macht aus meiner Sicht aber wenig Sinn, wegen des weiteren Aufbaus.

Der GPIO-Pin und Ground werden mit einem Relais verbunden. Ich habe mich für ein 12V-Relais entschieden. Es gibt auch 5V-Relais, was den Einsatz eines zusätzlichen Spannungswandlers natürlich überflüssig macht. Aber ich hatte nunmal noch eines zuhause und wollte es darum verwenden.

Plus und Minus des Raspberry’s habe ich mit dem Spannungswandler verbunden, der 5V ausgibt und 12V aufnimmt (in meinem Fall). Das alles muss natürlich gelötet werden. Es ginge zwar auch ohne Löten, aber spätestens bei der Klingelanlage kommt man um Löten kaum herum.

Der Raspberry Pi sah dann so aus:

Damit die Lötstellen nicht brechen habe ich ihn mit Isolierband umwickelt. Ein Satz Wago-Klemmen kann übrigens auch nicht schaden. Sonst muss nur um so mehr gelötet werden.

Nachdem alles verkabelt und verlötet wurde sah das dann so aus (siehe nächstes Bild). Bis hierhin muss an der Klingelanlage noch überhaupt nicht gearbeitet werden. Das Funktionsprinzip ist überall gleich und erst einmal geht es darum, dass die Technik funktioniert. Das tut sie, wenn das Relais zum richtigen Zeitpunkt auslöst.

Den Spannungswandler habe ich ebenfalls zusammen mit dem Raspberry Pi Pico umwickelt, damit nirgendwo Kurzschlüsse entstehen. Wichtig ist natürlich, dass alle Drähte und Kontakte beschriftet werden.

Als Spannungsquelle habe ich eine nicht mehr benutztes 12V-Netzteil verwendet. Im Bild habe ich das Ganze mit einem Stecker verbunden. Am Ende habe ich die Drähte aber mit einer Wago-Klemme verbunden.

Die Klingelanlage

Zuerst zum Funktionsprinzip einer Klingelanlage. Hier galt in meinem Fall: Nichts ist so, wie es scheint. Klingelanlagen gibt es in verschiedenen Ausführungen, die mit verschiedenen Standards arbeiten. Ich beziehe mich in diesem Beitrag immer auf die Anlage AIB 150-01 von Siedle.

Grundsätzlich ist zu beachten, dass an einer Klingelanlage nicht gearbeitet werden sollte. Geht sie kaputt, muss der Mieter diese ersetzen. Meine Anlage kostet 60€. Dazu kämen jedoch noch Einbau- und Programmierungskosten, da das Bedienteil in der Wohnung auf die entsprechende Taste am Briefkasten programmiert werden muss. Das kann man auch selber machen, aber das muss man einfach vorher wissen.

Bei dieser Anlage sind die Geräte in der Wohnung zwar parallel geschaltet, jedoch auf eine sehr unprofessionelle Art und Weise: Ein normales Netzwerkkabel geht von den Briefkästen aus durch alle Wohnungen. Entlang der Kabel sind die einzelnen Bedienteile innerhalb der Wohnung angeschlossen. Doch statt eine sinnvolle und zuverlässige Verbindung einzubauen, hat man einfach das Netzwerkkabel in den Unterputzdosen aller Wohnungen getrennt und die beiden Enden in einer Lüsterklemme zusammengeklemmt (siehe Bild). Für Bastler bedeutet das, dass gleich die gesamte Anlage im Haus nicht mehr funktioniert, wenn an dieser Stelle ein Fehler passiert. Oder zumindest in einem Teil des Hauses. Wohlmöglich gehen von den Briefkästen auch mehrere Netzwerkkabel aus.

Hier sieht man, dass in den ersten beiden der insgesamt drei Anschlüsse je zwei Kabel ankommen. Eines geht nach unten zu den Briefkästen, das andere weiter nach oben zu den anderen Wohnungen.

Im Bedienteil der Wohnung kommen in der Lüsterklemme drei Verbindungen an:

Über Ta und Tb werden Spannung und Daten übertragen. Es handelt sich dabei um 27,5V Gleichstrom (DC), die vom Hersteller als „In-House-BUS“ bezeichnet werden. Die Spannung verändert sich beim Klingeln am Briefkasten, beim Tür öffnen und beim Sprechen. Da ich mich mit digitalen Signalen nicht auskenne, konnte ich damit leider nichts anfangen.

ERT steht für „Etagenruftaste“ und ist mit der Klingeltaste auf dem eigenen Stockwerk verbunden. Im Gegensatz zu Ta und Tb wird bei Betätigung dieser Taste kein digitales Signal gesendet. Lediglich ein Stromkreis zwischen ERT und Tb wird geschlossen. Zur Vereinfachung könnte man auch einfach von Plus und Minus sprechen, wobei Ta Plus entspricht und Tb Minus.

Die Idee wäre eigentlich folgende gewesen: Die ganzen Bauteile werden in der Unterputzdose verstaut und die Spannung kommt direkt von der Klingelanlage. Das ist natürlich verboten, aber da das Ganze ja quasi keinen Strom verbraucht, hätte ich damit leben können. Aber es funktioniert nicht: Sobald an der Anlage ein weiterer Verbraucher angeschlossen ist, bricht die Spannung direkt auf etwa 8V zusammen. Damit funktioniert einerseits das 12V-Relais nicht mehr und andererseits vermutlich auch die Klingelanlage nicht. Wobei ich letzteres nicht ausprobiert habe, um nichts zu beschädigen.

Und so sieht der ganze Spaß unter dem Bedienteil der Klingelanlage aus. Die übrigen Drähte des Netzwerkkabels wurden ebenfalls getrennt und in die Dose gestopft. Das Relais habe ich aber trotzdem noch in diese Dose stopfen müssen, damit das Ganze zuverlässig funktioniert. Ist das Relais vom Bedienteil zu weit weg, könnte es sein, dass es nicht funktioniert. Auch die Aussparung vom Kabel (oben) wurde zu weit geöffnet, da sie über das Gehäuse hinausragt. Aber egal – ich schreibe hier ja keine Mängelrüge.

Die Lötstellen

Jetzt geht es aber um das Wichtigste: Um die Tür zu öffnen, wird – wie bereits erwähnt – ein Stromkreis geschlossen. Aber welcher? Um das herauszufinden muss man zuerst Masse/ Ground/ Minus am Bedienteil finden. Dann drückt man die Tür-Öffnungstaste dauerhaft und geht mit einem Spannungsprüfer von Kontakt zu Kontakt, bis dieser den geschlossenen Stromkreis erkennt:

Wie man in diesem Bild sieht, kann das eine Weile dauern. Wer zufällig dieselbe Anlage hat, kann sich die Suche sparen. In diesem Bild halte ich die rote Spitze auf den entsprechenden Kontakt, der mit Masse/ Ground/ Minus verbunden werden muss. Die Bohrungen sind tatsächlich so klein, dass ein normaler Draht nicht durch passt. Das bedeutet, dass man gute Lötfähigkeiten mitbringen muss, damit ein Draht dort hält. Diese habe ich nicht.

Trotzdem hat es am Ende irgendwie funktioniert und auch hier habe ich die Drähte nach dem Löten fixiert, damit die Lötstellen nicht brechen. Diese zwei Drähte werden mit dem Ausgang des Relais verbunden, der mit „NO“ beschriftet ist.

Wir haben also nun:

Den Raspberry Pi und den Spannungswandler habe ich in einer Verteilerdose aus dem Baumarkt gesteckt und durch den Kabelkanal gehen nur noch die vier Drähte vom Raspberry und von der Stromquelle zum Relais, das sich oben hinter dem Gehäuse befindet.

Die Software

Den Code für den Raspberry habe ich auf der Website sesam.myhobby.ch zur Verfügung gestellt. Das ist gleichzeitig auch die Steuerungssoftware. Erstelle dir ein Konto, richte online deine Tür ein und lade den Python-Code herunter. Diesen musst du dann noch auf dein Profil anpassen und ihn auf dem Raspberry Pi Pico unter dem Namen „main.py“ speichern.

Es ist vermutlich selbsterklärend. Falls es das nicht ist, kannst du hier unter dem Artikel nachfragen oder den Abschnitt „Kurzanleitung“ noch lesen.

Wenn alles richtig eingerichtet wurde, sieht das dann so wie auf diesem Bild aus. Das Ganze beschränkt sich auf das Öffnen von Türen. Im Gegensatz zu den kommerziellen Produkten ist das natürlich weniger. Technisch und programmiertechnisch wäre es mir zwar durchaus möglich gewesen, auch das Klingeln zu registrieren und zu verarbeiten, oder auch die Fernsprechfunktion. Aber da für mich bereits zwei Lötstellen am Bedienteil eine große Herausforderung waren, hatte ich keine Motivation mehr, auch die weiteren Funktionen noch zu verbinden.

Dafür habe ich etwas mehr Zeit in die Online-Software gesteckt. SESAM heißt diese App und ermöglicht beispielsweise auch die Freigabe für bestimmte Tage oder für weitere Familienmitglieder.

Erfahrungen und Anregungen kannst du gerne als Kommentare hier lassen.

Kurzanleitung (Zusammenfassung)

Als erstes: Finde am Bedienteil der Klingelanlage in deiner Wohnung den Stromkreis, der geschlossen werden muss, damit sich die Haustür öffnet.

Hardware vorbereiten

  1. Installiere auf dem Raspberry Pi Pico W (oder WH) microPython.
  2. Verbinde Plus und Minus deines Spannungswandlers oder einer anderen Spannungsquelle mit den Pins 39 (VSYS) und 28 (GND). Dadurch muss für den Betrieb kein USB Kabel angeschlossen werden.
  3. Falls du einen Spannungswandler verwendest, verbinde die externe Stromquelle (z.B. 12V) mit dem Spannungswandler. Schließe das System jedoch noch nicht am Strom an.
  4. Verbinde den Kontakt DC- an deinem Relais mit einem beliebigen GND-Pin des Raspberry Pi Pico W.
  5. Verbinde den Kontakt IN an deinem Relais mit einem beliebigen GPIO-Pin des Raspberry Pi Pico W.
  6. Verbinde die beiden Kontakte aus deiner Klingelanlage mit den Kontakten COM und NO an deinem Relais.
  7. Verbinde Plus und Minus deiner Stromquelle mit den Kontakten DC- und DC+ an deinem Relais.

SESAM vorbereiten

  1. Gehe zu sesam.myhobby.ch und registriere Dich mit deiner E-Mail Adresse und einem Passwort. Logge dich danach mit deinen Daten ein.
  2. Klicke auf Einstellungen und gib im Abschnitt „Gebäude hinzufügen“ einen Namen für das Gebäude ein, in dem sich die zu steuernde Tür befindet (z.B. „Zuhause“).
    Bestätige die Eingabe mit „Neues Gebäude hinzufügen“.
  3. Klicke nun auf das Gebäude und gehe auch dort wieder zu den Einstellungen.
  4. Gib im Abschnitt „Tür hinzufügen“ einen Namen für die Tür ein, die du steuern möchtest (z.B. „Haustür“).
    Bestätige die Eingabe mit „Neue Tür hinzufügen“.
  5. Klicke nun auf die Tür und gehe auch dort wieder zu den Einstellungen.
  6. Lade im Abschnitt „Python-Code herunterladen“ den Programm für den Raspberry Pi Pico W herunter und öffne ihn mit einem Code-Editor (z.B. Thonny).

Software vorbereiten

  1. Im Programmcode der Datei sesam.py findest du im obersten Abschnitt verschiedene Einstellungsmöglichkeiten, die du jetzt anpassen musst:
    • Ändere den Wert der Variablen „wifiSSID“ und „wifiPassword“ gemäß den Zugangsdaten zum WLAN bei dir zuhause.
    • Ändere die Variable „apiCode“. Den API-Code findest du auf SESAM in den Einstellungen deiner Tür.
    • Ändere die Variable „username“ auf die E-Mail Adresse, die du bei der Registrierung von SESAM verwendet hast.
    • Die Variable „resetTime“ bestimmt, nach wie vielen Stunden der Raspberry Pi Pico W neu gestartet werden soll.
    • Ändere die Variable „doorPin“ auf den Pin, an dem du den Kontakt IN deines Relais angeschlossen hast. Nehme eine Grafik zur Hilfe, die zeigt, wie die GPIO-Pins nummeriert werden.
    • Solange du im Programmcode arbeitest, solltest du die Variable „debugMode“ auf 1 setzen. Sobald du mit allen Änderungen fertig bist, kannst du sie auf 0 setzen. Dadurch wird der WatchDogTimer aktiviert, der den Systemzustand überwacht. Dadurch wird der Raspberry Pi Pico W bei Fehlern neu gestartet.
  2. Speichere den Programmcode mit dem Dateinamen „main.py“ auf dem Raspberry Pi Pico und trenne die Verbindung vom Computer.
  3. Schließe die externe Stromquelle an warte einige Sekunden. Sobald sich der Raspberry Pi Pico W mit dem Internet und SESAM verbunden hat, erscheint ein Button auf der Benutzeroberfläche deiner Tür (siehe Screenshot oben).

Kommentare zu diesem Artikel

Wie ist Dein Name?

Wie ist Deine E-Mail-Adresse?

Die E-Mail-Adresse wird nicht veröffentlicht.

Was möchtest Du zum Artikel sagen?

Bisher wurden noch keine Kommentare geschrieben.