FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: mgernoth am 31 Mai 2016, 22:09:00

Titel: AES-Keys aus VCCU werden beim Fhem-Start nicht in den IOs gesetzt
Beitrag von: mgernoth am 31 Mai 2016, 22:09:00
Hallo,

im Augenblick scheinen die an der VCCU definierten AES-Keys bei Fhem-Start nicht in die entsprechenden IOs geschrieben zu werden. Anscheinend wird das HMLAN_writeAesKey in Zeile 291 von 10_CUL_HM.pm zu frueh aufgerufen, waehrend die IOs sich noch im Init befinden (ich habe vor den Aufruf eine Debug-Ausgabe "Keys now!" eingebaut, sowie meine Keys ausgegeben):


2016.05.31 21:44:57.565 1: HMLAN_Parse: HMCFGUSB new condition disconnected
2016.05.31 21:44:57.566 3: Opening HMCFGUSB device 127.0.0.1:1234
2016.05.31 21:44:57.573 3: HMCFGUSB device opened
2016.05.31 21:44:57.575 1: HMLAN_Parse: HMCFGUSB new condition init
2016.05.31 21:44:57.580 1: HMLAN_Parse: HMCFGUSB2 new condition disconnected
2016.05.31 21:44:57.581 3: Opening HMCFGUSB2 device 10.50.252.249:1000
2016.05.31 21:44:57.583 3: HMCFGUSB2 device opened
2016.05.31 21:44:57.584 1: HMLAN_Parse: HMCFGUSB2 new condition init
...
2016.05.31 21:45:08.582 1: CUL_HM Keys now!
2016.05.31 21:45:08.583 1: HMLAN Keys for VCCU: 01 GEHEIMERSCHLUESSEL
2016.05.31 21:45:08.587 1: HMLAN Keys for VCCU: 01 GEHEIMERSCHLUESSEL
...
2016.05.31 21:45:08.917 0: Featurelevel: 5.7
2016.05.31 21:45:08.917 0: Server started with 422 defined entities (fhem.pl:11545/2016-05-29 perl:5.020002 os:linux user:fhem pid:17459)
2016.05.31 21:45:08.937 0: HMLAN_Send:  HMCFGUSB I:+37BBCE,01,01,02
...
2016.05.31 21:45:10.979 1: HMLAN_Parse: HMCFGUSB2 new condition ok
2016.05.31 21:45:11.196 1: HMLAN_Parse: HMCFGUSB new condition ok


Wenn ein HMLAN/HMCFGUSB im laufenden Betrieb reopened wird, wird der Schluessel korrekt gesetzt:


2016.05.31 21:56:12.783 3: Opening HMCFGUSB2 device 10.50.252.249:1000
2016.05.31 21:56:12.784 3: HMCFGUSB2 device opened
2016.05.31 21:56:12.785 0: HMLAN_Send:  HMCFGUSB2 I:A68EA13
2016.05.31 21:56:12.785 0: HMLAN_Send:  HMCFGUSB2 I:C
2016.05.31 21:56:12.788 0: HMLAN_Send:  HMCFGUSB2 I:Y01,01,GEHEIMERSCHLUESSEL
2016.05.31 21:56:12.789 0: HMLAN_Send:  HMCFGUSB2 I:Y02,00,
2016.05.31 21:56:12.790 0: HMLAN_Send:  HMCFGUSB2 I:Y03,00,
2016.05.31 21:56:12.791 0: HMLAN_Send:  HMCFGUSB2 I:T1EE0A8DC,04,00,00000000
2016.05.31 21:56:12.791 1: HMLAN_Parse: HMCFGUSB2 new condition init
2016.05.31 21:56:13.790 0: HMLAN_Parse: HMCFGUSB2 V:03C7 sNo:LEQ1517585 d:34F32C O:68EA13 t:00286181 IDcnt:0000 L:2 %
2016.05.31 21:56:14.239 1: HMLAN_Parse: HMCFGUSB2 new condition ok


Gibt es hier beim Startup ein Timing-Problem?

Ein Workaround ist, die Keys nochmal zusaetzlich direkt in den IOs zu definieren, dann werden sie auch beim Fhem-Start gesetzt.

EDIT: Anscheinend ist das schon laenger kaputt: https://forum.fhem.de/index.php/topic,50003.msg417444.html
EDIT2: Ich nehme an, dass folgende Aenderung aus Revision 10820 Schuld daran ist:


Index: 00_HMLAN.pm
===================================================================
--- 00_HMLAN.pm (revision 10409)
+++ 00_HMLAN.pm (revision 10820)
@@ -940,6 +940,7 @@
sub HMLAN_writeAesKey($) {#####################################################
   my ($name) = @_;
   return if (!$name || !$defs{$name} || $defs{$name}{TYPE} ne "HMLAN");
+  return if (!$init_done); 
   my %keys = ();
   my $vccu = InternalVal($name,"owner_CCU",$name);
   $vccu = $name if(!AttrVal($vccu,"hmKey",""));


@Martin: kannst Du diesen Teil von 10820 bitte reverten? Hier funktioniert alles nach entfernen dieser Zeile wieder.

Viele Gruesse
  Michael
Titel: Antw:AES-Keys aus VCCU werden beim Fhem-Start nicht in den IOs gesetzt
Beitrag von: martinp876 am 01 Juni 2016, 20:54:38
habe es eingebaut - es sollte nach init passieren, wenn das IO auch bereit ist.
Titel: Antw:AES-Keys aus VCCU werden beim Fhem-Start nicht in den IOs gesetzt
Beitrag von: mgernoth am 01 Juni 2016, 21:07:00
Hi,

Zitat von: martinp876 am 01 Juni 2016, 20:54:38
habe es eingebaut - es sollte nach init passieren, wenn das IO auch bereit ist.

Super, danke!
Funktioniert jetzt wieder :-)

Aus irgendeinem Grund versucht er bei mir die Schluessel zu frueh zu setzen und danach dann nie wieder...

Viele Gruesse
  Michael