ZME_KFOB_S / ZME_KFOB2

Begonnen von rudolfkoenig, 13 Mai 2015, 00:04:41

Vorheriges Thema - Nächstes Thema

krikan

Zitat von: rudolfkoenig am 25 Mai 2015, 12:02:17
Das FHEM Modul vergibt z.Zt. das Geraete-NodeID als Callback-Id, ausgewertet wird es aber nicht. Im IODev (ZWDongle) gibt es auch einen CallbackNr, der wird aber nur fuer die ZWDongle Funktionen verwendet. Um den CallbackNr sinnvoll zu verwenden, musste man Threads (oder sowas aehnliches) mit Suspend/Terminate/etc implementieren, und das ist mir im Moment noch zuviel.
Funktional sehe ich derzeit keine Einschränkungen. Es gehen nach meinem Verständnis doch nur die Angaben zu fehlenden Antworten im Modul verloren=Statistik. Das ist unwichtig. Bei den Explorer Frames war mir das Thema nur aufgefallen, da die Logs bei verbose 5 momentan teilweise "komisch" sind; Funktional auch bei Explorer Frames kein Problem. Ich habe versucht das Log-Thema zu lösen, bin aber nicht weiter. Vielleicht sollte ich mal mit einer aktuellen 10_ZWave.pm aus dem svn neu anfangen und das "Problem" löst sich von alleine, da ich mich verbastelt habe...

@Andreas: So sieht eine Inklusion des KFOB-S in Fhem aus:
2015.05.23 14:18:07 5: SW: 0105004a810233
2015.05.23 14:18:08 5: ZWDongle/RAW: /060107004a02010000b1
2015.05.23 14:18:08 5: SW: 06
2015.05.23 14:18:08 5: ZWDongle_Read ZWDongle_0: 004a02010000
2015.05.23 14:18:08 5: ZWDongle_0 dispatch 004a02010000
2015.05.23 14:18:08 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:01 ARG:0000
2015.05.23 14:18:08 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK learnReady
2015.05.23 14:18:18 5: ZWDongle/RAW: /0107004a02020000b2
2015.05.23 14:18:18 5: SW: 06
2015.05.23 14:18:18 5: ZWDongle_Read ZWDongle_0: 004a02020000
2015.05.23 14:18:18 5: ZWDongle_0 dispatch 004a02020000
2015.05.23 14:18:18 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:02 ARG:0000
2015.05.23 14:18:18 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK nodeFound
2015.05.23 14:18:21 5: ZWDongle/RAW: /0107004a02070700b0
2015.05.23 14:18:21 5: SW: 06
2015.05.23 14:18:21 5: ZWDongle_Read ZWDongle_0: 004a02070700
2015.05.23 14:18:21 5: ZWDongle_0 dispatch 004a02070700
2015.05.23 14:18:21 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:07 ARG:0700
2015.05.23 14:18:21 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK failed
2015.05.23 14:19:11 5: SW: 0105004a0503b6
2015.05.23 14:19:11 5: ZWDongle/RAW: /060107004a03060700b0
2015.05.23 14:19:11 5: SW: 06
2015.05.23 14:19:11 5: ZWDongle_Read ZWDongle_0: 004a03060700
2015.05.23 14:19:11 5: ZWDongle_0 dispatch 004a03060700
2015.05.23 14:19:11 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:06 ARG:0700
2015.05.23 14:19:11 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK done
2015.05.23 14:19:12 5: ZWDongle/RAW: /0107004a03060700b0
2015.05.23 14:19:12 5: SW: 06
2015.05.23 14:19:12 5: ZWDongle_Read ZWDongle_0: 004a03060700
2015.05.23 14:19:12 5: ZWDongle_0 dispatch 004a03060700
2015.05.23 14:19:12 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:06 ARG:0700
2015.05.23 14:19:12 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK done
2015.05.23 14:19:30 5: SW: 0105004a810435
2015.05.23 14:19:31 5: ZWDongle/RAW: /060107004a04010000b7
2015.05.23 14:19:31 5: SW: 06
2015.05.23 14:19:31 5: ZWDongle_Read ZWDongle_0: 004a04010000
2015.05.23 14:19:31 5: ZWDongle_0 dispatch 004a04010000
2015.05.23 14:19:31 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:01 ARG:0000
2015.05.23 14:19:31 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK learnReady
2015.05.23 14:19:42 5: SW: 0105004a0505b0
2015.05.23 14:19:43 5: ZWDongle/RAW: /060107004a05060700b6
2015.05.23 14:19:43 5: SW: 06
2015.05.23 14:19:43 5: ZWDongle_Read ZWDongle_0: 004a05060700
2015.05.23 14:19:43 5: ZWDongle_0 dispatch 004a05060700
2015.05.23 14:19:43 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:06 ARG:0700
2015.05.23 14:19:43 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK done
2015.05.23 14:20:01 5: SW: 0105004a810637
2015.05.23 14:20:01 5: ZWDongle/RAW: /060107004a06010000b5
2015.05.23 14:20:01 5: SW: 06
2015.05.23 14:20:01 5: ZWDongle_Read ZWDongle_0: 004a06010000
2015.05.23 14:20:01 5: ZWDongle_0 dispatch 004a06010000
2015.05.23 14:20:01 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:01 ARG:0000
2015.05.23 14:20:02 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK learnReady
2015.05.23 14:20:07 5: ZWDongle/RAW: /0107004a06020000b6
2015.05.23 14:20:07 5: SW: 06
2015.05.23 14:20:07 5: ZWDongle_Read ZWDongle_0: 004a06020000
2015.05.23 14:20:07 5: ZWDongle_0 dispatch 004a06020000
2015.05.23 14:20:07 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:02 ARG:0000
2015.05.23 14:20:08 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK nodeFound
2015.05.23 14:20:08 5: ZWDongle/RAW: /011e004a06030a170412025e8f7398867270852d8e80845a595bef205b2627f6
2015.05.23 14:20:08 5: SW: 06
2015.05.23 14:20:08 5: ZWDongle_Read ZWDongle_0: 004a06030a170412025e8f7398867270852d8e80845a595bef205b2627
2015.05.23 14:20:08 5: ZWDongle_0 dispatch 004a06030a170412025e8f7398867270852d8e80845a595bef205b2627
2015.05.23 14:20:08 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:03 ARG:0a170412025e8f7398867270852d8e80845a595bef205b2627
2015.05.23 14:20:08 2: autocreate: define ZWave_SWITCH_REMOTE_10 ZWave e345c452 10 5e8f7398867270852d8e80845a595bef205b2627
2015.05.23 14:20:08 2: autocreate: define FileLog_ZWave_SWITCH_REMOTE_10 FileLog ./log/ZWave_SWITCH_REMOTE_10-%Y.log ZWave_SWITCH_REMOTE_10
2015.05.23 14:20:09 2: ZWave set ZWave_SWITCH_REMOTE_10 associationAdd
2015.05.23 14:20:09 5: SW: 010a00130a04850101010569
2015.05.23 14:20:10 5: ZWDongle/RAW: /0107004a06050a00bb180107004a06050a00bb
2015.05.23 14:20:10 5: SW: 06
2015.05.23 14:20:10 5: ZWDongle_Read ZWDongle_0: 004a06050a00
2015.05.23 14:20:10 5: ZWDongle_0 dispatch 004a06050a00
2015.05.23 14:20:10 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:05 ARG:0a00
2015.05.23 14:20:10 4: ZWDongle_0 unhandled command ZW_ADD_NODE_TO_NETWORK
2015.05.23 14:20:10 4: ZWDongle_0: CANCEL received, retransmitting.
2015.05.23 14:20:10 5: SW: 010a00130a04850101010569
2015.05.23 14:20:10 5: SW: 06
2015.05.23 14:20:10 5: ZWDongle_Read ZWDongle_0: 004a06050a00
2015.05.23 14:20:10 5: ZWDongle_0 dispatch 004a06050a00
2015.05.23 14:20:10 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:05 ARG:0a00
2015.05.23 14:20:10 4: ZWDongle_0 unhandled command ZW_ADD_NODE_TO_NETWORK
2015.05.23 14:20:10 5: ZWDongle/RAW: /060104011301e8
2015.05.23 14:20:10 5: SW: 06
2015.05.23 14:20:10 5: ZWDongle_Read ZWDongle_0: 011301
2015.05.23 14:20:10 5: ZWDongle_0 dispatch 011301
2015.05.23 14:20:10 2: ZWave get ZWave_SWITCH_REMOTE_10 model
2015.05.23 14:20:10 1: ZWAVE INIT: get ZWave_SWITCH_REMOTE_10 model: Scheduled for sending after WAKEUP
2015.05.23 14:21:13 5: SW: 0105004a0507b2
2015.05.23 14:21:14 5: ZWDongle/RAW: /060107004a07060a00b9
2015.05.23 14:21:14 5: SW: 06

krikan

Zitat von: A.Harrenberg am 25 Mai 2015, 12:49:43
wollte nur mal mitteilen das ich mir jetzt gerade so eine Sirene und einen weiteren USB-Stick bestellt habe...
Dürfte einfacher sein mit Hardware zum spielen und wenn man selbst ein paar Logeinträge zum debuggen setzen kann. Mit meinem RFID-Keypad zu spielen macht auch keinen "Spass", das ist ja auch Batteriebetrieben und hängt im Flur...
Schön, ein Angesteckter  ;)

ZitatDas geht dann ja bei ZWave nicht, hier müsste man alle Geräte ablernen und neu einbinden, oder?
Grundsätzlich leider ja. Außer Du hast UZB1 mit zway, der kann Backup/Restore.

A.Harrenberg

Hi Krikan,

Zitat von: krikan am 25 Mai 2015, 13:18:53
@Andreas: So sieht eine Inklusion des KFOB-S in Fhem aus:

Danke, werde ich mir aber wahrscheinlich erst heute abend oder sogar morgen abend ansehen können.

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

rudolfkoenig

Hab in ZWDongle random, timeouts und setNIF implementiert, und das wird bei jedem define (genauergesagt im ZWave_DoInit) auch ausgefuehrt. Wenn ich jetzt das KFOB inkludiere, dann kriege ich die SECURITY Klasse angezeigt.
Die Parameter habe ich von openzwave kopiert, wirklich verstanden habe ich sie nicht.

A.Harrenberg

Hi Rudi,
Zitat von: rudolfkoenig am 25 Mai 2015, 15:44:05
Hab in ZWDongle random, timeouts und setNIF implementiert, und das wird bei jedem define (genauergesagt im ZWave_DoInit) auch ausgefuehrt. Wenn ich jetzt das KFOB inkludiere, dann kriege ich die SECURITY Klasse angezeigt.
Die Parameter habe ich von openzwave kopiert, wirklich verstanden habe ich sie nicht.
seh' schon, Du hast das wieder fertig implementiert bevor ich angefangen habe das zu verstehen ,-)

Hast Du evtl. mal probiert ob Security auch angezeigt wird wenn Du random und/oder timeout weglässt?

Wenn ich per SVN synchroniseren, kriege ich dann eigentlich die Änderungen sofort mit? Oder hast Du die noch nicht eingecheckt?

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

krikan

Danke Rudi. Habe jetzt auch SECURITY beim KFOB-S.
setNIF setzt jetzt den NIF des Controllers und man bekommt dann SECURITY von den Geräten gemeldet?
Steht vielleicht im  Zusammenhang mit KFOB-S Anleitung: This device support secure communication when included by a controller that also supports secure communication.

ZitatWenn ich per SVN synchroniseren
Ja

ZitatHast Du evtl. mal probiert ob Security auch angezeigt wird wenn Du random und/oder timeout weglässt?
Ohne Random geht es bei mir auch; timeout nicht probiert.

krikan

Meldet auch ohne Timeout und Random nur mit setNIF die CC SECURITY. Aber es schadet so nicht. Vielleicht ist das später wichtig. Oder Rudi hat schon mehr Infos..
Timeout bei zway ist:
SENDING: ( 01 05 00 06 0A 0A FC )
RECEIVED ACK
RECEIVED: ( 01 05 01 06 96 0F 64 )
SENT ACK
Job 0x06 (Set Serial API timeouts): Old timeouts are: ACK timeout 1500 ms and Byte timeout 150 ms
SETDATA controller.data.oldSerialAPIAckTimeout10ms = 150 (0x00000096)
SETDATA controller.data.oldSerialAPIByteTimeout10ms = 15 (0x0000000f)
SETDATA controller.data.curSerialAPIAckTimeout10ms = 10 (0x0000000a)
SETDATA controller.data.curSerialAPIByteTimeout10ms = 10 (0x0000000a)



A.Harrenberg

Hi,

hab' mir mal die Inclusion mit OpenZWave und mit dem (alten) fhem angesehen,

OpenZwave                                  fhem
0x01,                                      1
0x20, Node + Länge                         1e = 30
0x00,                                      0
0x4a, ZW_ADD_NODE_TO_NETWORK               4a add node
0x0c,                                      6
0x03, Capability -> not listening          03 Cap
0x02, Security -> no opt. func.            0a Sec
0x19, Reserved                             17 Res
0x04, Basic BASIC_TYPE_ROUTING_SLAVE       04 Basic BASIC_TYPE_ROUTING_SLAVE
0x12, Generic Remote Switch                12 Generic Remote Switch
0x02, Specific Multilevel Remote Switch    02 Specific Multilevel Remote Switch
Command Classes ab hier:                   
0x5e, ZWAVEPLUS_INFO                       5e ZWAVEPLUS_INFO
0x8f, Multi_CMD                            8f MULTI_CMD
0x73, PowerLevel                           73 POWERLEVEL
0x98, Security                             98 SECURITY
0x86, Version                              86 VERSION
0x72, Manufacture_Specific                 72 MANUFACTURER_SPECIFIC
0x70, Configuration                        70 CONFIGURATION
0x85, Association                          85 ASSOCIATION
0x2d, SCENE_CONTROLLER_CONF                2d SCENE_CONTROLLER_CONF
0x8e, MULTI_CHANNEL_ASSOCIATION            8e MULTI_CHANNEL_ASSOCIATION
0x80, BATTERY                              80 BATTERY
0x84, WAKE_UP                              84 WAKE_UP
0x5a, DEVICE_RESET_LOCALLY                 5a DEVICE_RESET_LOCALLY
0x59, ASSOCIATION_GRP_INFO                 59 ASSOCIATION_GRP_INFO
0x5b, CENTRAL_SCENE                        5b CENTRAL_SCENE
0xef, MARK                                 ef MARK
0x20, BASIC                                20 BASIC
0x5b, CENTRAL_SCENE                        5b CENTRAL_SCENE
0x26, SWITCH_MULTILEVEL                    26 SWITCH_MULTILEVEL
0x27, SWITCH_ALL                           27 SWITCH_ALL
0x2b, SCENE_ACTIVATION                     f6 Checksum
0x60, MULTI_INSTANCE                       
0x8f  Multi_CMD                           

in beiden Fällen wird SECURITY gemeldet, aber insgesamt gibt es da doch einige Unterschiede die ich nicht erklären kann.

Das Byte nach der 4a ist unterschiedlich, ich bin nicht mal sicher ob die 4a an der Stelle wirklich "add node" bedeutet.

Interessant ist (vielleicht) der Unterschied in Byte 2 vom NIF: Unter OpenZWave wird 02, unter fhem 0a gemeldet. Auch der Wert des folgenden Bytes ist unterschiedlich, hier ist in der Doku aber gar nichts angegeben ausser "protocol specific".
Interessant ist aber auch das unter OpenZWave drei Klassen mehr als controlled gemeldet werden: SCENE_ACTIVATION, MULTI_INSTANCE und MULTI_CMD.

Wirft glaube ich mehr Fragen auf als es Antworten gibt...

@Krikan, kannst Du vielleicht noch mal die Inklusion mit der neuen Version aus Deinem Logfile rausschnippeln?

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

krikan

Wenn es gleich ist, frage ich mich, wie sich SECURITY voher verstecken konnte.
Hier Inklusion mit den heutigen Modulversionen:
2015.05.25 18:13:15 5: SW: 0105004ac10170
2015.05.25 18:13:15 5: ZWDongle RAW buffer: 060107004a01010000b2
2015.05.25 18:13:15 5: SW: 06
2015.05.25 18:13:15 5: ZWDongle_Read ZWDongle_0: 004a01010000
2015.05.25 18:13:15 5: ZWDongle_0 dispatch 004a01010000
2015.05.25 18:13:15 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:01 ARG:0000
2015.05.25 18:13:16 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK learnReady
2015.05.25 18:13:31 5: ZWDongle RAW buffer: 0110000410040a32022144000000080000a8
2015.05.25 18:13:31 5: SW: 06
2015.05.25 18:13:31 5: ZWDongle_Read ZWDongle_0: 000410040a32022144000000080000
2015.05.25 18:13:31 5: ZWDongle_0 dispatch 000410040a32022144000000080000
2015.05.25 18:13:31 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:04 ARG:0a32022144000000080000
2015.05.25 18:13:35 5: ZWDongle RAW buffer: 0107004a01020000b1
2015.05.25 18:13:35 5: SW: 06
2015.05.25 18:13:35 5: ZWDongle_Read ZWDongle_0: 004a01020000
2015.05.25 18:13:35 5: ZWDongle_0 dispatch 004a01020000
2015.05.25 18:13:35 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:02 ARG:0000
2015.05.25 18:13:36 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK nodeFound
2015.05.25 18:13:36 5: ZWDongle RAW buffer: 011e004a01030b170412025e8f7398867270852d8e80845a595bef205b2627f0
2015.05.25 18:13:36 5: SW: 06
2015.05.25 18:13:36 5: ZWDongle_Read ZWDongle_0: 004a01030b170412025e8f7398867270852d8e80845a595bef205b2627
2015.05.25 18:13:36 5: ZWDongle_0 dispatch 004a01030b170412025e8f7398867270852d8e80845a595bef205b2627
2015.05.25 18:13:36 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:03 ARG:0b170412025e8f7398867270852d8e80845a595bef205b2627
2015.05.25 18:13:36 2: autocreate: define ZWave_SWITCH_REMOTE_11 ZWave e345c452 11 5e8f7398867270852d8e80845a595bef205b2627
2015.05.25 18:13:36 2: autocreate: define FileLog_ZWave_SWITCH_REMOTE_11 FileLog ./log/ZWave_SWITCH_REMOTE_11-%Y.log ZWave_SWITCH_REMOTE_11
2015.05.25 18:13:37 2: ZWave set ZWave_SWITCH_REMOTE_11 associationAdd
2015.05.25 18:13:37 5: SW: 010a00130b04850101010568
2015.05.25 18:13:38 5: ZWDongle RAW buffer: 0107004a01050b00bd0107004a01050b00bd18
2015.05.25 18:13:38 5: SW: 06
2015.05.25 18:13:38 5: ZWDongle_Read ZWDongle_0: 004a01050b00
2015.05.25 18:13:38 5: ZWDongle_0 dispatch 004a01050b00
2015.05.25 18:13:38 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:05 ARG:0b00
2015.05.25 18:13:38 4: ZWDongle_0 unhandled command ZW_ADD_NODE_TO_NETWORK
2015.05.25 18:13:38 5: SW: 06
2015.05.25 18:13:38 5: ZWDongle_Read ZWDongle_0: 004a01050b00
2015.05.25 18:13:38 5: ZWDongle_0 dispatch 004a01050b00
2015.05.25 18:13:38 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:05 ARG:0b00
2015.05.25 18:13:38 4: ZWDongle_0 unhandled command ZW_ADD_NODE_TO_NETWORK
2015.05.25 18:13:38 4: ZWDongle_0: CANCEL received, retransmitting.
2015.05.25 18:13:38 5: SW: 010a00130b04850101010568
2015.05.25 18:13:38 5: ZWDongle RAW buffer: 060104011301e8
2015.05.25 18:13:38 5: SW: 06
2015.05.25 18:13:38 5: ZWDongle_Read ZWDongle_0: 011301
2015.05.25 18:13:38 2: ZWave get ZWave_SWITCH_REMOTE_11 model
2015.05.25 18:13:38 1: ZWAVE INIT: get ZWave_SWITCH_REMOTE_11 model: Scheduled for sending after WAKEUP
2015.05.25 18:14:08 5: SW: 0105004a0502b7
2015.05.25 18:14:08 5: ZWDongle RAW buffer: 060107004a02060b00bd
2015.05.25 18:14:08 5: SW: 06
2015.05.25 18:14:08 5: ZWDongle_Read ZWDongle_0: 004a02060b00
2015.05.25 18:14:08 5: ZWDongle_0 dispatch 004a02060b00
2015.05.25 18:14:08 4: ZWDongle_0 CMD:ZW_ADD_NODE_TO_NETWORK ID:06 ARG:0b00
2015.05.25 18:14:09 4: ZWDongle_0 ZW_ADD_NODE_TO_NETWORK done
2015.05.25 18:14:14 5: ZWDongle RAW buffer: 010b0004000b055b0331000196
2015.05.25 18:14:14 5: SW: 06
2015.05.25 18:14:14 5: ZWDongle_Read ZWDongle_0: 0004000b055b03310001
2015.05.25 18:14:14 5: ZWDongle_0 dispatch 0004000b055b03310001
2015.05.25 18:14:14 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:055b03310001
2015.05.25 18:14:21 5: ZWDongle RAW buffer: 010b0004000b055b0332000296
2015.05.25 18:14:21 5: SW: 06
2015.05.25 18:14:21 5: ZWDongle_Read ZWDongle_0: 0004000b055b03320002
2015.05.25 18:14:21 5: ZWDongle_0 dispatch 0004000b055b03320002
2015.05.25 18:14:21 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:055b03320002
2015.05.25 18:14:25 5: ZWDongle RAW buffer: 010b0004000b055b0333000590
2015.05.25 18:14:25 5: SW: 06
2015.05.25 18:14:25 5: ZWDongle_Read ZWDongle_0: 0004000b055b03330005
2015.05.25 18:14:25 5: ZWDongle_0 dispatch 0004000b055b03330005
2015.05.25 18:14:25 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:055b03330005
2015.05.25 18:14:27 5: ZWDongle RAW buffer: 010b0004000b055b0334000496
2015.05.25 18:14:27 5: SW: 06
2015.05.25 18:14:27 5: ZWDongle_Read ZWDongle_0: 0004000b055b03340004
2015.05.25 18:14:27 5: ZWDongle_0 dispatch 0004000b055b03340004
2015.05.25 18:14:27 4: ZWDongle_0 CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:055b03340004

A.Harrenberg

Hi Krikan,
Zitat von: krikan am 25 Mai 2015, 19:41:10
Wenn es gleich ist, frage ich mich, wie sich SECURITY voher verstecken konnte.
Hier Inklusion mit den heutigen Modulversionen:

die Inklusion mit der neuen Modulversion ist (fast) identisch mit der alten! Es gibt nur einen Unterschied im zweiten Byte vom NIF, der ist diesmal 0b statt 0a, ich denke das ist eher ein interner Zähler oder so.

Nachdem ich jetzt ein wenig darüber nachgedacht habe, stelle ich mal folgende Theorie auf:

1. Das Gerät meldet bei der Inklusion IMMER Security
2, Wenn aber nicht innerhalb von 10 Sekunden nach der Inklusion die Prozedur mit der Schlüsselübertragung gestartet wird (SDS11060-7 S. 238 (250 im PDF) und Grafik auf S. 240 (252 im PDF)) dann wird die Klasse vom Gerät deaktiviert und bei WEITEREN Anfragen nicht mehr gemeldet.
3. Ich VERMUTE das die Fähigkeiten des Gerätes bei fhem nicht aus den Daten bei der Inklusion, sondern durch eine gesonderte Abfrage gebildet werden, bei der die Klasse dann bereits deaktiviert ist.

@Rudi: Kannst Du den dritten Teil beantworten?

Bei der Definition der Parameterdaten für das SetNIF (01 02 01 00) komme ich auch nicht so richtig weiter, der Sourcecode gibt dazu nur folgendes an:
Msg* msg = new Msg( "FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION", 0xff, REQUEST, FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION, false, false );
msg->Append( APPLICATION_NODEINFO_LISTENING );
msg->Append( 0x02 ); // Generic Static Controller
msg->Append( 0x01 ); // Specific Static PC Controller
msg->Append( 0x00 ); // Length
SendMsg( msg, MsgQueue_Command );

Die Definition für 0x02 für Generic Static Controller kann man vielleicht ja noch aus der Tabelle 1 S.10 (18) aus SDS10242-17 nachvollziehen, der Specific Teil dann nicht mehr, der müsste dann laut der nächsten Tabelle 0x10 sein. Und was da eine 0x00 als "Length" soll erschliesst sich mir auch nicht...

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

rudolfkoenig

Habe angefangen security zu implementieren:
- ZWDongle hat Attribut networkKey
- falls gesetzt, und bei Inclusion die Klasse SECURITY gemeldet wird, dann wird
- secScheme gesendet/gefragt
- secKey gesendet
- secNonce gesendet/gefragt

Bis hierhin macht mein KFOB alles schoen mit.

Eure Romane lese ich spaeter :)

A.Harrenberg

Hi,

hab' ich ja gesagt, Du hast das implementiert bevor ich angefangen habe das zu verstehen ,-)

Welche Klassen werden dann als secure-supported gemeldet?
SecurityCmd_SupportedGet = 0x02,
SecurityCmd_SupportedReport = 0x03,

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

rudolfkoenig

Andreas: du magst mit deiner Theorie (Punkt 3) Recht haben, obwohl ich es noch nicht so recht glauben will:
- FHEM hat bis vor kurzem bei einem ZW_APPLICATION_UPDATE die Klassen ueberschrieben, solche Nachrichten kommen, wenn man auf dem Geraet auf dem Knopf herumfummelt. Das habe ich vor paar Tagen ausgebaut, damit ich bei einem eigentlich batteriebetriebenen Geraet, den ich jetzt mit einem Netzteil speise, nicht auf das wakeUpNotify warten muss (WAKE_UP aus classes einfach loeschen).
- ich habe bei der Inklusion der KFOB als allererstes auf die Klassen geachtet, weil ich das Geraet wg. Security gekauft habe, und da war nix.
- ich habe heute der Reihe nach die neuen Befehle auskommentiert, und es hat jeweils funktioniert. Ich erklaere es damit, dass der Controller was gemerkt hat.

SupportedGet habe ich auch kurz probiert, das will aber noch nicht. Ist wohl noch unfertig....

Mit dem schoenen Log von Christian und den funktionierenden Quellen bin ich zuversichtlich, dass wir Security in FHEM demnaechst am Laufen haben. Auch wenn der naechste Stueck (AES konfigurieren) vmtl. am aufwendigsten sein wird.

A.Harrenberg

Hi Rudi,

ich kriege ja wahrscheinlich diese Woche noch die Sirene und einen zweiten Stick. Ich werde mir das dann auf eine virtuellen Maschine mal mit OpenZWave und fhem einrichten und kann dann ja noch mal selber damit rumprobieren ob/wo der Unterschied ist. Ich muss mir die Beschreibung zu der Security Class noch mal in Ruhe durchlesen, habe es bisher immer nur überflogen und dabei überliest man schon mal wichtige Nebensätze.
Vielleicht muss man zum Testen auch den Stick "resetten"? Speichert der seine Konfiguration vielleicht sogar in einem Flash? Sollte man ja eigentlich meinen...

Ja, AES wird sicherlich noch mal aufwändiger, vor allem wenn man da längere Messages auf mehrere Frames aufteilen muss.
Ich habe mir gerade noch mal den "header" von WMBus.pm angesehen, dabei wundert mich das dort beschrieben ist wie man das Packet unter debian installiert, es wird aber nicht mit use eingebunden. Der "Aufruf" ist dann aber direkt über ein hash mit:
-cipher      => "Crypt::OpenSSL::AES",
Sollte das nicht besser mit use eingebunden werden?

Mal sehen wann meine Teile ankommen und wieviel Zeit ich noch dafür habe. Die nächste und übernächste Woche ist nämlich ziemlich blockiert wegen Besuch und Veranstaltungen, einige Vorbereitungen sind auch noch offen... Aber wahrscheinlich bist Du eh vor dem WE fertig ,-)

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

krikan

Hallo Rudi,
wenn Du SECURITY soweit drin hast, dass ich mittesten soll, bitte Bescheid geben.

Testobjekte mit SECURITY:
- KFOB-S
- Aeon Labs DSD31 Gen5
- Philio PST02-1A

Die Unterstützung von SECURITY beim Philio habe ich erst gestern wahrgenommen, darum direkt eine Bitte  ;):
In der Endfassung Deiner SECURITY-Unterstützung bitte Wahlmöglichkeit, ob Secure oder Nicht-Secure Inklusion bei Geräten mit CC SECURITY. Macht openzwave und zway auch....

Gruß, Christian