2021-07-04 Homematic IP Node-RED PIN-Pad

Homematic IP PIN-Pad an Wohnungstür.

Wohnungstüre per PIN-Eingabe öffnen.
PIN-Pad ohne Elektrotechnikkenntnisse selber bauen.

Für meine Hausautomatisation verwende ich eine ⎇Homematic IP CCU3 und programmiere diese mit ⎇Node-RED bzw. ⎇RedMatic.

Das ⍈Türschloss ist schon automatisiert. Als Erweiterung möchte ich außen an der Wohnungstüre ein PIN-Feld. Damit wird versehentliches Aussperren ausgeschlossen. Und Dritte, die in die Wohnung müssen, erhalten anstelle eines Schlüssels einen personalisierten PIN.
Ich habe mich am Markt etwas umgesehen und nichts passendes gefunden. Von Homematic IP direkt gibt es nichts. (Update: Mittlerweile schon. Siehe [1]) Nur solche ⎇Integrationsprojekte von ELV.
Die Meisten (bzw. alle die ich gefunden habe) dieser Zugangssysteme sind nicht vertrauenerweckend. Mal von den vermutlich unsicheren Funkprotokollen (und bei meiner Mietwohnung geht nur Funk und Batterie) abgesehen, befindet sich alles Wissen im PIN-Feld. Draußen. Wo ein Angreifer zugriff hat. Und damit meine ich nicht theoretische Angriffe, das jemand nen EEPROM ausließt. Braucht er nicht, wenn schon im Handbuch steht wie die Master-PIN zurückgesetzt werden kann! Dazu kommt, das diese Zugangssysteme nur Erfolgsmeldungen übertragen. Damit weiß man das jemand die Türe öffnen möchte, aber nicht wer oder was sonst alles schon eingegeben wurde. Und zu guter Letzt muss jede Admintätigkeit Vorort am PIN-Feld gemacht werden.

Hier also nun eine Selbstbaulösung, die all die Probleme vermeidet und keine Elektrotechnikkenntnisse zur Umsetzung erfordert. Das fertige PIN-Pad hat kein Wissen über gültige PINs. Es überträgt (dank Homematic IP hoffentlich vertraulich) schlicht und einfach die gedrückten Tasten. Der Rest wird auf Seiten der CCU3 verarbeitet. Theoretisch könnte man sogar ⎇OTPs implementieren.

Conrad Teileliste:
1x ⎇TRU COMPONENTS SU709948 Folientastatur Tastenfeld Matrix 1 x 12
1x ⎇Strapubox 2006SW 2006SW Universal-Gehäuse 125 x 74 x 27 ABS Schwarz
2x ⎇Homematic IP Kontakt-Schnittstelle HmIP-FCI6
1x ⎇Renkforce JKMM403 Jumper-Kabel Arduino, Banana Pi, Raspberry Pi [40x Drahtbrücken-Stecker - 40x Drahtbrücken-Stecker] 30
1x ⎇Coroplast 302 302-10-BK Isolierband Schwarz (L x B) 10 m x 15 mm
1x Doppelseitiges Klebeband

Werkzeug:
1x Lötkolben samt Lötzinn
1x Abisolierzange oder Dergleichen
1x Eine Möglichkeit Plastik zu bearbeiten. Zum Beispiel mit einem Dremel.
1x Schere
1x Messer
1x Kreuzschlitzschraubendreher

Das sind natürlich alles nur Vorschläge. Bei einem Neubau würde ich vermutlich Schrumpfschlauch anstelle von Isolierband nehmen. Anstelle der Jumper-Kabel könnte man auch solche PIN-Header-Reihen verwenden.

Was vor sich geht

Die ⎇Homematic IP Kontakt-Schnittstelle HmIP-FCI6 ermöglicht das Erkennen von potentialfreien Kontaktschließungen an bis zu sechs Kontakten. Schließt sich ein Kreislauf zwischen Masse(GND) und einem der Kontakte, wird gemeldet welcher Kontakt es war. (Parallele Kontaktschließungen werden nicht erkannt! Weswegen für dieses Projekt zwei HmIP-FCI6 und eine Tastatur mit einer 1x12 Matrix nötig sind.) Die in der Teileliste aufgeführte Tastatur hat eine sogenannte 1x12 Matrix. Die Tastatur hat einen Anschluss mit 13 Buchsen. Einmal Masse (GND) und für jede Taste einen Leiter.

Man muss die schwarzen GND-Kabel der beiden HmIP-FCI6 zu Einem verbinden und an den Tastatur-Anschluss anbringen. Und zwar an der Seite, an dem die Teilenummer steht.

PIN-Pad Masse-Anschluss

Die übrigen Kabel können dann frei zugeordnet werden. Die Ziffern am Anschluss sind durcheinander. Man sollte sich also nicht lange damit aufhalten, was wo hin kommt. Man ordnet später in Software zu, was was ist.















Dass das Jumper-Kabel so übereinander liegt, würde ich bei einem Neubau nicht mehr machen. Es wurde mit Deckel dann sehr eng. Dafür war es leicht zu löten.



Nicht schön, aber selten.

Spätestens jetzt einmal alles Testen. Alle Tasten durchgehen. Aufschreiben welcher Topic bei welcher Taste reagiert hat. Prüfen das jeder Topic einmalig ist.


Empfohlene Kanaleinstellungen:

Und ja, da es Taster sind, muss man leider zwölfmal ein leeres Programm in der CCU3 anlegen, damit die Signale in Node-RED ankommen.








Achtung: Das Klebeband auf der Rückseite der Folientastatur ist sehr stark. Man hat im Grunde nur einen Versuch sie gescheit auszurichten.

Homematic IP PIN-Pad Größenvergleich.

Bevor man das Kästchen irgendwo anbringt, natürlich sicherstellen das die Softwareseite in Ordnung ist.

Hier zwei Node-RED Funktionen, mit denen hoffentlich jeder starten kann.
Download: PIN-Pad_v1.json



Die Funktion PIN-Feld sammelt eingegebene Nummer, bis die #-Taste gedrückt wird. Dann gibt sie sie als Zeichenkette aus. Die Taste * löschte die zuvor eingegeben Nummern komplett. Sie drückt man also, wenn man sich vertippt hat und beginnt dann mit der PIN-Eingabe von vorne. Wird die Eingabe für mehr als 10 Sekunden unterbrochen, wird das bisher Eingegebene ebenfalls verworfen.
In der Funktion findet auch die Zuordnung der Topics zu den Tasten statt. Der Quelltext ist hoffentlich selbsterklärend genug.



In der Funktion Login kann man Benutzer und deren PINs hinterlegen. Ein erfolgreicher "Login" führt auf Ausgang 1 zu einer Statusmeldung, bei dem der eintretende Benutzer angegeben wird. Auf Ausgang 2 wird der Türschlossantrieb zum öffnen aufgefordert.
Bei einer unbekannten PIN, erfolgt auf Ausgang 1 lediglich entsprechend eine negative Statusmeldung.

[1] Mittlerweile gibt es von Homematic dieses ⎇Keypad HmIP-WKP, auf das die beschriebenen Sicherheitsprobleme von angeflanschten Drittlösungen nicht zutreffen. Die Eigenlösung bleibt die flexibelste Lösung. Wobei man Zugeben muss, das HmIP-WKP den Vorteil hat, das es Dank Direktverknüpfung auch bei Stromausfall oder defekter CCU3 weiter funktioniert.

⍈Homepage

#