From c0a5c9f4eb014c3355064a8edeabc0c16a78d53d Mon Sep 17 00:00:00 2001
From: martinp876 <>
Date: Thu, 2 Jul 2015 18:52:13 +0000
Subject: [PATCH] 10_CUL_HM: unreachable isue
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@8873 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
FHEM/10_CUL_HM.pm | 45 ++++++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 19 deletions(-)
diff --git a/FHEM/10_CUL_HM.pm b/FHEM/10_CUL_HM.pm
index 6bdf8e22d..f7a193c0a 100755
--- a/FHEM/10_CUL_HM.pm
+++ b/FHEM/10_CUL_HM.pm
@@ -7637,6 +7637,7 @@ sub CUL_HM_unQEntity($$){# remove entity from q
my @chns = split(",",$dq->{$q});
my $chn = substr(CUL_HM_name2Id($name),6,2);
@chns = grep !/$chn/,@chns;
+ @chns = grep !/00/,@chns;#remove device as well - just in case
$dq->{$q} = join",",@chns;
}
$q = $q."Wu" if (CUL_HM_getRxType($defs{$name}) & 0x1C);
@@ -7783,7 +7784,7 @@ sub CUL_HM_autoReadReady($){# capacity for autoread available?
|| ReadingsVal($ioName,"cond","init") !~ m /^(ok|Overload-released|init)$/#default init for CUL
|| ( defined $defs{$ioName}->{msgLoadCurrent}
&& ( $defs{$ioName}->{msgLoadCurrent}>
- AttrVal($ioName,"hmMsgLowLimit",40)))){
+ (defined $defs{$ioName}{helper}{loadLvl}?$defs{$ioName}{helper}{loadLvl}{bl}:40)))){
return 0;
}
return 1;
@@ -8160,9 +8161,10 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
requests by itself, and if it is configured with the 3-byte address
of a foreign CCU which is still configurerd with the default
password, it is able to answer signing requests correctly.
-
AES-Encryption is not useable with a CUL device as the interface,
- but it is supported with a HMLAN. Due to the issues above I do not
- recommend using Homematic encryption at all.
+ AES-Encryption is useable with a HMLAN or a CUL. When using
+ a CUL, the perl-module Crypt::Rijndael needs to be installed.
+ Due to the issues above I do not recommend using Homematic
+ encryption at all.
@@ -8175,6 +8177,11 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
Universal commands (available to most hm devices):
+ - assignHmKey
+ Initiates a key-exchange with the device, exchanging the old AES-key of the device with the key with the highest
+ index defined by the attribute hmKey* in the HMLAN or VCCU. The old key is determined by the reading aesKeyNbr,
+ which specifies the index of the old key when the reading is divided by 2.
+
- clear <[rssi|readings|register|msgEvents|attack|all]>
A set of variables can be removed.
@@ -8350,8 +8357,8 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
- sign [on|off]
Activate or deactivate signing (also called AES encryption, see the note above). Warning: if the device is attached via
- a CUL, you won't be able to switch it (or deactivate signing) from
- fhem before you reset the device directly.
+ a CUL, you need to install the perl-module Crypt::Rijndael to be
+ able to switch it (or deactivate signing) from fhem.
- statusRequest
Update device status. For multichannel devices it should be issued on
@@ -8817,10 +8824,10 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
- keyMatic
- The Keymatic uses the AES signed communication. Therefore the control
- of the Keymatic is only together with the HM-LAN adapter possible. But
- the CUL can read and react on the status information of the
- Keymatic.
+ The Keymatic uses the AES signed communication. Control
+ of the Keymatic is possible with the HM-LAN adapter and the CUL.
+ To control the KeyMatic with a CUL, the perl-module Crypt::Rijndael
+ needs to be installed.
- lock
The lock bolt moves to the locking position
@@ -9497,9 +9504,9 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
- Der HMLAN Konfigurator beantwortet Signaturanforderungen selbstständig,
ist dabei die 3-Byte-Adresse einer anderen CCU eingestellt welche noch immer das Standardpasswort hat,
kann dieser Signaturanfragen korrekt beantworten.
- - AES-Verschlüsselung kann nicht bei einem CUL als Interface eingesetzt werden, wird allerdings
- durch HMLAN unterstützt. Aufgrund dieser Einschränkungen ist der Einsatz der Homematic-Verschlüsselung
- nicht zu empfehlen!
+ - AES-Verschlüsselung wird durch HMLAN und CUL unterstützt. Bei Einsatz eines CUL
+ ist das Perl-Modul Crypt::Rijndael notwendig. Aufgrund dieser Einschränkungen ist der
+ Einsatz der Homematic-Verschlüsselung nicht zu empfehlen!
@@ -9677,8 +9684,8 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
sign [on|off]
Ein- oder ausschalten der Signierung (auch "AES-Verschlüsselung" genannt, siehe note). Achtung: Wird das Gerät über einen CUL eingebunden ist schalten (oder
- deaktivieren der Signierung) nicht möglich, das Gerät muss direkt zurückgesetzt werden.
+ href="#HMAES">note). Achtung: Wird das Gerät über einen CUL eingebunden, ist schalten (oder
+ deaktivieren der Signierung) nur möglich, wenn das Perl-Modul Crypt::Rijndael installiert ist.
statusRequest
Aktualisieren des Gerätestatus. Für mehrkanalige Geräte sollte dies kanalbasiert
@@ -10108,10 +10115,10 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
keyMatic
- Keymatic verwendet eine AES-signierte Kommunikation. Deshalb ist die Steuerung von Keymatic
- nur mit dem HM-LAN möglich. But
- Ein CUL kann aber Statusnachrichten von Keymatic mitlesen und darauf
- reagieren.
+ Keymatic verwendet eine AES-signierte Kommunikation. Die Steuerung von KeyMatic
+ ist mit HMLAN und mit CUL möglich.
+ Um die Keymatic mit einem CUL zu steuern, muss das Perl-Modul Crypt::Rijndael
+ installiert sein.
- lock
Schließbolzen fährt in Zu-Position