RFID/Keypad mit Zwave in FHEM?

Begonnen von A.Harrenberg, 02 Mai 2015, 19:32:48

Vorheriges Thema - Nächstes Thema

krikan

Original-DÜWI-Firmware hat ein paar "Unschönheiten". Status bspw. wird nur durch Polling. Weiteres mal Tante Google fragen, oder Rudi wegen der Fernbedieung. Darum würde ich Düwi nicht mehr bei PC-Ansteuerung empfehlen. ZWave.me hat Düwi laut eigener Homepage übernommen und die Probleme mit der Firmware ausgebügelt. Taphome wird wohl auch die neuere Firmware nutzen.

A.Harrenberg

Hi Krikan,

selbstverständlich habe ich eine DÜWI bestellt... War ja die billigste... ,-(

Wollte ja nur was einfaches haben um eine funktionierende Kommunikation zu sehen. Ich hoffe die Firmware ist nicht völlig unbrauchbar oder lässt sich vielleicht sogar updaten?
Wobei sich Status nur über pollen schon grausig anhört. Habe ja eigentlich extra einen Aktor mit Rückmeldung genommen (dachte ich...).

Gerade ein wenig gesucht, Firmware scheint es nicht zu geben, und auf der Webseite von Zwave.me wird auf Unterschiede hingewiesen:
Hint: This product was part of the  Z-Wave product line of the former German Brand Düwi acquired by Z-Wave.Me in March of 2014. The Z-Wave.Me version of the device may not be 100 % compatible with functions of the original Düwi product.
Tja, das nennt man dann wohl Lehrgeld ,-)

Vielleicht sollte ich dann die DÜWI zurückschicken und mir auch eine Taphome kaufen?

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Die Firmware ist "unschön". Keine Class ASSOCIATION, keine Explorer Frames, SDK 5.x, ...
Würde ich persönlich nicht einsetzen und gerade für einen Einstieg in Fhem-ZWave finde ich das "ungeschickt".
Ob der Taphome besser ist, weiß ich nicht definitiv und habe erst mal Zweifel.
=> DÜWI/Popp-Original-Produkte würde ich im Einsatz mit Fhem meiden.

rudolfkoenig

Ich gehe davon aus, dass bei diesen Schaltern um die Sparversion handelt: Laut einem FHEM-Benutzer werden in den USA die guenstigeren ZWave Geraete ohne die regelmaessige Meldung der Daten verkauft, weil auf dieses Merkmal jemand ein Patent haelt.

Bei der DÜWI Fernbedienung hat jemand das Geraet ohne an eine Zentrale zu denken entworfen.

Vielleicht hat(te) man bei DÜWI generell nicht die HA-Anwender mit Zentrale im Fokus.

A.Harrenberg

Hallo Krikan, hallo Rudolf,

die Bestellung der DÜWI konnte ich noch stornieren, hatte aber ersatzweise bereits die taphome bestellt. Nach den Kommentaren von Käufern ist das zumindest eine neuere Version die bereits die Leistungs-/Strommessung unterstützt. So wie ich das im Internet nachverfolgen konnte war Düwi zwischendurch auch mal von RevRitter übernommen bevor dann z-Wave.me dran war...

Werde mein "Glück" jetzt erst mal damit versuchen, und mal sehen was die Steckdose so alles meldet.

Allerdings ist der USB-Stick und das RFID/Keypad bisher noch nicht mal verschickt worden ,-( Das wäre ja der wichtigere Teil.

Was das Modul angeht, da ist schon etwas mehr Regex und "hash" drin als ich ohne weiteres nachvollziehen kann... Werde mir mal eine einfache Klasse raussuchen und das Schritt für Schritt nachvollziehen um das Prinzip zu verstehen. So ganz ohne Hardware ist das aber ganz schön abstrakt, so kann ich ja nicht einmal Debug-output in den Code einfügen da ich das Modul ja gar nicht in Betrieb nehmen kann.

Mir stellt sich allerdings die Frage wie man die Befehle für die Klasse "User Code" denn im Modul unterbringt. Die müssten ja quasi für jedes Gerät das diese Klasse unterstützt spezifisch sein. Das gleiche müsste ja für "Manufacturer Specific" gelten, werde mal schauen wie es da gelöst ist.

Hab' ja noch ein paar Tage bis die Hardware ankommt.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

det.

So sieht die Schaltscteckdose bei mir aus
LG
det.

A.Harrenberg

Hi det!

Welche Steckdose meinst Du denn jetzt, die tapHome oder die Düwi? Zumindest erkenne ich bei Dir die Klassen Meter, Powerlevel und Association, was ja schon mal dafür spricht das es nicht die alte Düwi ist.

Kannst Du mir noch verraten ob Du eine Statusmeldung in FHEM bekommst wenn Du die Steckdose manuell schaltest?

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

det.

hallo Andreas,
ich hatte den Link zum Produkt ( tapHome Homecontrol EasyPlug Schalt-Adapter) doch schon in Antwort 15 gepostet: http://www.amazon.de/gp/product/B00AKA5EYC
Die Statusmeldung beim manuellen Schalten kommt zuverlässig wenn Du die Dinger richtig wie im WIKI beschrieben einrichtest.
LG
det.

A.Harrenberg

Hi det,

ok, richtig, war irgendwie daneben.
Hört sich doch gut an, dann habe ich ja ein Device mit dem ich probieren kann.

Vielen Dank,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

#24
Hallo,

so, meine HW ist da... und schon geht es mit den Fragen los...
Aber erst mal kurz zum aktuellen Stand:

USB-Stick eingebunden und tapHome Steckdose ohne größere Probleme eingebunden, funktioniert.

Zipato Keypad/RFID eingebunden, wird von get ... model als "Schlage Link Mini Keypad RFID" erkannt.

Wie erwartet funktioniert der RFID Reader nicht, User_Code wird ja noch nicht unterstützt. Dummerweise ist der beiliegende RFID-Tag NICHT angelernt, sodaß ich die Rückmeldung über "Command_Calls_Alarm_V2" auch nicht probieren kann.

Hier mal ein Logausschnitt wenn ich einen unbekannten Tag an das Gerät halte:

2015.05.07 22:41:27 5: ZWDongle/RAW: /01
2015.05.07 22:41:27 5: ZWDongle/RAW: 01/14000400080e6303
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e6303/00
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300/00
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e63030000/8f
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300008f/e3
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300008fe3/7e
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300008fe37e/54
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300008fe37e54/2a
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300008fe37e542a/00
2015.05.07 22:41:27 5: ZWDongle/RAW: 0114000400080e630300008fe37e542a00/01040000e0
2015.05.07 22:41:27 4: ZWDongle_0: checksum= e0
2015.05.07 22:41:27 4: ZWDongle_0: data before substr 0114000400080e630300008fe37e542a0001040000e0
2015.05.07 22:41:27 4: ZWDongle_0: data after substr 
2015.05.07 22:41:27 5: SW: 06
2015.05.07 22:41:27 5: ZWDongle_Read ZWDongle_0: 000400080e630300008fe37e542a0001040000
2015.05.07 22:41:27 5: ZWDongle_0 dispatch 000400080e630300008fe37e542a0001040000
2015.05.07 22:41:27 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e630300008fe37e542a0001040000
2015.05.07 22:41:27 4: ZWave_ENTRY_CONTROL_8: Unknown message (USER_CODE 0e630300008fe37e542a0001040000)


Hier fällt mir auf das der data-string beim zusammenbauen mit einem "e0" aufhört (die extra Logzeile mit "data before substr" habe ich eingefügt), bei der Übergabe wird das im Code aber als checksumme wieder entfernt.

Ein Freund hat mir diesen Tag mal ausgelesen und da wird als Code für den Tag:
e37e542a000104e0 ausgegeben. Laut den Informationen die ich zu dem Reader gefunden habe, wird der Code des Tags 10-stellig übertragen, damit wäre das e0 dann Bestandteil des Tag-Codes und nicht die Checksumme. Allerdings stimmt die Berechnung der Checksumme...

Also mal erste Frage: wird JEDE Übertragung mit einer Checksumme beendet, oder wäre es möglich das ausgerechnet User_Code keine Checksumme sendet?

Edit: Hab die Messages mal mit Tastencodes erzeugt und es scheint so das "8f" auch noch zum Tag-Code gehört und dann das "e0" doch nur die Checksumme ist, da hat dann anscheinend was beim Auslesen des Tags bei meinem Freund nicht funktioniert... Das hat sich also "erledigt"

Zweite Frage wäre, wie ist der Aufbau von den Messages? Ich habe da bisher nicht wirklich viel dazu gefunden.
0114000400080e630300008fe37e542a0001040000e0
01 SOF start of frame
14 = dezimal 20 = Länge der Message
00040008 ???
0e ???
63 Command Class User Code
03 report command
00 User ID (laut Info zum Reader)
00 UserID Status (laut Info zum Reader)
8f ??
e3 7e 54 2a 00 01 04 00 00 e0 Tag-Code

Edit:
8f e3 7e 54 2a 00 01 04 00 00 Tag-Code
e0 Checksumme


Wo finde ich denn Informationen zu dem Teil nach der Message Länge?

Und wie kann ich eine RAW-Message an ein Device schicken um z.B. mal manuell den Befehl zum Anlernen zu verschicken?

Vielen Dank schon mal,
Andreas.


FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

#25
Zitat von: A.Harrenberg am 07 Mai 2015, 22:59:51
2015.05.07 22:41:27 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:08 ARG:0e630300008fe37e542a0001040000
Schau Dir nur das im ARG an.
0e=Message-Länge
Den Rest hast Du schon auseinandergepflückt.

Baue für das ARG mal die passende Zeile in ein parse an der (in einer meiner obigen Beiträge) gezeigten Stelle in USER_CODE ein.
Anschließend baust Du in set das Passende zum Senden ein; würde nicht mit raw (beim Dongle) arbeiten.
Dann ein notify auf das parse-Event mit einem set zum setzen des Wertes.

Hoffe Du kannst mit der Kurzfasung hier was anfangen, ansonsten morgen mehr.


rudolfkoenig

#26
Ich habe eine Version mit USER_CODE eingecheckt, die IDs fuer set/get/report habe ich geraten (da weder in zwapi, noch in openzwave gefunden), muss also nicht perfekt sein.

@Andreas:
- so lowlevel musst du nicht arbeiten, wir sind inzwischen weiter. interessant ist das, was du als CMD:APPLICATION_COMMAND_HANDLER gemeldet bekommst, da musst du den ARG in einer der parse Zeilen
im %zwave_class verarbeiten.
- Pointer auf Doku ist in fhemwiki Artikel (siehe krikans Beitrag) oder du suchst selbst nach SDS11060
- Checksum hat jede ZWave Nachricht, und wird vom Code entfernt bzw. vor dem Senden hinzugefuegt.

krikan

Rudi so schnell kann ich nicht mal tippen, wie Du den Code änderst ;).
IDs stehen hier drin: https://github.com/OpenZWave/open-zwave/blob/master/cpp/src/command_classes/UserCode.cpp

A.Harrenberg

Hallo Krikan,

Zitat von: krikan am 07 Mai 2015, 23:51:01
Schau Dir nur das im ARG an.
0e=Message-Länge
Den Rest hast Du schon auseinandergepflückt.

Ah, noch mal eine Länge...
Mir ist schon klar das ich den vorderen Teil nicht brauche, würde trotzdem gerne wissen/verstehen was da übertragen wird. Da müsste ja Sender/Empfänger, evtl. auch das Routing drin stecken.

Zitat von: krikan am 07 Mai 2015, 23:51:01
Baue für das ARG mal die passende Zeile in ein parse an der (in einer meiner obigen Beiträge) gezeigten Stelle in USER_CODE ein.
Anschließend baust Du in set das Passende zum Senden ein; würde nicht mit raw (beim Dongle) arbeiten.
Dann ein notify auf das parse-Event mit einem set zum setzen des Wertes.

Hoffe Du kannst mit der Kurzfasung hier was anfangen, ansonsten morgen mehr.

Yep, auf die Idee das einfach mal als einen "festen" set einzubauen bin ich gestern Nacht auch noch gekommen. Soweit ich Deinen Vorschlag verstehe geht das schon etwas weiter.
"Allgemeine" Set-Routine, Parsen, über Notify die benötigte Set-Message bauen und dann mit dem Set verschicken.

Werde ich mich mal dransetzen, allerdings kann ich da heute abend nicht dran arbeiten, muss dann bis zum WE warten.

Danke,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

krikan

Mach in 15 Minuten mal ein update von Fhem und starte Fhem neu. Rudi hat Dir die meiste Arbeit in 10_ZWave.pm schon abgenommen, Du musst nur noch testen, anpassen und berichten.