Danalock und Zipato KeyPad – Alarm-Szene (4)

Nun endlich kommt der letzte Teil der Danalock und Zipato KeyPad Serie. Abschließen möchte ich das Thema mit einer vollständigen Alarmszene die neben dem Öffnen und Schließen des Danalock per KeyPad auch die Zutrittskontrolle übernimmt, den Status von Fenstern und Türen prüft, den Alarm scharf/unscharf schaltet und globale Variablen setzt.

Notwendige Vorbereitungen

Die Szene ist so programmiert, dass beim Auslösen des Away Befehls mit dem KeyPad alle Deine Sensoren mit Alarmfunktion scharf geschaltet werden, wenn diese nicht explizit aus dem Alarmsystem ausgeschlossen wurden. Ich habe beispielsweise einige Fibaro Fenstersensoren umfunktioniert und nutze den potenzialfreien Eingang dieser. Da der Kontakt ohne den Magneten dauerhaft offen ist, würde er laufend den Alarm auslösen. Weiterhin habe ich nach etlichen Fehlalarmen die Motion Sensoren exkludiert.

Um einen Sensor aus dem Alarmsystem auszuschließen musst Du in dessen Einstellungen den entsprechenden Haken setzen. Wie hier am Beispiel eines meiner Motion Sensoren gezeigt.

Sensoren aus Fibaro Alarmsystem entfernen

Weiterhin arbeitet die Szene mit den beiden globalen Variablen PresentState und AlarmStatus. Diese müssen, wenn sie noch nicht existieren, vorher angelegt werden. Siehe hier zu folgende Artikel: Basics zu globalen Variablen und Grundausstattung globale Variablen.

Konfiguration der Danalock und Zipato KeyPad Szene

Die Konfiguration der Szene für Danalock und Zipato KeyPad ist ein wenig aufwändiger als üblich, gerade die Möglichkeit der zeitlichen Einschränkung ist sorgfältig zu durchdenken um nicht selbst vor verschlossener Tür zu stehen.

Aufgeteilt ist die Konfiguration in die Gruppen Geräte, globale Variablen, Benachrichtigungen, Zutrittskontrolle und Alarm.

Geräte

Hier musst Du die IDs der zu bedienenden Geräte eintragen. Die Szene sieht die Konfiguration eines Danalock mit beliebig vielen KeyPads vor. Die Einschränkung auf ein Danalock habe ich gewählt um nicht unnötig Türen zu öffnen die beispielsweise am anderen Ende des Hauses sind.

 

-- Geräte
danalockID			= 355		 		-- ID des Danalocks
rfidIDs				= {361,366}			-- IDs des Zipato RFID Keypads

Globale Variablen

Durch die Szene werden die globalen Variablen PresentState und AlarmStatus gesetzt, bzw. verändert. Diese sind (siehe oben) vorher anzulegen und an dieser Stelle der gewählte Name einzutragen.

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

 

Benachrichtigungen

Die Steuerung der Benachrichtigungen bezieht sich auf die Prüfung der Fenster und Türen. Diese kannst Du ein- und ausschalten und die IDs der zu Endgeräte eintragen die benachtigt werden sollen, wenn beim scharf schalten des Alarms noch Fenster und/oder Türen geöffnet sind.

-- Benachrichtigungen
pushMessage			= true				-- Bei offenen Fenstern und Türen per Push benachrichtigen?
pushMessageIds		= {261}				-- Geräte die per Push benachrichtigt werden sollen

Zutrittskontrolle

ACHTUNG: Bitte sinnig und mit Vorsicht konfigurieren! Bei falschen Einstellungen kannst Du Dich selbst und andere ungewollt aussperren.

Die Zutrittskontrolle umfasst die Möglichkeiten RFID Tags und PINs zeitlich oder vollständig einzuschränken bzw. zu sperren. Für eine dauerhafte Sperrung einfach die ID des Tags/PINs in die Variable deniedKeys eintragen.

-- Zutrittskontrolle
deniedKeys			= {7,31}

Die zeitliche Einschränkung ist komplexer, da hier einiges berücksichtigt werden muss. Es handelt sich dabei um eine Allow-(Erlauben-)Steuerung. Solange der verwendete Tag/PIN nicht in der Variable timebasedKeys auftaucht, hat er 7×24 Zutritt. Führst Du in der Variabele einen Key auf, so ist dieser auf die angegebenen Zeiträume beschränkt.

Ein Beispiel:

timebasedKeys		= {{key="6",days="1,2,3",from="8:00",till="14:59"}}

Der Tag/PIN mit der ID 6 ist an den Tagen 1,2 und 3 (Sonntag (!), Montag und Dienstag) von 08:00 Uhr bis 14:59 Uhr berechtigt die Tür zu öffnen. In allen anderen Zeiträumen nicht.

Derzeit ist es nicht möglich mehrere Zeiträume für einen Key anzugeben. Wenn der Wunsch danach groß ist, kann ich es ggf. noch einbauen.

Download

Download “Danalock Zipate KeyPad - AlarmSzene” DanalockKeyPad_Full.zip – 50-mal heruntergeladen –

Feedback und Kommentare

Du hast noch Ideen zur Erweiterung oder anderes Feedback? Dann rein in die Kommentare oder ins Forum damit.

29 Comments
  1. Hallo Bastian,

    vielen Dank für den vierten Teil der Serie. Ich werde den Teil 4 versuchen bei mir ohne Danalock zu integrieren. Weil du fragtest wo ich nicht weiter kam. Ich hatte versucht die Scene so um zuschreiben, das mit Status Änderung des Keypads die Sensoren an den Fenstern scharf geschaltet/entschärft werden. Hat nicht geklappt. Habe aber im Teil 4 der Scene gesehen das du eine Abfrage integriert hast wo die Sensoren im Alarmpanel genommen werden. Den Befehl kannte ich bisher nicht. Wenn ich keine ID des Danalock nehme, funktioniert dann die Scene auch ohne dem Schloss ! Wenn ich ID einfach freilasse !??
    Ansonsten nochmal vielen Dank für die neue Scene.

    Grüße Guido

  2. Ich nochmal. Habe gerade die ersten Tests erfolgreich beendet. Super gutes Script was wirklich 1a funktioniert ! Habe die Danalock´s Befehle rausgenommen. Dann geht es ohne Danalock´s bzw. einfach eine willkürlich ID eintragen. Weisst du vielleicht auch wie man den Zustand des Keypad per Befehl auslesen kann ?

    Grüße

  3. Hallo Bastian,

    wie immer eine absolut ausgezeichnete Arbeit und nach wie vor sind wir alle sehr Froh, dass du deine Zeit und dein Wissen in solche Projekte investierst, um uns Alle damit zu bereichern.

    Meinen herzlichsten Dank dafür!
    Nur Menschen wie du, sind dafür verantwortlich, dass Projekte wie Z-Wave überhaupt so gut funktionieren.

    Liebe Grüße aus Österreich,
    Erik

    1. Hallo Erik,

      danke für die netten Worte.
      Ich trage gern meinen Teil zur Z-Wave Idee bei, aber am Ende ist es die gesamte Community die das Thema voran bringt.

      Grüße
      Bastian

  4. Hallo Bastian,
    vielen Dank für das grandiose Tutorial! Wieder mal klasse beschrieben und durchdacht.
    Beim Durchstöbern Deines Blogs bin ich zufällig auf ein etwas älteres Tutorial gestoßen in dem Du das KKmoon RFID KeyPad als Zugangskontrolle verwendest.
    Warum hast Du nicht dieses anstelle des Zipato KeyPads genommen? Den Vorteil, den ich bei dem KKmoon RFID KeyPad sehe, ist die permanente Stromversorgung. Oder ist das genau das Problem?

    Viele Grüße,
    Dirk

    1. Hallo Dirk,

      danke für die netten Worte.
      Ich habe das KKmoon KeyPad auch noch im Einsatz. Nachteil dieser Lösung ist, dass sie lediglich einen potenzialfreien Kontakt des Universalsonsors schließt und damit einen Trigger auslöst. Damit ist diese Lösung deutlich anfälliger für Manipulationen und mehr für den Innenraum als für den Einsatz vor der Tür konzipiert. Auch findet die Identifizierung von Benutzern ausschließlich innerhalb des KeyPads statt und Du weißt nicht, welcher User es gerade bedient hat. Ich überlege noch, welche der Lösungen am Ende im Einsatz bleibt.

      Grüße
      Bastian

  5. Hallo Bastian!
    Ein ganz großes Lob an dich!!! BRAVO!!! 🙂
    Funktioniert alles wie gewünscht! Wirklich klasse Arbeit!
    Ich habe nur eine (zwei) kleine Fragen…
    Kann man noch eine Pusch Nachricht bekommen wer grade mit dem Keypad die Tür aufgeschlossen/geschlossen hat?
    Das wäre genial, damit ich wissen kann ob die Kinder schon nach Hause gekommen sind 🙂
    …und eventuell noch eine Pusch Nachricht das jemand z.Bp. drei mal den falschen Code angegeen hat :O
    Besten Dank!
    Gruß,
    Gregor

    1. Hallo Gregor,

      das mit der Push-Nachricht beim Öffnen lässt sich recht einfach realisieren. Schau Dir mnal den Teil mit der Fensterprüfung an, daraus lässt sich eine solche Benachrichtigung erstellen. Wenn Du Hilfe brauchst, dann melde Dich gern.
      Bei der dreimaligen Falscheingabe sieht es schon anders aus, da Du den in einer globalen Variable zwischenspeichern müsstest.

      Grüße
      Bastian

      1. Danke für deine Hilfe 🙂
        Kann man die Scene irgendwie beschleunigen?
        Manchmal bis Danalock reagiert dauer das sogar 5-8 Sekunden :/
        Oder waran das liegen kann?
        Gruß
        Gregor

        1. Hallo Gregor,

          die Verzögerung liegt nicht an der Szene, der Z-Wave Empfang des Danalock ist manchmal einfach sehr träge. Hier habe ich auch noch keine passende Lösung gefunden.

          Grüße
          Bastian

  6. Hallo Bastian,

    vielen lieben Dank für das tolle Script und vor allem für die sehr ausführliche Anleitung.

    Das Script konnte ich ohne Probleme bei mir einbinden. Allerdings habe ich das Problem, dass sich beim Öffnen meines Danalock die Schlossfalle nicht automatisch mit aufzieht. Dadurch öffnet zwar das Schloss, nachdem ich mit dem RFID Chip erfolgreich den Zustand auf Home gesetzt habe, aber die Tür geht halt nich auf, weil die Schlossfalle nicht mit aufgezogen wurde. Hast Du eine Idee wo ich das einstellen kann? In der Danalock App habe ich das aktiviert und da läuft es läuft problemlos.

    Danke vorab für die Mühen und mach weiter so.

    Ganz großartige Seite mit tollen verständlichen Scripts.

    Grüße

    eccki

    1. Hallo Eccki,

      die Türfalle lässt sich leider nicht individuell ansteuern, dies geht nur über die App. Daher sollte die Konfiguration in der Danalock App eigentlich ausreichend sein.

      Beste Grüße
      Bastian

  7. Guten Morgen zusammen. @Gregor ich finde das super frech von dir, dass du das Skript von Bastian nimmst und es auf andere Seiten postest; aber vorher den Autor raus löscht. Wenn einer seine Freizeit opfert um uns dabei zu helfen unser Home smart zu machen, sollte man die Würdigung von ein paar kleinen Debugzeilen oder Beschreibungszeilen, wo die Autoren ihre Namen hinterlassen, nicht einfach raus löschen!Auch ein Skript ist geistiges Eigentum!!!

    1. Moin smg,

      danke für die Worte.
      Wie schon an anderer Stelle erwähnt, erwarte ich keine Huldigung für meine Arbeit, aber fairern Umgang mit dem geistigen Eigentum anderer sollte schon gegeben sein.
      Die Verbreitung der Lösung freut mich, denn das zeigt, dass ich mit der Lösung offenbar einigen Usern helfen konnte.

      Grüße
      Bastian

  8. Hi Bastian!
    Dank Dir und deiner Szene habe ich drei Monate Problemlos Danalock V3 und Zipato Keypad benuzt,,, Leider musste ich Zipato Keypad auf Popp Keypad wechseln (für Zipato war leider zu kalt 🙁 ) Ich suche verzweifelt genau solche Szene wie Deiner aber für die Kodes von Popp Keypad (Einige Kodes sollen die Scene aktivieren und andere deaktivieren) Kannst du mir vielleicht damit helfen?
    Vielen Dank und viele Grüße,
    Gregor

    1. Hallo Gregor,

      freut mich, dass die Szene Dir hilft.
      Wenn ich richtig informiert bin, dann ist das Popp KeyPad ein Szenen Controller. Startet also bei erfolgreicher Eingabe eines PINs eine Szene. Bei mehreren PINs gehen sogar unterschiedliche.
      Ich weiß aber nicht, ob das Popp KeyPad noch weitere Informationen sendet. Ohne so ein Gerät zu haben ist das immer schwer, aber wir können es ja mal versuchen. Am besten schreibst Du einen Beitrag im Forum mit Deiner aktuellen Szene, dann sehe ich schon mal IDs und kann mir ein Bild machen.
      Grüße
      Bastian

    2. UPDATE!
      Die Szene funktioniert fast TOP auch mit Popp Keypad… 🙂
      NUR jede Kodes öffnet/entschärft das Haus. Ich finde leider keine Möglichkeit die Kodes zu unterscheiden ( Kode 1 öffnet das Haus und Kode 2 schlisst/schaltet scharf das Haus) Wäre das irgendwie möglich… 🙂
      Gruß,
      Gregor

      1. Hallo Gregor,

        freut mich, dass es so überraschen doch klappt.
        Triggerst Du Deinen Szenen über das CentralSceneEvent? Dann kannst Du dort unterscheiden, welche ID (und damit welche PIN) was tun soll.

        Grüße
        Bastian

        1. Hallo Bastian,
          die Szene funktioniert bei mir nur mit dem Trigger „AccessControlEvent“ . Wenn ich den Trigger auf „CentralSceneEvent“ ändere die Szene zeigt Fehler 🙁
          Das wäre toll wenn die Scene wie du schreibst so funktionieren würde… :O Hast du eine Idee wie die Szene mit dem Trigger „CentralSceneEvent“ aussehen soll?
          Besten Dank für Deine Hilfe…! 🙂

          1. Hallo Gregor,

            läuft die Szene nicht so halbwegs, oder läuft sie gar nicht?
            gern helfe ich Dir, aber hier in den Kommentaren zum Artikel ist der falsche Ort dafür, das sollten wir im Forum weiter diskutieren.

            Grüße
            Bastian

  9. Hallo Bastian,
     
    vielen Dank für die Szene und die damit verbundene Arbeit. Ich habe hierzu eine Frage. Ich nutze aktuell nur ein Keypad inklusive Danalock, das Keypad ist innen montiert und somit muss ich das Danalock immer separat mit der App bedienen. Nun will ich mir ein zweites Keypad kaufen und am Carport (vor Wasser geschützt) anbringen (ich hoffe das funktioniert auch im Winter :)). Das zweite Keypad (außßen) soll dann mein Danalock schalten, das innenliegende wird somit Backup für die Alarmanlage und zum Schalten der Alarmanlage bei Nacht.
    Ich nutze aktuell ausschließlich dein Skript (Danalock und Zipato KeyPad – Alarm-Szene (4)) doch hier vermisse ich die Zuordnung von KeyPads zu Schlössern. Muss ich somit beide Szenen (Teil 3 und Teil 4) laufen lassen oder wie erfolgt die Umsetzung. Teile von Szene 3 sind in Teil 4 enthalten, kommen die beiden Szenen sich nicht in die Quere?
    Vielen Dank für deine Rückmeldung
    MfG Daniel
     
     
     
     
     

    1. Moin thebrain,

      schau mal in die Einleitung innerhalb der Szene. Dort sollte alles stehen, was Du benötigst:

      Konfiguration des individuellen Öffnens von Locks

      Die Szene ist so konzipiert, dass sie mehrere KeyPads bedienen kann, jedoch nur die dem
      KeyPad zugeordneten Schlösser öffnet. Dies ist insbesondere notwendig, wenn Danalocks so konfiguriert sind,
      dass sie die Türfalle mit öffnen. So wird verhindert, dass Türen ungewollt offen stehen.

      Um dies zu konfigurieren ist für jede Kombination KeyPad / zu öffnende Danalocks eine Zeile anzulegen.

      Beispiel:
      deviceIDs[361] = {355} -- Die 361 ist das KeyPad und 355 das Danalock
      Wird nun vom KeyPad 361 der Befehl "Home" gesendet, so öffnet die Szene das Schloss 355 und nur dieses.

      Beispiel2:
      deviceIDs[366] = {355,387} -- Die 361 ist das KeyPad und 355 und 287 sind Danalocks die beide geöffnet werden sollen.
      Wird nun vom KeyPad 361 der Befehl "Home" gesendet, so öffnet die Szene die Schlösser 355 UND 387.

      Beispiel3:
      deviceIDs[361] = {355}
      deviceIDs[366] = {}
      Hier sind es 2 KeyPads mit den IDs 361 und 366
      Wird vom KeyPad 361 "Home" gesendet, wird das Schloss 355 geöffnet. Wo hingegen derselbe Vorgang am KeyPad 366 kein Schloss öffnet.

      Beste Grüße
      Bastian

  10. Hallo Bastian,
     
    die Funktionsweise der einzelnen Szenen habe ich verstanden. Mein Problem ist nur, dass in „Teil 3“ Funktionen hinterlegt sind wie z.b. Zuweisung der KeyPads zum Schloss und in „Teil 4“ aber z.b. die Prüfung nach Fenster und Türen aber nicht die Zuweisung der KeyPads zum Schloss. Daher meine Frage, ob ich beide Szenen (Teil 3 und 4) parallel betreiben muss/ sollte um alle Funktionen zu nutzen? Aktuell nutze ich nur das Skript aus Teil 4.
    MfG Daniel

    1. Hi Daniel,

      ich stehe auf dem Schlauch. Was meinst Du mit Zuweisung der KeyPads zum Schloss was nicht in der Szene enthalten ist?

      Beste Grüße
      Bastian

  11. Hi Bastian,
     
    danke für deine schnellen antwortenJ. Die Reihe „Danalock und Zipato KeyPad“ besteht aus 4 Teilen:

    Einleitung (1)
    Installation (2)
    Basis-Szene (3)
    Alarm-Szene (4)

     
    Den Teil 4 (Alarm-Szene (4)) habe ich aktuell im Einsatz, Teil 3 (Basis-Szene) habe ich aktuell nicht im Einsatz. In Teil 4 kann ich das Danalock öffnen und schließen und es wird nach z.B. nach offenen Fenstern geprüft. In dieser Szene (Teil 4) kann ich aber nicht zwei KeyPads oder zwei Danalocks zuweisen, da die Funktion deviceIDs etc. fehlt. Diese Funktion ist aber in Teil 3 (Basis-Szene) enthalten. Um alle Funktionen nutzen zu können, muss ich den teil 3 als eigene Szene betreiben und Teil 4 als eigene Szene?
     
    P.s. Bitte entschuldige, ich kann über die Funktion Replay kein Text einfügen, daher immer wieder neu.
     
     

    1. Hi Daniel,

      jetzt hab ich es. 3 und 4 parallel verwenden ist keine gute Idee.
      Du könntest die Basis-Szene (3) nehmen und die zusätzlich gewünschten Funktionen (offene Fenster z.B.) in die userArmFunction() und/oder userDisarmFunction() ergänzen.

      Wenn Du noch Hilfe brauchst, dann eröffne bitte einen Thread im Forum mit Deiner vollständigen Szene. So ist es ein wenig Rätselraten.

      Beste 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 – Alarm-Szene (4)

von Bastian Lesezeit: 3 min