Danalock und Zipato KeyPad – Basis-Szene (3)

Im ersten Teil der Artikelserie findest Du Informationen zum Danalock und Zipato KeyPad. Der zweite Teil befasst sich mit der Installation und den Besonderheiten bei der Konfiguration im Zusammenspiel mit dem Home Center 2. In diesem dritten Teil geht es nun endlich ans Eingemachte. Die versprochene Szene, also die tatsächliche Steuerung des Zutrittssystems Deines Smart Home.

Einleitung Alarmszene

Ziel der hier angebotenen Szene ist die vollständige und transparente Integration der Geräte-Kombination Danalock und Zipato KeyPad. Dabei liegt der Fokus nicht auf dem einfachen Öffnen und Schließen, sondern auf der alltagstauglichen Umsetzung und das Abfangen möglicher Sonderfällen, die gern vergessen werden.

Was bisher geschah

Bis zur Fibaro HC2 Firmware 4.091 (Beta) übernahm das Home Center die Autorisierung der am KeyPad genutzten Zutrittsmedien (PINs und Chips). Diese wurde von diversen Szenen gesteuert und war somit mehr oder weniger alltagstauglich.

Seit der Version 4.091 ist das KeyPad mit einem Template und neuen Funktionen ins HC2 integriert worden. Unter anderem wurde die eigentliche Autorisierung von der Szene in das KeyPad verschoben. Dies führte dazu, dass nahezu alle im Internet verfügbaren Lösungen nicht mehr nutzbar waren. Die dann gefolgten und mit „heißer Nadel“ gestrickte Versionen waren in Punkto Nutzbarkeit und Komfort merklich eingeschränkt. Es war eigentlich nur noch das Öffnen und Schließen von Danalocks möglich.

Vermeintliche Nachteile seit der Fibaro Integration

Diese Reduzierung auf diese Grundfunktion hat eklatante Nachteile in der Nutzung, so sind Dir damit einige Features und Informationen verloren gegangen. Darunter die folgenden:

  • Übermittlung der Daten des tatsächlich genutzten Mediums (Benutzer und Chip/PIN Informationen): Die Identifizierung der einzelnen RFID Tags oder PIN Codes war nicht mehr möglich.
  • Das erneute Setzen vom Home/Away Status war nicht mehr möglich, da ohne Veränderung des verwendeten Triggers keine Ausführung von Szenen möglich ist.

Das muss nicht sein

Mit viel Arbeit und noch mehr Analyse ist es gelungen, diese vermeintlichen Nachteile zu eliminieren und eine Szene zu erstellen die keine Wünsche offen lässt.

Es bedarf der richtigen Integration, den richtigen Triggern und der richtigen Szene um dies zu erreichen. Denn insbesondere bei Zutrittssystemen solltest Du darauf achten, dass diese sicher sind und auch Benutzer mit weniger Smart Home und Fibaro Affinität diese zuverlässig verwenden können. All das findest Du in dieser Szene. Aber der Reihe nach.

Danalock und Zipato KeyPad Szene

Basis Szene

In diesem Artikel findest Du eine Szene die sich auf die wesentlichen Funktionen zur Steuerung von Danalock und Zipato KeyPad beschränkt.

Was kann die Szene? Eine Featureliste:

  • Öffnen und Schließen des Danalocks mittels Autorisierung am Zipato KeyPad
  • Setzen von globalen Variablen – je nach gewählter Option (Home/Away) am KeyPad
  • Identifizierung des KeyPad Benutzers und des verwendeten Mediums (RFID Tag oder PIN Code)
  • Erneutes Setzen des Home/Away Status

Mehrere KeyPads und Danalocks

Der Einsatz unendlich vieler KeyPads und Danalocks in nur einer Szene wird ebenfalls unterstützt. Hat Dein Haus mehr als einen Eingang? Jetzt kannst Du das System mit nur einer Szene und unabhängig vom Status der installierten KeyPads steuern.

Sonderfall Türfalle

Das Danalock unterstützt nicht nur das aufschließen von Türen, es kann auch die Türfalle für eine definierte Zeit einziehen, also die Tür gleich vollständig öffnen und den Eintritt ermöglichen.

Um zu verhindern, dass Türen offen stehen, kannst Du in der Szene festlegen welche Schlössen bei der Bedienung jedes KeyPads geöffnet werden.

Setzt Du hingegen den Status „Away“ werden alle Türen verschlossen.

Konfiguration der Szene

Globale Variablen

In der Szene werden die globalen Variablen PresentState und AlarmStatus eingesetzt. In der Konfiguration kannst Du die Namen dieser festlegen.

-- Globale Variablen
gVarPresentState	= 'PresentState' 	-- Name der globalen Variable für den PresentState
gVarAlarmStatus		= 'AlarmStatus'		-- Name der globalen Variable für den AlarmStatus

Geräte Konfiguration

Die Konfiguration der Geräte wird über drei unterschiedliche Arrays definiert. Die Variablen rfidIDs und danalockIDs beinhalten alle im System vorhandenen Danalock und Zipato KeyPad Geräte.

rfidIDs				= {361}				-- ID(s) des/der Zipato RFID Keypads
danalockIDs			= {355}				-- ID(s) des/der Danalocks

Weiterhin ist die Variable bzw. das Array deviceIDs zu füllen. Hier legst Du fest, welche Schlösser durch welches KeyPad zu öffnen sind.

Zuordnung von KeyPads zu Schlössern

Die Zuordnung der Schlösser zu den KeyPads folgt dabei der folgenden Logik:
deviceIDs[ID des KeyPads] = {IDs der zu öffnenden Schlösser}

Beispiel 1 – Ein KeyPad und ein Schloss:

Mit dem KeyPad (ID 361) wird das Schloss (ID 355) geöffnet.

deviceIDs[361]		= {355}

Beispiel 2 – Ein KeyPad und zwei Schlösser:

Das KeyPad (ID 361) öffnet zwei Schlösser (ID 355 und 378)

deviceIDs[361]		= {355,378}

Beispiel 3 – Zwei KeyPads und ein Schloss

Mit einem KeyPad (ID 361) wird ein Schloss (ID 355) geöffnet, mit einem weiteren (ID 266) werden lediglich Variablen gesetzt und kein Schloss geöffnet.

deviceIDs[361]		= {355}
deviceIDs[366]		= {}

Beispiel 4 – Zwei KeyPads und zwei Schlösser

Das KeyPad (ID 361) öffnet ein Schloss (ID 355) und ein zweites KeyPad (ID 366) öffnet ein anderes Schloss (ID 378).

deviceIDs[361]		= {355}
deviceIDs[366]		= {378}

Es ist also für jedes KeyPad eine gesonderte Zeile anzulegen und die zu öffnenden Schlösser dort zu zuordnen.

Download der Szene

Download “Danalock und Zipato KeyPad - Basic” DanalockKeyPad_Basic-1.zip – 10-mal heruntergeladen – 2 KB

Changelog:

v.1.0.1 28.06.2018: 
- Fehler in den Beschreibungen korrigiert
- Funktion zur Verhinderung der manuellen Ausführung ergänzt

Vollständige Alarmszene

Die hier angebotene Szene beschränkt sich auf die Grundfunktionen. In den kommenden Tagen werde ich eine weitere Szene veröffentlichen mit den folgenden Funktionen veröffentlichen:

  • Zeitliches Beschränken einzelner RFID Tag und PIN Codes
  • Sperren von RFID Tags und PINs
  • Prüfung aller Fenster und Türen beim Einschalten des Alarms inkl. Benachrichtigung
  • Schärfen und Entschärfen der Alarmsensoren

Fragen und Feedback

Du hast noch Fragen, oder möchtest Feedback zur Szene loswerden? Dann nutze gern die Kommentarfunktion unter dem Artikel oder das Forum.

25 Comments
  1. kann man die manuelle Ausführung blockieren? Weil wenn man es tut fehlen natürlich Variablen…habe ich gerade bemerkt 😛 😀
    [DEBUG] 21:59:09: ——————————————————-
    [DEBUG] 21:59:09: Danalock / Zipato BASIC Szene 1.0 powered by mkshb.de
    [DEBUG] 21:59:09: ——————————————————-
    [DEBUG] 21:59:09: [1;31m2018-06-28 21:59:09.420305 [ fatal] Unknown exception: /opt/fibaro/scenes/50.lua:104: attempt to index field ‚event‘ (a nil value)

    ist glaube ich die Variable vom Besitzer des Keypads, welches bei manueller Ausführung ja keiner davor hält 😉

    1. Hi Sven,

      es ist das Event welches natürlich bei manueller Ausführung nicht gefüllt ist.
      Die Ausführung läuft über den Trigger. Aber danke für den Denkanstoß, ich habe das manuelle Ausführen in der Version 1.0.1 abgefangen.
      Der Download ist aktuell.

      Grüße
      Bastian

  2. Hallo Bastian,
    erst einmal möchte ich mich für die tollen Beiträge und Tutorials bedanken!

    Aber jetzt zu der Artikelserie „Danalock und Zipato KeyPad“.
    Das Thema „smartes Türschloss“ interessiert mich schon einige Jahre. Bislang war mir die Nutzung aber zu unsicher oder zu unkomfortabel. Einen wirklichen Mehrwert habe ich bislang nie erkennen können.
    Mit Deiner durchdachten Kombination mit dem Zipato KeyPad und den Sicherheit-Features sowie die (hoffentlich bald) erscheinende Alarmszene sehe ich das allerdings anders und werde mir überlegen, ob ich mir das Danalock kaufen werde.
    Eine Frage hätte ich allerdings noch zum Zipato KeyPad. Ich würde das KeyPad vermutlich im Treppenhaus innerhalb eines Zweifamilienhauses anbringen. Dort wäre es also prinzipiell vor Vandalismus, unbefugten Personen und Witterungseinflüssen geschützt.
    Wo und wie hast Du das KeyPad installiert? Es ist letztendlich ja nicht für den Außeneinsatz gedacht.

    Viele Grüße und mach bitte weiter so!
    Dirk

    1. Hallo Drik,

      danke für die netten Worte. Es freut mich immer besonders, wenn meine kleinen Lösungen gut ankommen und dazu kommentiert wird.
      Die Alarmszene ist in Arbeit. Ich hoffe sie spätestens am Wochenende veröffentlichen zu können.
      Meine KeyPads befinden sich – vor der Witterung geschützt – vor der Haus- und Kellertür. Die haben leider keine IP Schutzklasse und sind damit eigentlich nicht für den Einsatz im Freien geeignet. Ich bin selbst gespannt, wie sie sich im Winter verhalten. Insbesondere was den Energieverbrauch angeht.

      Bezüglich unbefugten Zugriff würde ich mir keine Sorgen machen, dafür ist es ja da, bzw. vor diesem zu schützen. Vandalismus ist leider kaum zu vermeiden, da hilft nur die liebe Hoffnung. 😉

      Grüße
      Bastian

      1. Das würde mich auch interessieren, ob die KeyPads den Winter überstehen.
        Das Popp Keypad (IP44) wäre eventuell eine Alternative, aber erstens ist es preislich 3 x teurer als das Zipato KeyPad und zweitens fehlt natürlich die komfortable RFID-Funktion. Ansonsten scheint es nichts Vergleichbares auf dem Markt zu geben, schade…

        1. Ich hatte das KeyPad geschützt vor der Tür im Wintereinsatz.
          Leider war es mehr als nicht verlässlich. Bei Minustemperaturen war scheinbar die Batteriespannung so niedrig, dass das Pad nicht mehr reagiert hat. Selbst eine neue Batterie half nur kurzfristig.

  3. Moin Bastian, hast du eine Idee, wie ich meine Keyfobs da mit einbinden kann? Schalte mit 3 Keyfobs nur die Alarmanlage aus und mit einem Keyfob auch den Türdrücker und mein Nuki-Türschloss 😀

    1. Hi Sven,

      welche KeyFobs meinst Du denn? Die KeyFob-C?
      Diese könntest Du zwar über CentralSceneEvents als Trigger einsetzen, aber der Rest der Szene passt dann nicht so richtig dazu.

      Grüße
      Bastian

  4. ich habe 2x den Devolo Keyfob 3x zwave.me 2x Fibaro und nutze CentralSceneEvent 4 um frei zu schalten und CentralSceneEvent 3 bzw. 5 (bei Devolo wird im HC2 die Taste3 als 5 angezeigt) um einzuschalten

    1. Hi Sven,

      wie gesagt, die Szene hat einen ganz anderen Ansatz, aber natürlich könntest Du die Szene mit Deinen KeyFobs triggern.
      Hat aber nicht viel mit der Lösung hier zu tun. Schreib mal bitte im Forum was Du vor hast und wie die Gegebenheiten sind.

      VG
      Bastian

      1. Moin Bastian…habe für meine Keyfobs jeweils eine eigene Scene, dann habe ich für meine Beiden RFIDs DanalockKeyPad_Basic-1.zip – 1.0.1 genommen…alle Scenen schreiben in eine Globale Variable wer, wo oder was öffnet/schließt…dazu habe ich noch eine Scene die am Ende nach deiner Globalen Variable „gVarAlarmStatus = ‚AlarmStatus'“ nutzt um den Alarm zu schalten…hab jetzt nur noch Empfangsprobleme mit einem RFID Teil in der Garage weil es über ein HCL als Slave nicht funktioniert hatte.
        Praktisch habe ich jetzt 4 Teile:
        1. Keyfobs und RFIDs als Trigger, welche dann andere Scenen triggern
        2. Alarmscenen, welche die Module enthalten, welche scharf/unscharf geschaltet werden.
        3. Zusatzscene, welche diverse Geräte ein und ausschalten (Beleuchtung, Echos/Alexas an Steckdosen, Außensteckdosen) usw.
        4. AlarmanzeigenVD…ein VD, welches für 30 Sekunden mehrere Rot/Grün PhilipsHUE, FibaroWallplugs oder selbstgebaute LED-Beleuchtung anzeigt, Push auf die Handys schickt mit den Infos was, wer, wo und den Zustand der Fenster im 2. Push.

        Bin damit jetzt schon sehr zufrieden…danke an dich!

        1. Moin Sven,

          Dank an Dich für die „Berichterstattung“!
          Klingt sehr gut was Du da im Betrieb hast!

          Grüße
          Bastian

  5. Hallo Bastian,
    Erst einmal vielen Fank das du so viele nützliche Sachen ausprobierst und veröffentlichst.

    Meine Frage ist ob mit dem Keypad auch eine anwesneheitskontrolle einrichten kann?

    Meine Situation: 3Personen im Haus wo jeder einen Chip besitzt. Nun möchte ich das beim Betreten einer Person der Haus Status anwesend wird und der Status dieser Person auch (habe mehrere Scenen die auf die Person zugeschnitten sind und nur ausgeführt werden sollen wenn diese Person da ist).
    Bei verlassen loggt sich jede Person aus am keypad und wenn der letzte geht soll der Anwesenheitsstatus des Haus auf abwesend gehen und die Alarmanlage an.

    Ist dies zu realisieren?

    Vielen Dank schon mal für deine Antwort

    1. Hallo Robert,

      grundsätzlich kannst Du natürlich mit dem KeyPad auch die Anwesenheit steuern. Dafür könntest Du beispielsweise für jeden Benutzer eine globale Variable anlegen die mit dem jeweiligen Chip gesetzt wird.
      Die Umsetzung gemeinsam mit einer Alarmszene ist dann schon wieder deutlich aufwändiger und würde hohe Disziplin bei den Benutzern erfordern.

      Grüße
      Bastian

  6. Hallo Bastian,
    das trifft sich gut, da ich gerade an der Planung meiner Schließanlage bin. Erst mal Danke für deine ausführliche und wie immer fundierte Aufarbeitung des Themas.

    Ein Danalock habe ich mir schon zugelegt, das funktioniert mit Bluetoth wie es soll. Nur mit z-wave hab ich Probleme, es erscheint die meiste Zeit als „dead note“. Verwenden die eigentlich noch einen 300er Chip? Vielleicht kann man die Antenne nach außen legen?

    Aber meine Frage an dich: Warum setzt du ein Keypad ein? Eigentlich kann ich doch alles mit dem Handy machen, dann brauch ich nicht noch einen Token mit rumschleppen, den ich auch noch verwalten muss. Ich hab das Danalock nicht mal so sehr um mir das rumdrehen eines Schlüssels zu ersparen, sondern um den Zustand meines Haustürschlosses zu erfragen, also „abgesperrt“, „zugezogen“ (nur Türfalle), „offen“ und daraus dann die Variablen zu bestücken. Auch um zu sehen wer ging wann, ist das Haus wirklich leer? Gut in Verbindung mit einer netzwerkfähigen Türsprechanlage will ich auch noch die Türe aus der Ferne öffnen können.
    Du hast dir da bestimmt Gedanken dazu gemacht.

    Gruß
    Gerhard

    1. Hallo Gerhard,

      natürlich kann man das Schloss auch mit dem Smartphone und BTE bedienen. Bei mir funktioniert dies aber nicht zuverlässig und ich wollte mich nicht auf meinen Handy-Akku verlassen.

      Die Variable mit den unterschiedlichen Zuständen der Tür lässt sich auch realisieren, aber ein zuverlässiger Indikator ist das in meinen Augen nicht. Das alleinige Öffnen und Schließen der Tür impliziert nicht sicher, dass auch jemand gekommen oder gegangen ist. Ebenso die Frage, ob wirklich niemand mehr anwesend ist.

      Zusammengefasst habe ich sehr viel Wert darauf gelegt, dass alle erdenklichen Situationen berücksichtig werden. Und das ohne Zutun der Bediener.

      Grüße
      Bastian

  7. Hallo Bastian,

    vielen Dank für deine sehr gute Erklärung und Einbindung der Zipato Keypad. Ich bin schon ein weile dran dieses in meine HC2 zu integrieren. Ich habe komplizierte Scenen benutze um die Key im Keypad zu integrieren. Da waren deine Lösungen wesentlich einfacher. Ich habe leider keine Danalock und würde gerne deine Scene so umschreiben das ich mit dem schalten das Keypad meine Tür und Fenstersensoren scharf schalte. Hab schon etwas probiert aber leider klappt es bei mir nicht ! Kannst du mir ein paar Tipps geben was ich ändern muss um die Sensoren anstatt dem Danalock zu schalten.

    Grüße und vielen Dank
    Guido

    1. Hallo Guido,

      es ist gerade noch ein vierter Teil der Serie in Arbeit. In diesem werde ich eine Alarmszene veröffentlichen die auch ohne Danalock funktionieren wird.

      Grüße
      Bastian

  8. Hallo Bastian,

    ich wollte mal fragen wie es aussieht mit dem vierten Teil der Serie. Ich komme gerade nicht weiter mit meinem Keypad. Ich würde mich freuen wenn der vierte Teil bald fertig ist.

    Grüße Guido

  9. Hallo Bastian,
    ich glaube schon, dass deine Szene gut funktioniert. Was ich mir aber nicht vorstellen kann ist, dass ausgerechnet dein Danlock mit z-wave gut zurecht kommt. Was ich in diversen Foren so lese und auch dein Kommentar zur Z-wave Funktionalität (Reichweite) des Danlocks sind eher ernüchternd.
    Funktioniert bei jemand das ansprechen des Danalock über zwave konstant und fehlerlos egal ob über Blockszene aus dem HC heraus oder über Lua Code?
    Gruß
    Gerhard

  10. Hallo Bastian,

    Prima Szene. Ich habe aber leider das Problem, dass der Trigger „AccessControlEvent“ bei mir nicht greift.
    Deshalb startet die Szene nicht. Die User sind im HC2 und erfolgreich zum Keypad synchronisiert.
    Wenn ich den Trigger „value“ nehme dann startet die Szene, dann habe ich aber ein anderes Problem.

    Ich habe ein wenig mit deiner Funktion getUserData() experimentiert, da ich die User Daten auslesen möchte und wissen möchte welcher User das Keypad aktiviert oder deaktiviert hat. Leider hat trigger.event.data[„name“] etc. keinen Inhalt. Ich vermute das liegt am AccessControlEvent Trigger.
    Hast Du eine Idee was das sein kann bzw. warum der Trigger bei mir nicht greift? Ich nutze mehrere RFID Tokens mit dem gleichen Ergebnis

    Grüße,
    Oliver

    1. Hallo Oliver,

      das eine hängt mit dem anderen zusammen. Wenn AccessControlEvent nicht ausgelöst wird, dann werden auch keine Daten übertragen.
      Value ist für das KeyPad kein geeigneter Trigger, denn dieser wird nur beim ändern des Status (armed/unarmed) ausgelöst.

      Versuche mal das KeyPad erneut anzulernen. Da scheint etwas schief gelaufen zu sein.

      Grüße
      Bastian

Schreibe einen Kommentar

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

Ich akzeptiere

Danalock und Zipato KeyPad – Basis-Szene (3)

von Bastian Lesezeit: 4 min