Z-Wave-ZIP WT-RFID Keypad

Aus FHEMWiki
Z-Wave-ZIP WT-RFID Keypad
todo
Allgemein
Protokoll Z-Wave
Typ Eingabe, Sender und Empfänger
Kategorie Z-Wave
Technische Details
Kommunikation Funk 868MHz
Kanäle
Betriebsspannung 3V
Leistungsaufnahme keine Herstellerangaben
Versorgung 2xAA 1,5V Batterien
Abmessungen 63x63x19mm
Sonstiges
Modulname Z-Wave
Hersteller zipato

Z-Wave-ZIP-WT-RFID.EU-Mini-Keypad-RFID ist ein Eingabeterminal mit Mini-Keypad und eingebautem RFID-Leser, welches dazu geeignet ist, ein Sicherheitssystem über Z-Wave Kommunikation ein-/ und auszuschalten.

Features / Funktionen

Die Haupteigenschaften von Z-Wave-ZIP-WT-RFID.EU-Mini-Keypad-RFID sind

  • Einlesen von RFID Tags (Protokolle: ISO15693, ISO18000-3, Tag-itTM, RFiD)
  • Eingabe von Tastencodes über Mini-Keypad (Zahlen 1-4, Enter)
  • Tasten für "Home" und "Away" zur Kennzeichnung ob Ein- oder Ausgeschaltet werden soll
  • Kontroll LED, Summer
  • Batteriebetrieb
  • Wandmontage (nur für Innenbereich geeignet, Kunststoffgehäuse nicht Vandalensicher)

Prinzipielle Funktionsweise:

Betätigen der Taste "Home" oder "Away", danach Eingabe eines 4-10 stelligen Codes und Bestätigung mit Enter ODER Einlesen eines RFiD-Tags.

Sollte der Code bzw. der RFID-Tag angenommen werden, so wird über die COMMAND_CLASS_ALARM_V2 eine "Lock" bzw. "Unlock" Nachricht verschickt, wodurch ein Sicherheitssystem ein- oder ausgeschaltet werden kann. Die Übertragung dieser Nachricht ist nicht gesondert gesichert oder verschlüsselt, die COMMAND_CLASS_SECURITY wird von dem Gerät nicht unterstützt.

Hinweise zum Betrieb mit Fhem

Allgemeine Informationen zum Betrieb mit FHEM

Das Gerät verwendet die folgenden Z-Wave Befehlsklassen (COMMAND_CLASS)

  • Class: 0x85 COMMAND_CLASS_ASSOCIATION
  • Class: 0x80 COMMAND_CLASS_BATTERY
  • Class: 0x84 COMMAND_CLASS_WAKE_UP
  • Class: 0x86 COMMAND_CLASS_VERSION
  • Class: 0x72 COMMAND_CLASS_MANUFACTURER_SPECIFIC_V2
  • Class: 0x71 COMMAND_CLASS_ALARM_V2
  • Class: 0x70 COMMAND_CLASS_CONFIGURATION
  • Class: 0x25 COMMAND_CLASS_SWITCH_BINARY
  • Class: 0x63 COMMAND_CLASS_USER_CODE

Diese Klassen werden aktuell (Stand 10.05.2015) von FHEM soweit unterstützt, wie es zum Betrieb des Gerätes nötig ist. Die Klasse 0x63 (COMMAND_CLASS_USER_CODE) wurde extra für dieses Gerät von Rudolf König implementiert.

Im folgenden wird das Gerät entweder als ZWave_ENTRY_CONTROL_<nodeID> oder allgemeiner als <device> bezeichnet, um es in den FHEM-Befehlen anzusprechen. Dargestellte Ausschnitte aus den Logfiles oder Konfigurationsdateien zeigen das Gerät als allerdings unter dem Namen "Zipato_EC".

Inklusion

Das Gerät wird bei der Inklusion und aktivierten autocreate vollautomatisch erkannt und als "ZWave_ENTRY_CONTROL_<nodeID>" in FHEM definiert. (Also z.B. als ZWave_ENTRY_CONTROL_8, falls das Gerät die nodeID 8 erhalten hat)

Assoziation

Die Gruppe 1 wird zwischen dem Gerät und dem Z-Wave-Controller (z.B. einem ZWave.me USB-Stick; hier mit NodeID 1) durch den folgenden Befehl erzeugt:

set <device> associationAdd 1 1

Konfiguration

XML-Dateien einbinden

Durch

get <device> model

wird die Definiton aus der externen XML-Datei mit weiteren Hilfetexten und Parametern in fhem eingefügt.

Nach aktuellem Stand (10.05.2015) der XML-Datei werden dabei die folgenden Informationen als Readings eingetragen:

  • model: Schlage Link Mini Keypad RFID
  • modelConfig: schlagelink/minikeypad.xml
  • modelId: 0097-6131-4501

Wakeup-Interval / "Always on" Modus / (Sabotage-Kontakt)

Das Gerät ist batteriebetrieben und schaltet sich nach Beendigung der Datenübertragung in einen Tiefschlafmodus, sobald vom Z-Wave-Controller keine weiteren Daten mehr vorliegen (wird vom Controller mit einer "WAKE_UP_NO_MORE_NOTIFICATION" mitgeteilt) um den Batterieverbrauch minimal zu halten.

Das Zeitinterval nach dem das Gerät automatisch wieder aufwacht und dem Controller die Chance gibt neue Befehle zu senden lässt sich mit

set <device> wakeupInterval <sekunden> 1

setzen. In diesem Fall würde die WAKE_UP_NOTIFICATION NUR an den Z-Wave-Controller (nodeID = 1) gehen. Soll die WAKE_UP_NOTIFICATION an alle Geräte gesendet werden, so kann für die nodeID 255 (Broadcast) angegeben werden. Default Wert für das Zeitinterval ist bei diesem Gerät 7200 Sekunden (2 Stunden).

Durch diesen Tiefschlafmodus ist es teilweise schwierig das Gerät einzurichten / neue Codes zu senden, da Befehle erst nach dem nächsten Aufwachen abgearbeitet werden.

Möglichkeiten zum umgehen der Einschränkungen durch den Tiefschlafmodus:

  • Zeitinterval auf z.B. 5 Sekunden heruntersetzen, hierdurch werden Befehle spätestens nach 5 Sekunden abgearbeitet. Nach Beendigung der Konfigurationsarbeiten sollte das Interval wieder hochgesetzt werden um die Batterien zu schonen.
  • "Always on" Mode setzen: In diesem Modus ist der Empfänger ständig an, allerdings funktioniert in diesem Modus die Eingabe von Codes bzw. das Einlesen von RFID-Tags am Gerät nicht! Daher müssten eventuell anzulernende RFID-Tags vorher ausgelesen werden. Der Modus wird durch eine "3" eingeschaltet und durch eine "1" wieder ausgeschaltet:
set <device> configTheMode 3
set <device> configTheMode 1
  • Nutzung des Sabotage-Kontaktes: Entfernt man das Gerät aus seiner Halterung, so wird ein Sabotage Kontakt ausgelöst, was mit einer Nachricht an den Controller gemeldet wird. Hierdurch wird auch eine "WAKE_UP_NOTIFICATION" erzeugt, innerhalb derer dann die aufgelaufenen und gespeicherten Befehle ausgeführt werden. Das kann man sich zu Nutze machen indem man das Gerät auf den Tisch legt (Sabotage Kontakt ist dann geschlossen) und kurz anhebt sobald man eine Datenübertragung benötigt.

Umgang mit Tastencodes / RFID-Tags

Das Gerät nutzt 4-10 stellige Tastencodes (aus den Zahlen 1-4) oder die in RFID-Chips gespeicherten Seriennummern zum Authentifizieren. Es können bis zu 255 solcher Codes (entweder Tastencode oder RFID-code) im Gerät gespeichert werden. Die Verwaltung dieser Codes wird über die COMMAND_CLASS_USER_CODE (0x63) durchgeführt.

Jedem Code ist ein "User Identifier" (UserID oder UID) sowie ein Status (User ID Status) zugeordnet. Die UserID kann von 1 bis 255 gewählt werden, 0 ist an dieser Stelle nicht gültig. Der Status ist entweder 0 (verfügbar/nicht aktiv) oder 1 (belegt/aktiv). Im Z-Wave Standard ist hier auch noch 2 "Reserved by administrator" vorgesehen, diese scheint bei dem Gerät aber nicht genutzt zu werden.

Codes werden intern IMMER 10 stellig abgelegt, sollte der Code kürzer sein, so wird mit 0x00 aufgefüllt. Dies gilt sowohl für Tastencodes, als auch für die RFID-Tags. Die Tastencodes werden als ASCII-Codes der Zahlen abgelegt, die Taste 1 wird als 0x31 eingetragen.

Im Auslieferungszustand des Gerätes ist kein Code aktiv, auch der mitgelieferte RFID-Tag ist nicht angelernt und kann daher nicht direkt zum schalten genutzt werden.

Die Befehle zum Umgang mit den Tastencodes / RFID-Tags nutzen wie schon beschrieben die COMMAND_CLASS_USER_CODE:

Auslesen einer UserID:

get <device> userCode <UserID>

Programmieren einer UserID:

set <device> userCode <UserID> <UserID-Status> 

<UserId>: 1-255, 0 ist nicht erlaubt

<UserID-Status>: 0 (verfügbar/nicht aktiv), 1 (belegt/aktiv), (2 reserviert für Administator)

Auslesen unbekannter RFID-Tags oder nicht angelernter Tastencodes

Wird ein unbekannter Tastencode oder ein unbekannter RFID-Tag am Gerät eingegeben, so sendet das Gerät einen Report mit:

  • UserID=0
  • UserID-Status=0
  • Code, 10 stellig

Bei unbekanntem Code wird keine Info gesendet ob "Home" oder "Away" gedruckt wurde. Der gemeldete Code wird in den Readings unter userCode angezeigt und kann dann zum Programmieren des Codes verwendet werden.

Aktion: Home gedrückt, dann (unbekannten) Tag #1 davorgehalten
Logfile: 2015.05.09 15:28:08 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e630300008fa4d1542a0001040000
Reading: userCode id 0 status 0 code 8fa4d1542a0001040000
Aktion: Away gedrückt, dann (unbekannten) Tag #1 davorgehalten
Logfile: 2015.05.09 15:29:37 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e630300008fa4d1542a0001040000
Reading: userCode id 0 status 0 code 8fa4d1542a0001040000
Aktion: Home gedrückt, Tastencode 1234 und Enter eingegeben
Logfile: 2015.05.09 15:32:25 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e6303000031323334000000000000
Reading: userCode id 0 status 0 code 31323334000000000000

Tasten werden als ASCII-Code übertragen.


Die Rückmeldung aus dem userCode Reading kann

Anlernen Tag #1: set Zipato_EC userCode 1 1 8fa4d1542a0001040000 Logfile: 2015.05.09 15:37:56 4: Sending stored command: 13080e630101018fa4d1542a00010400000508


Auslesen UserID 1: get Zipato_EC userCode 1 Logfile: 2015.05.09 15:39:40 4: Sending stored command: 1308036302010508 Logfile: 2015.05.09 15:39:40 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e630301018fa4d1542a0001040000 Reading: userCode id 1 status 1 code 8fa4d1542a0001040000

Auslesen UserID 2: get Zipato_EC userCode 2 Logfile: 2015.05.09 15:42:37 4: Sending stored command: 1308036302020508 Logfile: 2015.05.09 15:42:37 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e6303020031323334000000000000 Reading: userCode id 2 status 0 code 8fe37e542a0001040000

Tastencode 1234 auf UserID 2 anlernen: set Zipato_EC userCode 2 1 31323334000000000000 Logfile: 2015.05.09 15:46:12 4: Sending stored command: 13080e63010201313233340000000000000508

Auslesen UserID 2: get Zipato_EC userCode 2 Logfile: 2015.05.09 15:46:54 4: Sending stored command: 1308036302020508 Logfile: 2015.05.09 15:46:54 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e6303020131323334000000000000 Reading: userCode id 2 status 1 code 31323334000000000000

Tamper alarm ausgelöst: Logfile: 2015.05.09 15:48:29 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:09710500ff00ff070300 Reading: alarm HomeSecurity: Tampering, product covering removed, arg 00

Home + Tag #1: Logfile: 2015.05.09 15:49:02 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0a7105000000ff06060101 Reading: alarm AccessControl: Keypad Unlock Operation, arg 0101

Away + Tag #1: Logfile: 2015.05.09 15:50:55 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0a710500ff00ff06050101 Reading: alarm AccessControl: Keypad Lock Operation, arg 0101

Home + 1234 + Enter: Logfile: 2015.05.09 15:51:49 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0a7105000000ff06060102 Reading: alarm AccessControl: Keypad Unlock Operation, arg 0102


Wird am Gerät ein aktiver code per Tastatur oder RFID-Tag erkannt, so wird über einen Report der COMMAND_CLASS_ALARM_V2 ein "Lock" bzw. "Unlock" Befehle übermittelt

get jlklö

set kjl


Definition

Auszug aus der fhem.cfg mit der Definition des Gerätes:

define Zipato_EC ZWave e173b78d 8
attr Zipato_EC IODev ZWDongle_0
attr Zipato_EC classes ASSOCIATION BATTERY WAKE_UP VERSION MANUFACTURER_SPECIFIC ALARM CONFIGURATION SWITCH_BINARY USER_CODE
attr Zipato_EC room ZWave
attr Zipato_EC verbose 5
define FileLog_Zipato_EC FileLog ./log/Zipato_EC-%Y.log Zipato_EC
attr FileLog_Zipato_EC logtype text

Der Gerätename ist in diesem Beispiel Zipato_EC, der Loglevel steht zu Debug-Zwecken auf 5.

Logbeispiel

Falls es besondere Einschränkungen / Voraussetzungen, etc. gibt...

  1. ...
  2. ...

Bekannte Probleme

Keine (oder Liste der bekannten Probleme / Einschränkungen).

Weblinks

  • Erläuterung [/_weblink_ Linktitel]