Z-Wave-ZIP WT-RFID Keypad: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 67: | Zeile 67: | ||
* modelId: 0097-6131-4501 | * modelId: 0097-6131-4501 | ||
==== Wakeup-Interval / "Always on" Modus / (Sabotage-Kontakt) ==== | ==== Wakeup-Interval / "Always on" Modus / (Sabotage-Kontakt) ==== | ||
Das Gerät ist | 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 | Das Zeitinterval nach dem das Gerät automatisch wieder aufwacht und dem Controller die Chance gibt neue Befehle zu senden lässt sich mit | ||
Zeile 78: | Zeile 78: | ||
Möglichkeiten zum umgehen der Einschränkungen durch den Tiefschlafmodus: | 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. | * 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 "3" eingeschaltet und durch "1" wieder ausgeschaltet: | * "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 3 | ||
set <device> configTheMode 1 | set <device> configTheMode 1 | ||
Zeile 90: | Zeile 90: | ||
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. | 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. | |||
Im Auslieferungszustand des Gerätes ist kein Code aktiv, auch der mitgelieferte RFID-Tag ist nicht angelernt und kann nicht direkt zum schalten genutzt werden. | |||
Wird ein unbekannter | 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> <code> | |||
<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=0 | ||
* UserID-Status=0 | * UserID-Status=0 | ||
* 10 | * 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. | |||
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 | |||
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 | |||
Home, Code 1234, Enter | |||
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 | |||
Version vom 11. Mai 2015, 07:05 Uhr
Z-Wave-ZIP WT-RFID Keypad | |
---|---|
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 Tastecodes (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.
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
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
Home, Code 1234, Enter
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...
- ...
- ...
Bekannte Probleme
Keine (oder Liste der bekannten Probleme / Einschränkungen).
Weblinks
- Erläuterung [/_weblink_ Linktitel]