FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: bmwfan am 27 September 2015, 19:37:27

Titel: HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 27 September 2015, 19:37:27
Hallo,
nachdem ich gelesen hatte, dass AES jetzt auch mit CUL geht, habe ich versucht meinen HM-Sec-SC mit dem CUL zu verbinden. Pairing hat auf Anhieb geklappt. Folgendes habe ich dann nach vielem Lesen im Forum gemacht:
define vccu CUL_HM 31AE26
attr vccu IODev CUL_0
attr vccu autoReadReg 4_reqStatus
attr vccu expert 2_full
attr vccu model CCU-FHEM
attr vccu room CUL_HM
attr vccu subType virtual
attr vccu webCmd virtual:update


Im device HM-Sec-SC die vccu definiert:
define EG_TuerFens_SchiebeHebe CUL_HM 22542F
attr EG_TuerFens_SchiebeHebe IODev CUL_0
attr EG_TuerFens_SchiebeHebe IOgrp vccu
attr EG_TuerFens_SchiebeHebe aesCommReq 1
attr EG_TuerFens_SchiebeHebe autoReadReg 4_reqStatus
attr EG_TuerFens_SchiebeHebe expert 2_full
attr EG_TuerFens_SchiebeHebe room CUL_HM


Konnte allerdings nie die register nicht auslesen. Das steht im logfile::
Zitat2015-09-27_19:19:00 EG_TuerFens_SchiebeHebe ResndFail
2015-09-27_19:19:00 EG_TuerFens_SchiebeHebe RESPONSE TIMEOUT:RegisterRead

Dann habe ich gelesen
Zitathttp://www.fhemwiki.de/wiki/AES_Encryption
, dass ich den AES-Schlüssel definieren und eingeben muss. Einen Schlüssel festgelegt und per attr vccu hmkey xxxxx eingegeben. Daraufhin hat sich FHEM sofort verabschiedet und war erst nach einem reboot des Raspi wieder ansprechbar. Der key war nicht eingetragen. Der Absturz ist reproduzierbar. Das steht immer im logfile:
Zitat2015.09.27 19:19:44 4: CUL_Parse: CUL_0 A 14 D3 A270 EF38E0 31AE26 00DD2825DF000000A209C422 -57
2015.09.27 19:19:44 4: CUL_send:  CUL_0As 0A D3 8002 31AE26 EF38E0 00
Undefined subroutine &main::md5 called at ./FHEM/10_CUL_HM.pm line 839.
2015.09.27 19:21:01 2: Perfmon: ready to watch out for delays greater than one second
2015.09.27 19:21:01 1: Including fhem.cfg

Hat jemand eine Idee, woran das liegen kann?

Grüße Jürgen
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: Virsacer am 28 September 2015, 09:16:45
Generiere mal den md5 Hash manuell und trage ihn da ein...
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 28 September 2015, 13:55:16
Hallo Virsacer,

jetzt muss ich gestehen dass ich noch nie etwas von einem md5 hash gehört habe. Hast Du mir einen Link oder Hinweis wo ich nachlesen kann wie ich den denn generieren oder herausfinde sowie wie und wo ich den eingeben soll?

Hatte den Schlüssel über einen codegenerator im Netz erzeugt und dann (Buchstaben- und Zahlenkombination ohne Sonderzeichen) als key eingetragen. Evtl. liegt da der Fehler.

Gruß Jürgen
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: Virsacer am 28 September 2015, 17:53:29
Schau mal hier: http://www.md5generator.de

Einfach das Ergebnis anstelle deines Keys bei "attr vccu hmkey" verwenden - fhem sollte erkennen, dass er bereits gehasht ist und den Schritt überspringen...

Wenn du Details wissen willst, hilft Wikipedia weiter: https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 28 September 2015, 19:55:37
Hallo Virsacer,

hat geklappt. Besten Dank.
Aber ich muss schon sagen, dass FHEM für jemand der aus der Windows-Welt kommt und sich nur in der Freizeit damit beschäftigt, echt kompliziert ist. Da spielen so viele verschiedene Dinge hinein (Internetzugriff, Programmierung, Reverse proxy server, Raspi mit Linux...), dass es sehr schwierig ist, ohne Hilfe voranzukommen. Deswegen ein Dank an alle Helfer im Forum, die ihre Zeit investieren, um Beginnern wie mir zu helfen.

So wie ich es verstanden habe, muss ich jetzt den Code an die Device übertragen. Mal sehen,ob das klappt und ich meinen Fensterkontakt doch noch auslesen kann.

Ergänzung:
Habe versucht, mit set EG_TuerFens_SchiebeHebe assignHmKey den code an das device zu senden, bekomme aber die Fehlermeldugn:
ZitatassignHmKey requires VCCU with hmKeys

Das  bedeutet doch, das das device die VCCU nicht findet. Im List ist aber zu erkennen, dass sie als IOgrp angegeben ist, oder muss sie als IODev angegeben sein?

List des Device:
Internals:
   DEF        22542F
   IODev      CUL_0
   NAME       EG_TuerFens_SchiebeHebe
   NR         580
   STATE      RESPONSE TIMEOUT:RegisterRead
   TYPE       CUL_HM
   Readings:
     2015-09-27 19:08:57   RegL_00:        0
     2015-09-27 21:03:20   aesCommToDev    ok
     2015-09-27 21:03:20   recentStateType info
     2015-09-27 18:48:53   state           RESPONSE TIMEOUT:RegisterRead
     2015-09-27 21:03:15   trig_aes_vccu   ok:57
     2015-09-27 21:03:15   trigger_cnt     57
   Helper:
     HM_CMDNR   1
     Io:
       newChn     +22542F,01,00,02
       rxt        0
       vccu       VCCU
       p:
         22542F
         01
         00
         02
     Mrssi:
       mNo
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
   Role:
Attributes:
   IODev      CUL_0
   IOgrp      VCCU
   aesCommReq 1
   autoReadReg 4_reqStatus
   expert     2_full
   room       CUL_HM


Kann hier jemand helfen?

Gruß Jürgen
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: mgernoth am 29 September 2015, 17:36:32
Hallo,

Zitat von: bmwfan am 28 September 2015, 19:55:37
Das  bedeutet doch, das das device die VCCU nicht findet. Im List ist aber zu erkennen, dass sie als IOgrp angegeben ist, oder muss sie als IODev angegeben sein?

Das bedeutet eigentlich, dass Dein IO keiner VCCU zugewiesen ist, die mehr als den Defaultkey kennt.

Hat Dein CUL_0 ein Internal owner_CCU? Das sollte eigentlich durch die VCCU gesetzt werden. Und an dieser dort eingetragenen ccu müsstest Du das hmKey-Attribut setzen.


fhem> list HMCFGUSB
Internals:
   DEF        127.0.0.1:1234
...
   owner_CCU  VCCU
...

fhem> list VCCU
...
Attributes:
   IODev      HMCFGUSB
   IOList     HMCFGUSB
   hmKey      01:...
...


Viele Grüße
  Michael
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 29 September 2015, 21:15:22
Hallo Michael,
den Eintrag owner_ccu habe ich nicht. Anbei das List:
Internals:
   CMDS       BbCFiA....
   CUL_0_MSGCNT 2913
   CUL_0_TIME 2015-09-29 21:08:44
   Clients    :CUL_HM:HMS:CUL_IR:STACKABLE_CC:
   DEF        /dev/ttyACM0@9600 1034
   DeviceName /dev/ttyACM0@9600
   FD         12
   FHTID      1034
   NAME       CUL_0
   NR         65
   PARTIAL
   RAWMSG     A1440845E2A8260000000848BC700000500000948FCEC
   RSSI       -84
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.65 CUL868
   initString X21
Ar
   Matchlist:
     1:CUL_HM   ^A....................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
   Readings:
     2015-09-28 20:06:30   cmds             B b C F i A .....
     2015-09-29 21:08:44   state           Initialized
   Helper:
     182aaa:
       QUEUE:
     22542f:
       QUEUE:
     257247:
       QUEUE:
     27238a:
       QUEUE:
     2a8260:
       QUEUE:
     316c1f:
       QUEUE:
     35c7f4:
       QUEUE:
     Ef38e0:
       QUEUE:
Attributes:
   hmId       31AE26
   model      CUL
   rfmode     HomeMatic
   verbose    4


Und das list des VCCU:
Internals:
   DEF        31AE26
   IODev      CUL_0
   NAME       VCCU
   NR         577
   STATE      CUL_0:UAS,
   TYPE       CUL_HM
   assignedIOs CUL_0
   Readings:
     2015-09-28 20:06:37   state           CUL_0:UAS,
   Helper:
     HM_CMDNR   1
     mId        FFF0
     rxType     1
     Io:
       prefIO
       vccu
       ioList:
     Mrssi:
       mNo
     Prt:
       bErr       0
       sProc      0
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
Attributes:
   IODev      CUL_0
   autoReadReg 4_reqStatus
   expert     2_full
   hmKey      01:........
   model      CCU-FHEM
   room       CUL_HM
   subType    virtual
   webCmd     virtual:update


Woran kann es denn noch liegen?

Gruß Jürgen
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 29 September 2015, 22:42:55
Hallo Michael,

habe jetzt an der VCCU den CUL_0 mit attr IOList CUL_0 eingetragen. Jetzt erscheint tatsächlich bei einem list CUL_0 folgender Eintrag STATE      Initialized
   TYPE       CUL
   VERSION    V 1.65 CUL868
   initString X21
Ar
   owner_CCU  VCCU
   Matchlist:
     1:CUL_HM   ^A....................
     8:HMS      ^810e04....(1|5|9).a001


Bei einem set EG_TuerFens_SchiebeHebe assignhmkey erhalte ich jedoch die Meldung MISSING ACK Internals
DEF 22542F
IODev CUL_0
NAME EG_TuerFens_SchiebeHebe
NR 580
STATE MISSING ACK
TYPE CUL_HM
protCmdDel 3
protCmdPend 1CMDs pending
protResnd 6 last_at:2015-09-29 22:30:51
protResndFail 2 last_at:2015-09-29 22:30:56
protSnd 3 last_at:2015-09-29 22:36:53
protState CMDs_processing...

Readings
RegL_00:
aesCommToDev ok 2015-09-27 21:03:20
recentStateType info 2015-09-27 21:03:20
state MISSING ACK 2015-09-29 22:37:11
trig_aes_vccu ok:57 2015-09-27 21:03:15
trigger_cnt 57 2015-09-27 21:03:15


Das bedeutet doch, dass der Status nicht zurückgemeldet wird, da sich das device nicht rückmeldet. Also steht die Kommunikation nicht.

Was kann ich noch tun?

Gruß Jürgen
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: mgernoth am 30 September 2015, 10:20:32
Hallo,

weils ichs gerade sehe:

Schmeiss das aesCommReq erstmal aus dem Gerät raus, das kann erst funktionieren, wenn das Gerät wirklich den Schlüssel kennt. Davor unterbindet es eine erfolgreiche Kommunikation (Fhem will alles mit dem dem Gerät unbekannten Schlüssel signiert haben).

Ausserdem fehlen Attribute wie "model". Hat das initiale Pairing geklappt?

Viele Grüße
  Michael
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 03 Oktober 2015, 10:35:51
Kam nicht weiter und hab das device in FHEM komlett gelöscht und auf Werkseinstellungen gesetzt. Dann versucht zu pairen. Hier das List danach:
Internals:
   CFGFN
   CUL_0_MSGCNT 4
   CUL_0_RAWMSG A0A06800222542F31AE2600::-75:CUL_0
   CUL_0_RSSI -75
   CUL_0_TIME 2015-10-03 10:25:02
   DEF        22542F
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     4
   NAME       HM_22542F
   NR         591
   STATE      ???
   TYPE       CUL_HM
   lastMsg    No:06 - t:02 s:22542F d:31AE26 00
   protCmdPend 3 CMDs_pending
   protLastRcv 2015-10-03 10:25:02
   protSnd    3 last_at:2015-10-03 10:25:02
   protState  CMDs_pending
   rssi_at_CUL_0 avg:-70.87 min:-75 max:-69 lst:-75 cnt:4
   Readings:
     2015-10-03 10:25:07   Activity        alive
     2015-10-03 10:25:02   CommandAccepted yes
     2015-10-03 10:25:02   D-firmware      2.1
     2015-10-03 10:25:02   D-serialNr      KEQ0366855
     2015-10-03 10:25:02   R-pairCentral   set_0x31AE26
   cmdStack:
     ++A00131AE2622542F00040000000000
     ++A00131AE2622542F01040000000001
     ++A00131AE2622542F0103
   Helper:
     HM_CMDNR   6
     cSnd       0131AE2622542F000802010A310BAE0C26,0131AE2622542F0006
     getCfgList all
     getCfgListNo ,4
     mId        002F
     rxType     4
     Io:
       newChn     +22542F,00,01,00
       nextSend   1443860703.02137
       prefIO
       rxt        0
       vccu
       p:
         22542F
         00
         01
         00
     Mrssi:
       mNo        06
       Io:
         CUL_0      -73
     Prt:
       bErr       0
       sProc      2
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_0:
         avg        -70.875
         cnt        4
         lst        -75
         max        -69
         min        -75
     Shadowreg:
       RegL_00:    02:01 0A:31 0B:AE 0C:26
Attributes:
   IODev      CUL_0
   IOgrp      VCCU:CUL_0
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   2.1
   model      HM-SEC-SC
   room       CUL_HM
   serialNr   KEQ0366855
   subType    threeStateSensor


Ich vermute aber, dass es nicht geklappt hat da bei R-pairCentral  ein "set_0x31AE26" und nicht nur "0x31AE26" steht. Ich kann auch seit dem Pairingversuch keine Daten auslesen. Der Zeitstempel bleibt unverändert.

Auch meine weiteren Versuche mit set <device> regSet pairCentral 0x31AE26 blieben erfolglos. Lediglich die pending register (?) erhöhen sich. Ich vermute, dass dies Befehle in der Warteschleife sind, die auf Grund fehlender Verbindung zum device nicht abgearbeitet werden können.
lastMsg    No:06 - t:02 s:22542F d:31AE26 00
   protCmdPend 14 CMDs_pending
   protLastRcv 2015-10-03 10:25:02
   protSnd    3 last_at:2015-10-03 10:25:02
   protState  CMDs_pending
   rssi_at_CUL_0 avg:-70.87 min:-75 max:-69 lst:-75 cnt:4
   Readings:
     2015-10-03 10:25:07   Activity        alive
     2015-10-03 10:25:02   CommandAccepted yes
     2015-10-03 10:25:02   D-firmware      2.1
     2015-10-03 10:25:02   D-serialNr      KEQ0366855
     2015-10-03 10:25:02   R-pairCentral   set_0x31AE26
   cmdStack:
     ++A00131AE2622542F00040000000000
     ++A00131AE2622542F01040000000001
     ++A00131AE2622542F0103
     ++A00431AE2622542F1b60e99fde0eaa8f9d14542fbc87863f
     ++A00431AE2622542F7c869fc1a381ff266fb4a315473c9046
     ++A00131AE2622542F00040000000000
     ++A00131AE2622542F01040000000001
     ++A00131AE2622542F0103
     ++A00131AE2622542F00040000000000
     ++A00131AE2622542F01040000000001
     ++A00131AE2622542F0103
     ++A00131AE2622542F00050000000000
     ++A00131AE2622542F000802010A310BAE0C26
     ++A00131AE2622542F0006
   Helper:
     HM_CMDNR   6
     cSnd       0131AE2622542F000802010A310BAE0C26,0131AE2622542F0006
     getCfgList all
     getCfgListNo ,4


Wie kann ich das Problem lösen? Bleibt nur übrig, ein Device zu kaufen mit dem ich das AES des Fensterkontaktes abschalten kann? Das wäre aber nicht meine präferierte Lösung, da ich die Verschlüsselung schon gerne im Betrieb hätte.
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: Ralli am 03 Oktober 2015, 11:24:27
http://forum.fhem.de/index.php/topic,41600.msg338507.html#msg338507
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 03 Oktober 2015, 11:29:57
Hallo Ralli,
wurde gleich zu Anfang installiert.

Habe jetzt nochmal gepairt und dann war das set_ bei R-pairCentral weg. Nochmal gepairt und wieder da. Solnage versucht, bis es wieder weg war. Beim pairen wirden die pendings abgearbeitet. Danach nicht mehr.

Gruß Jürgen
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: frank am 03 Oktober 2015, 15:16:41
ZitatBeim pairen wirden die pendings abgearbeitet. Danach nicht mehr.
pendings werden immer beim drücken des tasters abgearbeitet, da der fk sonst schläft. bei vielen pendings öfter drücken.
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 03 Oktober 2015, 18:04:22
OK, jetzt stoße ich wieder an meine Grenzen des Wissens über FHEM.

Ich dachte pendings sind die Befehle an ein device (hier FK), eine Aktion durchzuführen wie z.B. Auslesen eines registers, schalten eines kontaktes... je nachdem, was es für ein device ist. Das muss doch aber immer abgearbeitet werden, auch wenn niemand den Taster (ich denke Du meinst den Konfigurationstaster am Gerät) drückt.

Wenn es so ist wie Du beschreibst, müßte ich doch nach dem pairen (da werden ja anscheinend alle Register ausgelesen, danach bei einem getConfig nur noch 3 Register) den assignhmkey-Befehl absetzen und gleich anschließend die Konfigurationstaste am FK drücken, damit der Befehl übernommen wird. Das würde auch erklären, warum ich die Register nur beim Pairvorgang auslesen kann und danach nicht mehr. Dann den sign on-Befehl und wieder Taste drücken und so weiter.

Ist das so korrekt?
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: frank am 03 Oktober 2015, 18:53:07
yes.

die config modes der devices sind in einem wiki beschrieben. deiner kann eventuell auch lazy config. dann koennen auch befehle bei statusaenderung empfangen werden, open
/close.
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 03 Oktober 2015, 19:16:59
Die Statusmeldungen werden jetzt übertragen. Allerdings kann ich nicht sagen, ab welchem Zeitpunkt meiner Versuche.

Bedeutet das Übertragen des Status (Open / closed) automatisch, dass AES aktiviert ist? Wenn nicht, wie kann ich prüfen, ob es aktiviert ist?
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: Ralli am 03 Oktober 2015, 19:22:36
In den Readings sign = on und aesKeyNbr sollte einen recht aktuellen Zeitstempel haben.

In den Internals:

protEvt_AESCom-ok
12 last_at:2015-10-03 ...
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 03 Oktober 2015, 19:39:13
Dann nicht. Ich habe weder in den readings ein "sign", noch einen "aeskeynbr" und in den inetrnales keinen protEvt_AESCom.

Ich fürchte aber, wenn ich nochmal den Versuch mit "assignhmkey" und "sign on" mache, dass dann wieder meine Verbindung nicht geht. Ist das möglich oder kann jetzt, da die Daten übertragen werden, der Fall nicht mehr eintreten?
Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: Ralli am 04 Oktober 2015, 07:34:02
Versuch macht kluch ;).

Erst sign on, Config-Taster am Device, dann assign hmkey, Config-Taster am Device usw...

Ich sehe an Deinem Device nur ein IODev aber kein IOgrp, ist das überhaupt der vCCU (bzw. ihrem IO) zugeordnet?

Titel: Antw:HM-Sec-SC an CUL: AES eingerichtet aber FHEM stürzbei Key-Eingabe ab
Beitrag von: bmwfan am 04 Oktober 2015, 09:51:40
Versuch kann auch viel Arbeit bringen.  ;)

Ist zugeordnet:
ZitatReadings:
     2015-10-03 19:28:04   Activity        alive
     2015-10-03 18:25:09   D-firmware      2.1
     2015-10-03 18:25:09   D-serialNr      KEQ0366855
     2015-10-03 19:30:03   alive           yes
     2015-10-03 19:30:44   battery         ok
     2015-10-03 19:30:44   contact         closed (to VCCU)
     2015-10-03 19:30:03   recentStateType info
     2015-10-03 19:30:03   sabotageError   off
     2015-10-03 19:30:44   state           closed
     2015-10-03 19:30:44   trigger_cnt     34

Attributes:
   IODev      CUL_0
   IOgrp      VCCU:CUL_0
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   2.1
   model      HM-SEC-SC
   peerIDs    00000000,
   room       Wohnzimmer
   serialNr   KEQ0366855
   subType    threeStateSensor


Was bedeutet das Reading Sabotage Error?