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
habe es eingebaut - es sollte nach init passieren, wenn das IO auch bereit ist.
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