diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm
index 1d23e3364..0bbcf0998 100755
--- a/fhem/FHEM/10_CUL_HM.pm
+++ b/fhem/FHEM/10_CUL_HM.pm
@@ -230,8 +230,8 @@ sub CUL_HM_updateConfig($){
delete $attr{$name}{$_}
foreach ( "autoReadReg","actCycle","actStatus","burstAccess","serialNr"
,"IODev","IOList","IOgrp","hmProtocolEvents","rssiLog");
- $hash->{helper}{role}{vrt} = 1;
- $hash->{helper}{role}{dev} = 1;
+ #$hash->{helper}{role}{vrt} = 1;
+ #$hash->{helper}{role}{dev} = 1;
next;
}
CUL_HM_ID2PeerList($name,"",1); # update peerList out of peerIDs
@@ -3014,7 +3014,7 @@ sub CUL_HM_Get($@) {#+++++++++++++++++ get command+++++++++++++++++++++++++++++
my ($dst,$chn) = unpack 'A6A2',$hash->{DEF}.($roleC?'01':'00');
my $h = undef;
- $h = $culHmGlobalGets->{$cmd} if(!$roleV);
+ $h = $culHmGlobalGets->{$cmd} if(!$roleV &&($roleD || $roleC));
$h = $culHmVrtGets->{$cmd} if(!defined($h) && $roleV);
$h = $culHmSubTypeGets->{$st}{$cmd} if(!defined($h) && $culHmSubTypeGets->{$st});
$h = $culHmModelGets->{$md}{$cmd} if(!defined($h) && $culHmModelGets->{$md});
@@ -3023,10 +3023,10 @@ sub CUL_HM_Get($@) {#+++++++++++++++++ get command+++++++++++++++++++++++++++++
if(!defined($h)) {
my @arr = ();
- if(!$roleV) {foreach(keys %{$culHmGlobalGets} ){push @arr,"$_:".$culHmGlobalGets->{$_} }};
- if($roleV) {foreach(keys %{$culHmVrtGets} ){push @arr,"$_:".$culHmVrtGets->{$_} }};
- if($culHmSubTypeGets->{$st}){foreach(keys %{$culHmSubTypeGets->{$st}}){push @arr,"$_:".${$culHmSubTypeGets->{$st}}{$_} }};
- if($culHmModelGets->{$md}) {foreach(keys %{$culHmModelGets->{$md}} ){push @arr,"$_:".${$culHmModelGets->{$md}}{$_} }};
+ if(!$roleV &&($roleD || $roleC)){foreach(keys %{$culHmGlobalGets} ){push @arr,"$_:".$culHmGlobalGets->{$_} }};
+ if($roleV) {foreach(keys %{$culHmVrtGets} ){push @arr,"$_:".$culHmVrtGets->{$_} }};
+ if($culHmSubTypeGets->{$st}) {foreach(keys %{$culHmSubTypeGets->{$st}}){push @arr,"$_:".${$culHmSubTypeGets->{$st}}{$_} }};
+ if($culHmModelGets->{$md}) {foreach(keys %{$culHmModelGets->{$md}} ){push @arr,"$_:".${$culHmModelGets->{$md}}{$_} }};
foreach(@arr){
my ($cmd,$val) = split(":",$_,2);
@@ -3281,7 +3281,7 @@ sub CUL_HM_Set($@) {#+++++++++++++++++ set command+++++++++++++++++++++++++++++
my $fkt = $hash->{helper}{fkt}?$hash->{helper}{fkt}:"";
my $h = undef;
- $h = $culHmGlobalSets->{$cmd} if( !$roleV);
+ $h = $culHmGlobalSets->{$cmd} if( !$roleV &&($roleD || $roleC));
$h = $culHmGlobalSetsVrtDev->{$cmd} if(!defined($h) &&( $roleV || !$st) && $roleD);
$h = $culHmGlobalSetsDevice->{$cmd} if(!defined($h) && !$roleV && $roleD);
$h = $culHmSubTypeDevSets->{$st}{$cmd}if(!defined($h) && !$roleV && $roleD);
@@ -3299,13 +3299,13 @@ sub CUL_HM_Set($@) {#+++++++++++++++++ set command+++++++++++++++++++++++++++++
if(!defined($h) && defined($culHmSubTypeSets->{$st}{pct}) && $cmd =~ m/^\d+/) {
splice @a, 1, 0,"pct";#insert the actual command
}
- elsif(!defined($h)) {
+ elsif(!defined($h)) { ### unknown - return the commandlist
my @arr1 = ();
- if( $st ne "virtual") {foreach(keys %{$culHmGlobalSets} ){push @arr1,"$_:".$culHmGlobalSets->{$_} }};
- if(($st eq "virtual"||!$st) && $roleD){foreach(keys %{$culHmGlobalSetsVrtDev} ){push @arr1,"$_:".$culHmGlobalSetsVrtDev->{$_} }};
- if( $st ne "virtual" && $roleD){foreach(keys %{$culHmGlobalSetsDevice} ){push @arr1,"$_:".$culHmGlobalSetsDevice->{$_} }};
- if( $st ne "virtual" && $roleD){foreach(keys %{$culHmSubTypeDevSets->{$st}}){push @arr1,"$_:".${$culHmSubTypeDevSets->{$st}}{$_}}};
- if( $st ne "virtual" && $roleC){foreach(keys %{$culHmGlobalSetsChn} ){push @arr1,"$_:".$culHmGlobalSetsChn->{$_} }};
+ if( !$roleV &&($roleD || $roleC) ){foreach(keys %{$culHmGlobalSets} ){push @arr1,"$_:".$culHmGlobalSets->{$_} }};
+ if(( $roleV||!$st) && $roleD){foreach(keys %{$culHmGlobalSetsVrtDev} ){push @arr1,"$_:".$culHmGlobalSetsVrtDev->{$_} }};
+ if( !$roleV && $roleD){foreach(keys %{$culHmGlobalSetsDevice} ){push @arr1,"$_:".$culHmGlobalSetsDevice->{$_} }};
+ if( !$roleV && $roleD){foreach(keys %{$culHmSubTypeDevSets->{$st}}){push @arr1,"$_:".${$culHmSubTypeDevSets->{$st}}{$_}}};
+ if( !$roleV && $roleC){foreach(keys %{$culHmGlobalSetsChn} ){push @arr1,"$_:".$culHmGlobalSetsChn->{$_} }};
if( $culHmSubTypeSets->{$st} && $roleC){foreach(keys %{$culHmSubTypeSets->{$st}} ){push @arr1,"$_:".${$culHmSubTypeSets->{$st}}{$_} }};
if( $culHmModelSets->{$md}) {foreach(keys %{$culHmModelSets->{$md}} ){push @arr1,"$_:".${$culHmModelSets->{$md}}{$_} }};
if( $culHmChanSets->{$md."00"} && $roleD){foreach(keys %{$culHmChanSets->{$md."00"}} ){push @arr1,"$_:".${$culHmChanSets->{$md."00"}}{$_} }};
@@ -8667,18 +8667,19 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
restore will not delete any peered channels, it will just add peer channels.
listDevice
- when used with ccu it returns a list of Devices using the ccu service to assign an IO.
-
- when used with ActionDetector user will get a comma separated list of entities being assigned to the action detector
- get ActionDetector listDevice # returns all assigned entities
- get ActionDetector listDevice notActive# returns entities which habe not status alive
- get ActionDetector listDevice alive # returns entities with status alive
- get ActionDetector listDevice unknown # returns entities with status unknown
- get ActionDetector listDevice dead # returns entities with status dead
-
-
-
-
+
+ when used with ccu it returns a list of Devices using the ccu service to assign an IO.
+
+ when used with ActionDetector user will get a comma separated list of entities being assigned to the action detector
+ get ActionDetector listDevice # returns all assigned entities
+ get ActionDetector listDevice notActive# returns entities which habe not status alive
+ get ActionDetector listDevice alive # returns entities with status alive
+ get ActionDetector listDevice unknown # returns entities with status unknown
+ get ActionDetector listDevice dead # returns entities with status dead
+
+
+
+
Attributes
@@ -8691,12 +8692,12 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
aesCommReq
if set HMLAN/USB is forced to request AES signature before sending ACK to the device.
This funktion strictly works with HMLAN/USB - it doesn't work for CUL type IOs.
-
+
actAutoTry
actAutoTry 0_off,1_on
setting this option enables Action Detector to send a statusrequest in case of a device is going to be marked dead.
The attribut may be useful in case a device is being checked that does not send messages regularely - e.g. an ordinary switch.
-
+
actCycle
actCycle <[hhh:mm]|off>
Supports 'alive' or better 'not alive' detection for devices. [hhh:mm] is the maximum silent time for the device.
@@ -8713,7 +8714,7 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
The overall function can be viewed checking out the "ActionDetector" entity. The status of all entities is present in the READING section.
Note: This function can be enabled for devices with non-cyclic messages as well. It is up to the user to enter a reasonable cycletime.
-
+
autoReadReg
'0' autoReadReg will be ignored.
'1' will execute a getConfig for the device automatically after each reboot of FHEM.
@@ -8727,14 +8728,14 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
of the readings and the display will be delayed depending on the size of the database.
Recommendations and constrains upon usage:
- use this attribute on the device or channel 01. Do not use it separate on each channel
- of a multi-channel device to avoid duplicate execution
- usage on devices which only react to 'config' mode is not recommended since executen will
- not start until config is triggered by the user
- usage on devices which support wakeup-mode is usefull. But consider that execution is delayed
- until the device "wakes up".
-
-
+ use this attribute on the device or channel 01. Do not use it separate on each channel
+ of a multi-channel device to avoid duplicate execution
+ usage on devices which only react to 'config' mode is not recommended since executen will
+ not start until config is triggered by the user
+ usage on devices which support wakeup-mode is usefull. But consider that execution is delayed
+ until the device "wakes up".
+
+
burstAccess
can be set for the device entity if the model allowes conditionalBurst.
The attribut will switch off burst operations (0_off) which causes less message load
@@ -9944,17 +9945,18 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
"restore" löscht keine verknüpften Kanäle, es fügt nur neue Peers hinzu.
listDevice
- bei einer CCU gibt es eine Liste der Devices, welche den ccu service zum zuweisen der IOs zurück
-
- beim ActionDetector wird eine Komma geteilte Liste der Entities zurückgegeben
- get ActionDetector listDevice # returns alle assigned entities
- get ActionDetector listDevice notActive# returns entities ohne status alive
- get ActionDetector listDevice alive # returns entities mit status alive
- get ActionDetector listDevice unknown # returns entities mit status unknown
- get ActionDetector listDevice dead # returns entities mit status dead
-
-
-
+
+ bei einer CCU gibt es eine Liste der Devices, welche den ccu service zum zuweisen der IOs zurück
+
+ beim ActionDetector wird eine Komma geteilte Liste der Entities zurückgegeben
+ get ActionDetector listDevice # returns alle assigned entities
+ get ActionDetector listDevice notActive# returns entities ohne status alive
+ get ActionDetector listDevice alive # returns entities mit status alive
+ get ActionDetector listDevice unknown # returns entities mit status unknown
+ get ActionDetector listDevice dead # returns entities mit status dead
+
+
+
Attribute
diff --git a/fhem/FHEM/HMConfig.pm b/fhem/FHEM/HMConfig.pm
index d1e7c6c4e..c7d8b2d0c 100644
--- a/fhem/FHEM/HMConfig.pm
+++ b/fhem/FHEM/HMConfig.pm
@@ -302,9 +302,6 @@ my $K_actDetID = '000000'; # id of actionDetector
# "HM-LGW-O-TW-W-EU" #Funk LAN Gateway
#################open:---------------------------
-
-# rf_s list 1 ist neu
-# rf_s_644 list 1 ist neu
);
##----------definitions for register settings-----------------
@@ -447,7 +444,7 @@ my $K_actDetID = '000000'; # id of actionDetector
signalTone =>{a=> 3.6,s=>0.2,l=>0,min=>0 ,max=>3 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"" ,lit=>{low=>0,mid=>1,high=>2,veryHigh=>3}},
brightness =>{a=> 4.0,s=>0.4,l=>0,min=>0 ,max=>15 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Display brightness"},
- energyOpt =>{a=> 8.0,s=>1.0,l=>0,min=>0 ,max=>127 ,c=>'' ,f=>2 ,u=>'s' ,d=>1,t=>"energy Option: Duration of ilumination"},
+ energyOpt =>{a=> 8.0,s=>1.0,l=>0,min=>0 ,max=>127 ,c=>'' ,f=>1 ,u=>'s' ,d=>1,t=>"energy Option: Duration of ilumination",lit=>{permanent=>0}},
# sec_mdir
cyclicInfoMsg =>{a=> 9.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message" ,lit=>{off=>0,on=>1,on_100=>200}},
sabotageMsg =>{a=> 16.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"enable sabotage message" ,lit=>{off=>0,on=>1}},# sc needs 1 - others?
@@ -1340,24 +1337,24 @@ $culHmRegChan{"ROTO_ZEL-STG-RM-FWT03"}= $culHmRegChan{"HM-CC-TC03"};
##############################---get---########################################
#define gets - try use same names as for set
%culHmGlobalGets = (
- param => " ",
- reg => " ... ",
- regVal => " ... ",
- regList => "",
- cmdList => "",
- saveConfig => " ...",
+ param => " ",
+ reg => " ... ",
+ regVal => " ... ",
+ regList => "",
+ cmdList => "",
+ saveConfig => " ...",
);
%culHmVrtGets = (
- param => " ",
- cmdList => "",
- saveConfig => " ...",
+ param => " ",
+ cmdList => "",
+ saveConfig => " ...",
);
%culHmSubTypeGets = (
- none4Type =>{ "test"=>"" },
+ none4Type =>{ "test"=>"" },
);
%culHmModelGets = (
- "CCU-FHEM" =>{ "listDevice"=>"" },
- "ActionDetector" =>{ "listDevice"=>"[all|alive|unknown|dead|notAlive] ..." },
+ "CCU-FHEM" =>{ "listDevice"=>"" },
+ ActionDetector =>{ "listDevice"=>"[all|alive|unknown|dead|notAlive] ..." },
);
##############################---set---########################################
@@ -1380,86 +1377,83 @@ $culHmRegChan{"ROTO_ZEL-STG-RM-FWT03"}= $culHmRegChan{"HM-CC-TC03"};
);
%culHmSubTypeDevSets = (# device of this subtype
- switch =>{ getSerial => ""
- ,pair => ""
- ,getVersion => ""
- },
-# remote =>{ },
-# threeStateSensor =>{ statusRequest =>""},
-# THSensor =>{ statusRequest =>""}, at least OT/OT2 do not support this
-# virtual =>{ },
-# smokeDetector =>{ statusRequest => ""},#not SCD
- winMatic =>{ statusRequest => ""},
- keyMatic =>{ statusRequest => ""},
- repeater =>{ statusRequest => "",
- getSerial => ""},
- outputUnit =>{ statusRequest => ""},
+ switch =>{ getSerial => ""
+ ,pair => ""
+ ,getVersion => ""
+ }
+ ,winMatic =>{ statusRequest => ""}
+ ,keyMatic =>{ statusRequest => ""}
+ ,repeater =>{ statusRequest => ""
+ ,getSerial => ""
+ }
+ ,outputUnit =>{ statusRequest => ""}
);
$culHmSubTypeDevSets{dimmer} = $culHmSubTypeDevSets{switch};
$culHmSubTypeDevSets{blindActuator} = $culHmSubTypeDevSets{switch};
%culHmGlobalSetsChn = (# all channels but virtuals
- sign => "[on|off]",
- peerBulk => " [set|unset]",
+ sign => "[on|off]"
+ ,peerBulk => " [set|unset]"
);
%culHmSubTypeSets = (# channels of this subtype
- switch =>{ "on-for-timer" =>""
- ,"on-till" =>""
- ,on =>""
- ,off =>""
- ,toggle =>""
- ,press =>"[long|short] [] [] [] ..."
- ,inhibit =>"[on|off]"
- ,statusRequest =>""
- ,peerIODev =>"[IO] [set|unset]... not for future use"
- },
- dimmer =>{ "on-for-timer" =>" []..."
- ,"on-till" =>" []..."
- ,on =>""
- ,off =>""
- ,toggle =>""
- ,pct =>" ... [] []"
- ,stop =>""
- ,press =>"[long|short] [on|off|] [] [] ..."
- ,up =>"[] [] [] ..."
- ,down =>"[] [] [] ..."
- ,inhibit =>"[on|off]"
- ,statusRequest =>""
- ,peerIODev =>"[IO] [set|unset]... not for future use"
- },
- blindActuator =>{ on =>""
- ,off =>""
- ,toggle =>""
- ,toggleDir =>""
- ,pct =>"[] ... []"
- ,stop =>""
- ,press =>"[long|short] [on|off|] [] [] ..."
- ,up =>"[] [] [] ..."
- ,down =>"[] [] [] ..."
- ,inhibit =>"[on|off]"
- ,statusRequest =>""
- ,peerIODev =>"[IO] [set|unset]... not for future use"
- },
- remote =>{ peerChan =>" ... [single|dual|reverse] [set|unset] [actor|remote|both]"},
- threeStateSensor =>{ peerChan =>" ... single [set|unset] [actor|remote|both]"
-# ,statusRequest =>""
- },
- THSensor =>{ peerChan =>"0 ... single [set|unset] [actor|remote|both]"},
- virtual =>{ peerChan =>" ... [single|dual|reverse] [set|unset] [actor|remote|both]"
- ,press =>"[long|short] [noBurst] [] [] ..."
- ,postEvent =>""},
- smokeDetector =>{ peerChan =>" ... single [set|unset] actor"},
- winMatic =>{ statusRequest =>""},
- keyMatic =>{ lock =>""
- ,unlock =>"[] ..."
- ,open =>"[] ..."
- ,inhibit =>"[on|off]"
- ,statusRequest =>""},
- repeater =>{ setRepeat => "[no1..36] [bdcast-yes|no]"
- ,inhibit => "[on|off]"
- ,statusRequest =>""},
- outputUnit =>{ statusRequest =>""},
+ switch =>{ "on-for-timer" =>""
+ ,"on-till" =>""
+ ,on =>""
+ ,off =>""
+ ,toggle =>""
+ ,press =>"[long|short] [] [] [] ..."
+ ,inhibit =>"[on|off]"
+ ,statusRequest =>""
+ ,peerIODev =>"[IO] [set|unset]... not for future use"
+ }
+ ,dimmer =>{ "on-for-timer" =>" []..."
+ ,"on-till" =>" []..."
+ ,on =>""
+ ,off =>""
+ ,toggle =>""
+ ,pct =>" ... [] []"
+ ,stop =>""
+ ,press =>"[long|short] [on|off|] [] [] ..."
+ ,up =>"[] [] [] ..."
+ ,down =>"[] [] [] ..."
+ ,inhibit =>"[on|off]"
+ ,statusRequest =>""
+ ,peerIODev =>"[IO] [set|unset]... not for future use"
+ }
+ ,blindActuator =>{ on =>""
+ ,off =>""
+ ,toggle =>""
+ ,toggleDir =>""
+ ,pct =>"[] ... []"
+ ,stop =>""
+ ,press =>"[long|short] [on|off|] [] [] ..."
+ ,up =>"[] [] [] ..."
+ ,down =>"[] [] [] ..."
+ ,inhibit =>"[on|off]"
+ ,statusRequest =>""
+ ,peerIODev =>"[IO] [set|unset]... not for future use"
+ }
+ ,remote =>{ peerChan =>" ... [single|dual|reverse] [set|unset] [actor|remote|both]"}
+ ,threeStateSensor =>{ peerChan =>" ... single [set|unset] [actor|remote|both]"}
+ ,THSensor =>{ peerChan =>"0 ... single [set|unset] [actor|remote|both]"}
+ ,virtual =>{ peerChan =>" ... [single|dual|reverse] [set|unset] [actor|remote|both]"
+ ,press =>"[long|short] [noBurst] [] [] ..."
+ ,postEvent =>""
+ }
+ ,smokeDetector =>{ peerChan =>" ... single [set|unset] actor"}
+ ,winMatic =>{ statusRequest =>""}
+ ,keyMatic =>{ lock =>""
+ ,unlock =>"[] ..."
+ ,open =>"[] ..."
+ ,inhibit =>"[on|off]"
+ ,statusRequest =>""
+ }
+ ,repeater =>{ setRepeat => "[no1..36] [bdcast-yes|no]"
+ ,inhibit => "[on|off]"
+ ,statusRequest =>""
+ }
+ ,outputUnit =>{ statusRequest =>""}
);
# clones- - - - - - - - - - - - - - - - -
$culHmSubTypeSets{pushButton} = $culHmSubTypeSets{remote};
@@ -1473,27 +1467,32 @@ $culHmSubTypeSets{powerMeter} = $culHmSubTypeSets{outputUnit};
$culHmSubTypeSets{motionDetector} = $culHmSubTypeSets{threeStateSensor};
%culHmModelSets = (# channels of this subtype-------------
- "HM-CC-VD" =>{ valvePos =>"[off|0.0..99.0]"},
- "HM-RC-19" =>{ service => ""
- ,alarm => ""
- ,display => " [comma|no] [unit] [off|1|2|3] [off|on|slow|fast] "},
- "HM-PB-4DIS-WM" =>{ text => " ..."
- #text => " [on|off] ...", old style will not be offered anymore
- },
- "HM-OU-LED16" =>{ led => "[off|red|green|orange]"
- ,ilum => "[0-15] [0-127]"},
- "HM-OU-CFM-PL" =>{ "on-for-timer" =>""
- ,"on-till" =>""
- ,on =>""
- ,off =>""
- ,toggle =>""
- ,press =>"[long|short] [] ..."
- ,inhibit =>"[on|off]"},
- "HM-CC-TC" =>{ burstXmit =>""},
- "HM-CC-RT-DN" =>{ burstXmit =>""
- ,inhibit =>"[on|off]"},
- "HM-TC-IT-WM-W-EU" =>{ inhibit =>"[on|off]"},
- "HM-SEC-SD" =>{ statusRequest =>""},
+ "HM-CC-VD" =>{ valvePos =>"[off|0.0..99.0]"}
+ ,"HM-RC-19" =>{ service => ""
+ ,alarm => ""
+ ,display => " [comma|no] [unit] [off|1|2|3] [off|on|slow|fast] "
+ }
+ ,"HM-PB-4DIS-WM" =>{ text => " ..."
+ #text => " [on|off] ...", old style will not be offered anymore
+ }
+ ,"HM-OU-LED16" =>{ led => "[off|red|green|orange]"
+ ,ilum => "[0-15] [0-127]"
+ }
+ ,"HM-OU-CFM-PL" =>{ "on-for-timer" =>""
+ ,"on-till" =>""
+ ,on =>""
+ ,off =>""
+ ,toggle =>""
+ ,press =>"[long|short] [] ..."
+ ,inhibit =>"[on|off]"
+ }
+ ,"HM-CC-TC" =>{ burstXmit =>""}
+ ,"HM-CC-RT-DN" =>{ burstXmit =>""
+ ,inhibit =>"[on|off]"
+ }
+ ,"HM-TC-IT-WM-W-EU" =>{ inhibit =>"[on|off]"}
+ ,"HM-SEC-SD" =>{ statusRequest =>""}
+ ,"ActionDetector" =>{ clear => "[readings|all]"}
);
# clones- - - - - - - - - - - - - - - - -
$culHmModelSets{"HM-CC-RT-DN-BoM"} = $culHmModelSets{"HM-CC-RT-DN"};
@@ -1512,94 +1511,96 @@ $culHmModelSets{"HM-RC-Dis-H-x-EU"} = $culHmModelSets{"HM-PB-4DIS-WM"};
#%{$culHmModelSets{"HM-RC-19-SW"}} = %{$culHmModelSets{"HM-RC-19"}}; copy
%culHmChanSets = (
- "HM-CC-TC00" =>{ "desired-temp" =>"[on|off|6.0..30.0]"
- ,statusRequest =>""
- ,sysTime =>""
- ,getSerial => ""},
- "HM-CC-TC02" =>{ peerChan =>" 0 ... single [set|unset] [actor|remote|both]"
- ,"desired-temp" =>"[on|off|6.0..30.0]"
- ,tempListSat =>"[prep|exec] HH:MM temp ..."
- ,tempListSun =>"[prep|exec] HH:MM temp ..."
- ,tempListMon =>"[prep|exec] HH:MM temp ..."
- ,tempListTue =>"[prep|exec] HH:MM temp ..."
- ,tempListThu =>"[prep|exec] HH:MM temp ..."
- ,tempListWed =>"[prep|exec] HH:MM temp ..."
- ,tempListFri =>"[prep|exec] HH:MM temp ..."
- ,tempListTmpl =>"[verify|restore] [[:]templateName] ..."
- ,partyMode =>"[prep|exec] HH:MM durationDays ..."
- ,displayMode =>"[temp-only|temp-hum]"
- ,displayTemp =>"[actual|setpoint]"
- ,displayTempUnit=>"[celsius|fahrenheit]"
- ,controlMode =>"[auto|manual|central|party]"
- ,statusRequest =>""
- ,sysTime =>""},
- "HM-OU-CFM-PL01" =>{ led =>"[redL|greenL|orangeL|redS|greenS|orangeS|pause][,...] []"},
- "HM-OU-CFM-PL02" =>{ playTone =>"[replay|[,...]] []"},
- "HM-SEC-WIN01" =>{ stop =>"",
- ,level =>" ..."
- ,keydef =>" "
- ,inhibit =>"[on|off]"
- ,press =>"[long|short] [] [] []..."
- ,peerIODev =>"[IO] [set|unset]... not for future use"
- },
- "HM-Sen-RD-O02" =>{ "on-for-timer" =>""
- ,"on-till" =>""
- ,on =>""
- ,off =>""
- ,toggle =>""},
- "HM-CC-RT-DN00" =>{ sysTime =>""
- ,fwUpdate =>" ..."
- },
- "HM-LC-Bl1PBU-FM00" =>{ fwUpdate =>" ..."
- },
- "HM-CC-RT-DN04" =>{ controlMode =>"[auto|manual|boost|day|night]"
- ,controlManu =>"[on|off|5.0..30.0]"
- ,controlParty =>" "
- ,tempListSat =>"[prep|exec] HH:MM temp ..."
- ,tempListSun =>"[prep|exec] HH:MM temp ..."
- ,tempListMon =>"[prep|exec] HH:MM temp ..."
- ,tempListTue =>"[prep|exec] HH:MM temp ..."
- ,tempListThu =>"[prep|exec] HH:MM temp ..."
- ,tempListWed =>"[prep|exec] HH:MM temp ..."
- ,tempListFri =>"[prep|exec] HH:MM temp ..."
- ,tempListTmpl =>"[verify|restore] [[:]templateName] ..."
- ,"desired-temp" =>"[on|off|5.0..30.0]"
- ,sysTime =>""
- },
- "HM-TC-IT-WM-W-EU02"=>{ controlMode =>"[auto|manual|boost|day|night]"
- ,controlManu =>"[on|off|5.0..30.0]"
- ,controlParty =>" "
- ,tempListSat =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,tempListSun =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,tempListMon =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,tempListTue =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,tempListThu =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,tempListWed =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,tempListFri =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
- ,"desired-temp" =>"[on|off|5.0..30.0]"
- ,tempListTmpl =>"[verify|restore] [[:]templateName] ..."
- ,peerChan =>" ... single [set|unset] [actor|remote|both]"
- },
- "HM-TC-IT-WM-W-EU01"=>{ peerChan =>" ... single [set|unset] [actor|remote|both]"},
- "HM-TC-IT-WM-W-EU07"=>{ peerChan =>" ... single [set|unset] [actor|remote|both]"},
- "HM-ES-PMSw1-Pl01" =>{ "on-for-timer" =>""
- ,"on-till" =>""
- ,on =>""
- ,off =>""
- ,toggle =>""
- ,press =>"[long|short] [] [] [] ..."
- ,inhibit =>"[on|off]"
- ,statusRequest =>""},
- "HM-ES-PMSw1-Pl00" =>{ fwUpdate =>" ..."
- ,getSerial => ""},
- "HM-CC-RT-DN06" =>{ press =>"[long|short] [] [] [] ..."
- },
- "HM-Dis-WM5501" =>{ displayWM =>"[long|short|help] [ ] ...[ ] "},
- "CCU-FHEM00" =>{ update =>"",
- hmPairForSec =>"",
- hmPairSerial =>"",
- defIgnUnknown=>"",
- },
+ "HM-CC-TC00" =>{ "desired-temp" =>"[on|off|6.0..30.0]"
+ ,statusRequest =>""
+ ,sysTime =>""
+ ,getSerial => ""
+ }
+ ,"HM-CC-TC02" =>{ peerChan =>" 0 ... single [set|unset] [actor|remote|both]"
+ ,"desired-temp" =>"[on|off|6.0..30.0]"
+ ,tempListSat =>"[prep|exec] HH:MM temp ..."
+ ,tempListSun =>"[prep|exec] HH:MM temp ..."
+ ,tempListMon =>"[prep|exec] HH:MM temp ..."
+ ,tempListTue =>"[prep|exec] HH:MM temp ..."
+ ,tempListThu =>"[prep|exec] HH:MM temp ..."
+ ,tempListWed =>"[prep|exec] HH:MM temp ..."
+ ,tempListFri =>"[prep|exec] HH:MM temp ..."
+ ,tempListTmpl =>"[verify|restore] [[:]templateName] ..."
+ ,partyMode =>"[prep|exec] HH:MM durationDays ..."
+ ,displayMode =>"[temp-only|temp-hum]"
+ ,displayTemp =>"[actual|setpoint]"
+ ,displayTempUnit=>"[celsius|fahrenheit]"
+ ,controlMode =>"[auto|manual|central|party]"
+ ,statusRequest =>""
+ ,sysTime =>""
+ }
+ ,"HM-OU-CFM-PL01" =>{ led =>"[redL|greenL|orangeL|redS|greenS|orangeS|pause][,...] []"}
+ ,"HM-OU-CFM-PL02" =>{ playTone =>"[replay|[,...]] []"}
+ ,"HM-SEC-WIN01" =>{ stop =>"",
+ ,level =>" ..."
+ ,keydef =>" "
+ ,inhibit =>"[on|off]"
+ ,press =>"[long|short] [] [] []..."
+ ,peerIODev =>"[IO] [set|unset]... not for future use"
+ }
+ ,"HM-Sen-RD-O02" =>{ "on-for-timer" =>""
+ ,"on-till" =>""
+ ,on =>""
+ ,off =>""
+ ,toggle =>""
+ }
+ ,"HM-CC-RT-DN00" =>{ sysTime =>""
+ ,fwUpdate =>" ..."}
+ ,"HM-LC-Bl1PBU-FM00" =>{ fwUpdate =>" ..."}
+ ,"HM-CC-RT-DN04" =>{ controlMode =>"[auto|manual|boost|day|night]"
+ ,controlManu =>"[on|off|5.0..30.0]"
+ ,controlParty =>" "
+ ,tempListSat =>"[prep|exec] HH:MM temp ..."
+ ,tempListSun =>"[prep|exec] HH:MM temp ..."
+ ,tempListMon =>"[prep|exec] HH:MM temp ..."
+ ,tempListTue =>"[prep|exec] HH:MM temp ..."
+ ,tempListThu =>"[prep|exec] HH:MM temp ..."
+ ,tempListWed =>"[prep|exec] HH:MM temp ..."
+ ,tempListFri =>"[prep|exec] HH:MM temp ..."
+ ,tempListTmpl =>"[verify|restore] [[:]templateName] ..."
+ ,"desired-temp" =>"[on|off|5.0..30.0]"
+ ,sysTime =>""
+ }
+ ,"HM-TC-IT-WM-W-EU02"=>{ controlMode =>"[auto|manual|boost|day|night]"
+ ,controlManu =>"[on|off|5.0..30.0]"
+ ,controlParty =>" "
+ ,tempListSat =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,tempListSun =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,tempListMon =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,tempListTue =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,tempListThu =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,tempListWed =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,tempListFri =>"[prep|exec] [p1|p2|p3] HH:MM temp ..."
+ ,"desired-temp" =>"[on|off|5.0..30.0]"
+ ,tempListTmpl =>"[verify|restore] [[:]templateName] ..."
+ ,peerChan =>" ... single [set|unset] [actor|remote|both]"
+ }
+ ,"HM-TC-IT-WM-W-EU01"=>{ peerChan =>" ... single [set|unset] [actor|remote|both]"}
+ ,"HM-TC-IT-WM-W-EU07"=>{ peerChan =>" ... single [set|unset] [actor|remote|both]"}
+ ,"HM-ES-PMSw1-Pl01" =>{ "on-for-timer" =>""
+ ,"on-till" =>""
+ ,on =>""
+ ,off =>""
+ ,toggle =>""
+ ,press =>"[long|short] [] [] [