Teil 1: RFID Codeschloss für den Keymatic / Abus Funk Türschlossantrieb (Ersatz für KM300 CAC / CFT 1000)

Wir haben einen Funk-Türschlossantrieb Abus Hometec CFA 1000 (bauglich zur Keymatic KM300 IQ+) seit 7 Jahren in Betrieb und sind damit auch sehr zufrieden. Mittlerweile gibt es eine neuere Version dieses Antriebs am Markt, die nicht mehr auf die Keeloq Verschlüsselung des Funkverkehrs setzt. Für diese eQ-3 Variante gibt es mittlerweile auch eine Anpassung dieser Anleitung (siehe Teil 5).

Das Problemkind ist das Funk Codeschloss Keymatic KM300 CAC bzw. Abus Hometec CFT 1000. Das Codeschloss ist nicht wirklich wetter- und UV-fest und ein Ende ist absehbar. Leider sind die passenden Codeschlösser vom Markt verschwunden. Es gibt für die alten wie auch die neuen Türschlossantriebe kein Nachfolgeprodukt. Für Funkcodeschlösser dieser Art aus Restbeständen werden Mondpreise auf ebay bezahlt und das, obwohl die Haltbarkeit und auch die Optik nicht ideal ist. Also muss eine Abhilfe her.

Meine Anforderungen für einen Selbstbau eines Keymatic/Abus Funk Codeschloss Ersatzes/Nachfolgers:

  • Optisch ein deutlicher Schritt nach vorne. Weg vom alten Plastik / Folientastatur Design.
  • Wetterfest.
  • Kompatibel zur KM300 CAC / CFT 1000.
  • Bestehende Handsender sollen weiter funktionieren.
  • Zukunftsicher / weiterentwickelbar für den das neueren Keymatic Türschlossantrieb HM-Sec-Key eQ-3.
  • Sicherer als das alte Funk Codeschloss. Hier ist der Keeloq Baustein für die Entriegelung der Haustür im Codeschlossgehäuse vor der Haustüre verbaut. Somit ist ein Angriff auf der HW Seite denkbar.
  • Sicherer als die typischen Codeschlösser der Elektronikversender. Hier kann man durch Kurzschließen von zwei Kabeln auf der Rückseite das Schloss sehr einfach umgehen.
  • Der Einsatz von RFIDs zur Türöffnung soll möglich sein.

In den nächsten Tagen werde ich mehrere kurze Anleitungen posten, wie ich ein passendes Funk Codeschloss gebaut habe, das auf meine Anforderungen passt. Für alle die neugierig sind, ist hier schon einmal das Endergebnis zu sehen:
1_Codeschloss_fertig
Ganz kurz zusammengefasst habe ich folgendes realisiert: Vor der Türe ist ein RFID-Codeschloss auf Touchbasis montiert. Dieses gibt die eingegeben Codes / RFID-IDs per Wiegand Interface nach innen ins Haus weiter. Ein Arduino wertet die Codes aus und steuert einen umgebauten Abus Hometec Handsender an.

Nun zum Teil 1 des Projekts: Umbau eines Handsenders für die Ansteuerung / Stromversorgung durch einen Arduino.
Alternativ geht natürlich auch ein Raspberry Pi o.ä..

Hier ein Bild eines alten, abgenutzten Abus Handsenders CFB 1000. Der entsprechende Keymatic Handsender ist baugleich.
2_Handsender_orig
Das Gehäuse läßt sich leicht demontieren. Die zwei Schrauben sitzen im Batteriefach. Danach kann man die Platine entnehmen. Den Verbinder für die Folientastatur habe ich abgelötet. Dann kann man wie zwei Kabel für die Stromversorgung und zwei für die Kommandos Tür auf (inkl Entriegeln) und Abschließen anlöten. Das dritte Kommando „Aufschließen ohne Entriegeln“ habe ich nie gebraucht, was man am Zustand des Handsenders auch sehen kann 🙂
4_Handsender_Umbau
3_Handsender_Umbau
Die Folientastatur läßt sich wie ein Aufkleber entfernen. Das Gehäuse habe ich wiederverwendet. Die 4 Kabel lassen sich dann durch die freigewordene Öffnung im Gehäuse nach außen führen.
5_Handsender_fertig
Fertig ist der umgebaute Handsender.

Die Ansteuerung ist nun ganz einfach über beliebige Schaltungen möglich:
Die auf der Fernbedienung verbauten Bauteile lassen eine Versorgungsspannung zwischen 3 und 5 Volt zu. Also einfach die Platine mit Spannung versorgen. Dann nach Wunsch Öffnen oder Abschließen auf +3/5V legen und schon wird das entsprechende Kommando gesendet.
Den Arduino habe ich so programmiert, dass die Versorgungsspannung nur anliegt, wenn auch ein Kommando gesendet werden soll. Der Stromverbrauch beträgt wenige Milliampere und so kann man die Fernbedienung direkt an den Ausgabepins eines Arduinos anklemmen.
Konkret lege ich die Versorgungsspannung an den Handsender im Arduino Code an, warte 10ms und setze dann den entsprechenden Kommandopin für 3 Sekunden auf high. Ob die 10ms wirklich nötig sind, weiß ich nicht. Das Ziel der Wartezeit ist eine saubere Initialisierung des Handsenders und seines Mikrocontrollers bevor ein Kommando erzeugt werden soll. Der Handsender läuft wie beschrieben mit 5V seit Wochen stabil.

Im Teil 2 folgt die Beschreibung der kompletten Schaltung für das Funk Codeschloss.

21 Gedanken zu „Teil 1: RFID Codeschloss für den Keymatic / Abus Funk Türschlossantrieb (Ersatz für KM300 CAC / CFT 1000)

  1. Antje

    Hallo,
    leider ist bei mir auch gerade der Abus cft 1000 kaputtgegangen. Ich finde diese Anleitung zwar ganz hilfreich, traue mir den Nachbau aber dennoch nicht zu. Könnte ich vielleicht ein fertiges Ding abkaufen?
    Viele Grüße!
    Antje

    Antworten
    1. ST Beitragsautor

      Hallo Antje,

      es freut mich, wenn die Anleitung gut ankommt. Leider schaffe ich es neben meinem Job nicht, Nachbauten auf Auftrag zu fertigen und dann auch die Integration zu unterstützen. Gibt es in Deinem Bekanntenkreis eventuell jemanden, der sich mit Elektronik auskennt und der ein paar Lötkenntnisse hat? – Ich bin gerne bereit Fragen zu beantworten, wenn es irgendwo klemmen sollte.

      Gruss Stefan

      Antworten
  2. Dirk

    Hallo,
    welcher Chip ist verbaut für die Frequenz 868,35 Mhz, suche Ersatz in China für die Fernbedienung, diese brauchen den verbauten Chip.
    Danke schon mal

    Gruß Dirk

    Antworten
    1. ST Beitragsautor

      In der Keymatic / Hometec Lösung der ersten Generation (also das was hier beschrieben ist), wird die Keeloq Technik verwendet. Die Keeloq Chips kann man wohl kaufen. Die Chips sind auch in den meisten Garagentor Sendern verbaut. Allerdings brauchst Du den Mastercode, der in der Keymatic Lösung kodiert ist. Und an den kommst Du vermutlich nicht ran. Damit kannst Du den Keeloq Chips nicht für die Keymatic kodieren.
      Einfacher wäre es einen „ollen“ Handsender zu nehmen und umzubauen. Vielleicht mal bei ebay suchen?

      Antworten
  3. Dirk

    Hallo,
    danke für Deine Antwort

    LG Dirk

    P.S Wie kann ich das CFT 1000 eprom löschen, habe dies gebraucht gekauft, leider kein Admin Code

    Antworten
    1. ST Beitragsautor

      Das geht meines Wissens nicht. Laut Handbuch heisst Admin Code weg, dass das Codeschloss auf den Schrott muss. Das ist auch nachvollziehbar, weil man dann so das Haus knacken könnte. Der keylooq Chip funktioniert ja weiterhin und wäre auch weiterhin im Türantrieb kodiert.
      Es ist also davon auszugehen, dass das Zurücksetzen seitens des Herstellers sogar aktiv blockiert ist.

      Antworten
  4. Dirk

    Morgen,
    ich kann doch das Eprom irgenwie löschen und neu beschreiben.

    Nochwas, wie kann ich das CFA 1000 zwingen neu anzulernen , setup lässt sich nicht aufrufen bzw. es passiert nichts, wenn ich die taste drücke .

    Danke für Deine Hilfe

    LG Dirk

    Antworten
    1. ST Beitragsautor

      Das ist jetzt alles etwas spekulativ. Ich habe die CFA ja nicht mehr im Einsatz, sondern den hier beschriebenen Ersatz.

      Eeprom löschen: Die verwenden ziemlich sicher den Eeprom, der auf dem verbauten Microcontroller mit drin ist. Wenn Du den Eeprom löschen willst, musst Du einen Löschfirmware in diesen Microcontroller reinproggen. Damit ist die Orig. Firmware weg und das Codeschloss damit tot. Weiterhin hätte ich als Programmierer dieser Lösung irgend eine Magic Number/Checksumme im Eeprom abgelegt, um so einfache Manipulationen zu erkennen.
      –> Meine Meinung: Ich würde aufhören das tote Pferd zu reiten. Bau lieber eine Ersatzlösung (z.B. diese hier). Läuft bei mir bis heute ohne Unterbrechung.

      2. Anlernen des Antriebs: Klingt nach einer defekten Taste im Türantrieb. Man kann auch einen Komplett-Reset des Antriebs machen. Schau mal in die Anleitung. Ist irgendwas wildes mit 10x Drehen und einer Tastenkombination.

      Antworten
  5. Mathias

    Hi ST,
    nun das Codeschloß läuft einwandfrei!
    Ich habe es mit einem 12V-Netzteil realisieren müssen, weil der Klingeltrafo irgentwo im Haus verbaut ist.
    Um Schäden zu verhindern, habe ich diese Lösung umgesetzt.
    Nun ein weiteres Anliegen:
    Ich möchte auf diesem Weg (Zweites Codeschloß und zwei Handsender) meine Waschmaschine und den Trockner schalten.
    Die RFID-Karten oder die PIN sollen aber nur zum einmaligen Gebrauch vorgesehen sein. Das heißt, die Karten oder PIN’s sollen sich automatisch vom System löschen.
    Hat jemand eine Idee?
    Gruß, Mathias

    Antworten
    1. ST Beitragsautor

      Hallo Matthias,

      für die Nutzungsfreischaltung von Waschmaschine / Trockner könntest Du Dich an dem Beispiel der umgebauten Saeco Maschine orientieren:
      https://blog.thesen.eu/saeco-office-royal-mit-rfid-zugangskontrolle/

      In diesem Beispiel fehlt für Deinen Usecase, dass Du die RFIDs „entwerten“ möchtest. Dazu könntest Du die Datei an der entsprechenden Stelle mit XXXXXXX überschreiben. Wenn ein RFID erfolgreich erkannt und aus der Liste getilgt wurde, schaltest Du die Maschine für 2h frei. Die gebrauchten RFIDs kannst Du dann wieder einsammeln und irgendwann wieder auf der SD Karte eintragen.

      Gruss Stefan

      Antworten
      1. Mathias

        Danke Stefan für die schnelle Antwort.
        Sorry, dass ich so spät geschrieben habe. Ich bin (leider) nicht jeden Tag hier.
        Ich habe es mir so vorgestellt, dass ich eine .csv-Datei schreibe mit den ganzen rfid-Tags.
        Dann geht es in einem Aufwasch.
        So viele Tags werde ich nicht brauchen, weil ich nur 2 Mieter habe.
        danke, noch einmal.
        ich werde mich dann einlesen und testen………..
        Wenn es geklappt hat, melde ich mich selbstverständlich wieder 😉

        Antworten
        1. ST Beitragsautor

          Hallo Matthias,

          wenn Du nur zwei Mieter hast, dann gibt doch jedem einen Tag. Mit dem kann man die Maschine für 2h freischalten. Es wird ein Zähler für jeden Tag hochgezählt und der aktuelle Wert im EEProm abgelegt und in einem Display angezeigt.

          Gruss Stefan

          Antworten
  6. Stefan

    Ich sehe bei den Setup ein grundsätzliches Sicherheitsproblem. Mit etwas Zeit könnte jemand das Gerät zerlegen und relativ einfach den Sender dazu bringen ein „öffnen“ Signal zu senden – schon ist die Tür auf.
    Ein alternatives und sicheres Konzept: Zwei Arduinos mit Funkmodulen gekoppelt. Das Gerät außen nimmt die Eingaben an und sendet sie an das zweite Gerät, welches sich in der Wohnung befindet. Dieses verifiziert die Eingaben und löst – wenn korrekt – das Öffnen aus. Dadurch kann man draußen manipulieren wie man will, ohne korrekten Code geht’s nicht.

    Antworten
    1. ST Beitragsautor

      Hallo Stefan,

      das von Dir beschriebene Sicherheitsproblem existiert bei dem Original-Codeschloss, aber nicht bei der hier vorgeschlagenen Variante. Wie im Text steht, ist vor der Haustüre nur ein dummes Tastenfeld angebracht, welches den Code/die Tastendrücke über ein Kabel nach innen sendet. Dort ist der Arduino, der den Code auswertet. Ohne physikalischen Einbruch ins Haus kommt man nicht an den Arduino (siehe auch „das Grundprinzip“ in Teil 2).
      Dein Vorschlag ersetzt das Kabel zwischen Tastenfeld (außen) und Arduino (innen) durch eine Funkverbindung. Diese musst Du abhörsicher realisieren. Sonst ist das Knacken wirklich einfach. Technisch ist das prinzipiell z.B. mit einem public/private Key Verfahren machbar.
      Ich fand ein kleines Loch mit Kabel einfacher. In vielen Häusern liegt zwischen dem Klingeltaster außen und der Klingel ein mehrpoliges Kabel (meistens 4-6). In diesem Fall kann man den Arduino im Bereich er Klingel innen unterbringen und muss gar nicht bohren (siehe auch Schaltungsvarianten in Teil 6).

      Gruss Stefan

      Antworten
  7. Mathias

    hallo zusammen,
    nun steht mein nächstes Projekt an.
    dazu habe ich gleich mal eine Frage.
    Wenn der richtige Code eingegeben wurde, wie viel Spannung wird der PIN beim Arduino angelegt?
    Ich versuche gerade mit dem 8-kanal-Sender von EQ3 zu experimentieren. Aber irgendwie klappt das nicht.
    Mein laufendes Projekt:
    Es lief ganz gut. Aber beim Programmieren der RFID-Karten bzw der PIN’s verschwinden diese plötzlich.
    Wer hat das gleiche Problem bzw eine Lösung dazu?

    Gruß,
    Mathias

    Antworten
      1. Mathias

        Danke Stefan,
        dann kann ich das 8 Kanal-Sendemodul beruhigt einsetzen.
        Laut ELV muß mindestens eine Spannung von 2V anliegen.
        Die Geschichte mit dem Verlust der PIN’s/RFID teste ich noch mal.
        Gruß, Mathias

        Antworten
  8. Mathias

    Ich habe nun für die Wohnungstüre einen zweiten Wiegand-Controler drangehängt, mit dem ein einfacher RFID-Reader ausgelöst wird.
    Hintergrund:
    Ich habe nun auch einen internen Alarmkreis, für den Fall dass ich mal zuhause bin.
    Ein RFID-Tag baumelt da einfach in der Nähe des RFID-Readers so herum.
    Den brauche ich, um die Anlage SCHARF zu schalten.
    Zum unscharf schalten benutze ich wie für das Codeschloss ausserhalb der Wohnung den RFID-Tag an meinem Schlüsselbund.
    Gruß,
    Mathias
    P.S. zum testen meines Nextion-Displays für draussen bin ich leider noch nicht gekommen.

    Antworten
  9. Frederik

    Hallo.
    Ich habe nun alles so wie du beschrieben hast verlötet. Nun stellt sich mir allerdings die Frage wie es mit einem Raspberry funktionieren kann.
    Ich habe die FB wie folgt angeschlossen
    + -> 5V (Pin1)
    – -> Ground (Pin3)
    Open -> GPIO 23
    CLOSE -> GPIO 24
    Ein Script legt 23&24 als out fest und setzt den jeweiligen PIN auf High und dann wieder auf LOW.
    Wenn ich das Script ausführe passiert allerdings nichts.
    Wenn ich einen Open auf einen 3.3V pin lege schliesst das Schloss sofort. Wenn ich es umgekehrt mache also close auf 3.3V pin passiert nichts.
    Wie kann ich denn über den PI die Tür sowohl auf als auch abschliessen, hast du da einen Anhaltspunkt für mich?

    Viele Grüße Frederik

    Antworten
    1. ST Beitragsautor

      Hallo Frederik,
      ich muss raten. Lass uns die Probleme separieren:

      Problem 1: Es klappt nicht mit den Pi GPIOs. Hast Du evtl. mal geprüft (Voltmeter), ob die GPIOs korrekt schalten? – Das ist eigentlich das einzige was mir dazu einfällt. Der Stromverbrauch ist minimal – das sollten die Pi GPIOs locker packen.
      Problem 2: Close geht nicht. Du versorgst das Board mit 5V und steuerst mit 3.3V. Das ist an sich logisch, weil der Pi 3.3V auf den GPIOs hat. Hypothese: 3.3V langen als „high“ bei 5V Versorgnungsspannung nicht aus. Probiere mal den Sender mit 3.3V zu versorgen. Wenn das nicht klappt, nimm mal 5V und steuere dann auch mit 5V. Geht es dann? – Wenn nicht, prüfe mal die Lötverbindungen. Das ist ja alles recht eng. Die Durchführungen in der Platine bieten sich für eine Messung an.

      Good luck
      Stefan

      Antworten
      1. Frederik

        Hi Stefan,
        Danke für die Antwort. Habe alles durchgemessen und die Lötstellen erneuert. Keine Änderung! Der Handsender funktionierte vorher auch. Ich werde der Sache weiter auf den Grund gehen und berichten. Viele Grüße Frederik

        Antworten

Schreibe einen Kommentar

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