2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-01 07:19:24 +00:00

bug fixing, RT enhancement

git-svn-id: https://svn.fhem.de/fhem/trunk@4003 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2013-10-04 10:24:59 +00:00
parent 1471381019
commit d66ebdec5f
2 changed files with 165 additions and 83 deletions

View File

@ -202,11 +202,13 @@ sub CUL_HM_updateConfig($){
my $actCycle = AttrVal($name,"actCycle",undef);
CUL_HM_ActAdd($id,$actCycle) if ($actCycle);# add to ActionDetect?
# --- set default attrubutes if missing ---
$attr{$name}{expert}= AttrVal($name,"expert","2_full")
if ($hash->{helper}{role}{dev});
if ($hash->{helper}{role}{dev}){
$attr{$name}{expert} = AttrVal($name,"expert" ,"2_full");
$attr{$name}{autoReadReg}= AttrVal($name,"autoReadReg","4_reqStatus");
}
CUL_HM_Attr("attr",$name,"expert",$attr{$name}{expert});#need update after readings are available
}
else{
else{# Action Detector only
$attr{$name}{"event-on-change-reading"} = AttrVal($name, "event-on-change-reading", ".*");
delete $hash->{helper}{role};
$hash->{helper}{role}{vrt} = 1;
@ -2689,8 +2691,8 @@ sub CUL_HM_Set($@) {
my $subtype = ($cmd eq "alarm")?"81":"82";
CUL_HM_PushCmdStack($hash,
sprintf("++%s11%s%s%s%s%02X",$flag,$id,$dst,$subtype,$chn, $a[2]));
}
elsif($cmd eq "led") { ######################################################
}
elsif($cmd eq "led") { ######################################################
if ($md eq "HM-OU-LED16"){
my %color=(off=>0,red=>1,green=>2,orange=>3);
if (length($hash->{DEF}) == 6){# command called for a device, not a channel
@ -2765,8 +2767,13 @@ sub CUL_HM_Set($@) {
}
CUL_HM_PushCmdStack($hash,$msg) if ($msg);
}
elsif($cmd eq "mode") { #####################################################
return "select one of auto,manu,party,boost,comfort,lower"
elsif($cmd =~ m/^(mode|mode-manu|mode-party)$/) { ###########################
my $mode = length($a[1]<5)?$a[1]:substr($a[1],5);
if (length$a[1] > 4){
splice @a,2,0,substr($a[1],5);
$a[3] = ($a[3] eq "off")?4.5:($a[3] eq "on"?30.5:$a[3]);
}
return "select one of auto,manu,party,boost,comfort,lower"
if ($a[2] !~ m/^(auto|manu|party|boost|comfort|lower)$/);
my ($temp,$party);
if ($a[2] =~ m/^(auto|boost|comfort|lower)$/){
@ -2778,28 +2785,28 @@ sub CUL_HM_Set($@) {
$temp = $a[3]*2;
}
elsif($a[2] eq "party"){
return "temperatur for manu 5 to 30 C"
if (!$a[3] || $a[3] < 5 || $a[3] > 30);
return "enter date like party 3 03.8.13 11:30 5.8.13 12:00"
if (!$a[7] );
return "use party <temp> <from-time> <from-date> <to-time> <to-date>\n"
."temperatur: 5 to 30 C\n"
."date format: party 10 03.8.13 11:30 5.8.13 12:00"
if (!$a[3] || $a[3] < 5 || $a[3] > 30 || !$a[7] );
$temp = $a[3]*2;
# party format 03.8.13 11:30 5.8.13 12:00
my ($sd,$sm,$sy) = split('\.',$a[4]);
return "wrong start day $sd" if ($sd < 0 || $sd > 31);
my ($sh,$smin) = split(':' ,$a[5]);
my ($ed,$em,$ey) = split('\.',$a[6]);
my ($eh,$emin) = split(':' ,$a[7]);
return "wrong start day $sd" if ($sd < 0 || $sd > 31);
return "wrong start month $sm" if ($sm < 0 || $sm > 12);
return "wrong start year $sy" if ($sy < 0 || $sy > 99);
my ($sh,$smin) = split(':',$a[5]);
return "wrong start hour $sh" if ($sh < 0 || $sh > 23);
return "wrong start year $sy" if ($sy < 0 || $sy > 99);
return "wrong start hour $sh" if ($sh < 0 || $sh > 23);
return "wrong start minute $smin, ony 00 or 30" if ($smin != 0 && $smin != 30);
$sh = $sh * 2 + $smin/30;
my ($ed,$em,$ey) = split('\.',$a[6]);
return "wrong end day $ed" if ($ed < 0 || $ed > 31);
return "wrong end month $em" if ($em < 0 || $em > 12);
return "wrong end year $ey" if ($ey < 0 || $ey > 99);
my ($eh,$emin) = split(':',$a[7]);
return "wrong end hour $eh" if ($eh < 0 || $eh > 23);
return "wrong end hour $eh" if ($eh < 0 || $eh > 23);
return "wrong end minute $emin, ony 00 or 30" if ($emin != 0 && $emin != 30);
$eh = $eh * 2 + $emin/30;
@ -2807,7 +2814,7 @@ sub CUL_HM_Set($@) {
$sh,$sd,$sy,$eh,$ed,$ey,($sm*16+$em));
}
my %mCmd = (auto=>0,manu=>1,party=>2,boost=>3,comfort=>4,lower=>5);
readingsSingleUpdate($hash,"modeSet","set_".$a[2],1);
readingsSingleUpdate($hash,"mode","set_".$a[2],1);
my $msg = '8'.($mCmd{$a[2]}).$chn;
$msg .= sprintf("%02X",$temp) if ($temp);
$msg .= $party if ($party);
@ -2881,7 +2888,6 @@ sub CUL_HM_Set($@) {
$msg .= sprintf(" %02d:%02d %.1f", $h, $m, $a[$idx+1]);
}
CUL_HM_pushConfig($hash, $id, $dst, $prgChn,0,0,$list, $data);
readingsSingleUpdate($hash,"tempList$wd",$msg,0);
}
elsif($cmd eq "sysTime") { ##################################################
$state = "";
@ -4338,41 +4344,62 @@ sub CUL_HM_TCtempReadings($) {# parse TC temperature readings
sub CUL_HM_RTtempReadings($) {# parse RT temperature readings
my ($hash)=@_;
my $name = $hash->{NAME};
my $regLN = ((CUL_HM_getAttrInt($name,"expert") == 2)?"":".")."RegL_";
my $tempRegs = ReadingsVal($name,$regLN."07:" ,"");
my @days = ("Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri");
my $regLN = ((CUL_HM_getAttrInt($name,"expert") == 2)?"":".")."RegL_07:";
my $tempRegs = ReadingsVal($name,$regLN,"");
my $stmpRegs = ($hash->{helper}{shadowReg}{$regLN})? # need to compare actual data
($hash->{helper}{shadowReg}{$regLN})
:$tempRegs;
return "reglist incomplete\n" if ($tempRegs !~ m/00:00/);
my @days = ("Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri");
$tempRegs =~ s/.* 14://; #remove register up to addr 20 from list
$tempRegs =~ s/ 00:00/ /g; #remove regline termination
$tempRegs =~ s/ ..://g; #remove addr Info
$tempRegs =~ s/ //g; #blank
my @time;
my @temp;
foreach (unpack '(A4)*',$tempRegs){
my $h = hex($_);
push @temp,($h >> 9)/2;
$h = ($h & 0x1ff) * 5;
$h = sprintf("%02d:%02d",int($h / 60),($h%60));
push @time,$h;
}
return "reglist incomplete\n" if (scalar( @time )<91);
$stmpRegs =~ s/.* 14://;
$stmpRegs =~ s/ 00:00/ /g;
$stmpRegs =~ s/ ..://g;
$stmpRegs =~ s/ //g;
my $setting;
my @changedRead;
push (@changedRead,"tempList_State:".
($hash->{helper}{shadowReg}{$regLN."07:"} ?"set":"verified"));
($hash->{helper}{shadowReg}{$regLN} ?"set":"verified"));
for (my $day = 0;$day<7;$day++){
my $dayRead = "";
for (my $idx = $day *13;$idx<($day+1) *13;$idx++){
my $pre ="";
my @time;
my @temp;
my $str;
if (substr($stmpRegs,$day *13*4,13*4) eq
substr($tempRegs,$day *13*4,13*4) ){
$str = substr($tempRegs,$day *13*4,13*4);
}
else{
$str = substr($stmpRegs,$day *13*4,13*4);
$pre = "set_";
}
foreach (unpack '(A4)*',$str){
my $h = hex($_);
push @temp,($h >> 9)/2;
$h = ($h & 0x1ff) * 5;
$h = sprintf("%02d:%02d",int($h / 60),($h%60));
push @time,$h;
}
for (my $idx = 0;$idx<13;$idx++){
my $entry = sprintf(" %s %3.01f",$time[$idx],$temp[$idx]);
$setting .= "Temp set: ".$days[$day].$entry." C\n";
$dayRead .= $entry;
last if ($time[$idx] eq "24:00");
}
push (@changedRead,"tempList".$days[$day].":".$dayRead);
push (@changedRead,"tempList".$days[$day].":".$pre." ".$dayRead);
}
CUL_HM_UpdtReadBulk($hash,1,@changedRead) if (@changedRead);
# transport some readings to relevant channels (window receivce here)
my $wHash = $modules{CUL_HM}{defptr}{substr($hash->{DEF},0,6)."03"};
CUL_HM_UpdtReadBulk($wHash,1,
"R-winOpnTemp:" .ReadingsVal($name,"R-winOpnTemp" ,"unknown"),
@ -5276,6 +5303,35 @@ sub CUL_HM_putHash($) {# provide data for HMinfo
must be entered<br> </li>
<li><B>systime</B><br>
set time in climate channel to system time</li>
</ul><br>
</li>
<li>Climate-Control (HM-CC-RT-DN)
<ul>
<li><B>mode &lt;auto|boost|comfort|lower&gt;</B><br></li>
<li><B>mode_manu &lt;temp&gt;</B><br></li>
<li><B>mode_party &lt;temp&gt;&lt;startDate&gt;&lt;startTime&gt;&lt;endDate&gt;&lt;endTime&gt;</B><br>
set control mode to party, define temp and timeframe.<br>
example:<br>
<code>set mode_party 15 03.8.13 20:30 5.8.13 11:30</code></li>
<li><B>systime</B><br>
set time in climate channel to system time</li>
<li><B>desired-temp &lt;temp&gt;</B><br>
Set different temperatures. &lt;temp&gt; must be between 6 and 30
Celsius, and precision is half a degree.</li>
<li><B>tempListSat HH:MM temp ... 24:00 temp</B><br></li>
<li><B>tempListSun HH:MM temp ... 24:00 temp</B><br></li>
<li><B>tempListMon HH:MM temp ... 24:00 temp</B><br></li>
<li><B>tempListTue HH:MM temp ... 24:00 temp</B><br></li>
<li><B>tempListThu HH:MM temp ... 24:00 temp</B><br></li>
<li><B>tempListWed HH:MM temp ... 24:00 temp</B><br></li>
<li><B>tempListFri HH:MM temp ... 24:00 temp</B><br>
Specify a list of temperature intervals. Up to 24 intervals can be
specified for each week day, the resolution is 10 Minutes. The
last time spec must always be 24:00.<br>
Example: until 6:00 temperature shall be 19, from then until 23:00 temperature shall be
22.5, thereafter until midnight, 19 degrees celsius is desired.<br>
<code> set th tempListSat 06:00 19 23:00 22.5 24:00 19<br></code></li>
</ul><br>
</li>
<li>OutputUnit (HM-OU-LED16)

View File

@ -154,12 +154,12 @@ my %culHmModel=(
"006B" => {name=>"HM-PB-2-WM55" ,st=>'pushButton' ,cyc=>'' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"Btn:1:2",},
"006C" => {name=>"HM-LC-SW1-BA-PCB" ,st=>'switch' ,cyc=>'' ,rxt=>'b' ,lst=>'3' ,chn=>"",},
"006D" => {name=>"HM-OU-LED16" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'' ,lst=>'p' ,chn=>"Led:1:16",},
"006E" => {name=>"HM-LC-Dim1L-CV" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"006F" => {name=>"HM-LC-Dim1L-Pl" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"006E" => {name=>"HM-LC-Dim1L-CV-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"006F" => {name=>"HM-LC-Dim1L-Pl-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0070" => {name=>"HM-LC-Dim2L-SM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2,Sw1_V:3:4,Sw2_V:5:6",},#
"0071" => {name=>"HM-LC-Dim1T-Pl" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0072" => {name=>"HM-LC-Dim1T-CV" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0073" => {name=>"HM-LC-Dim1T-FM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0071" => {name=>"HM-LC-Dim1T-Pl-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0072" => {name=>"HM-LC-Dim1T-CV-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0073" => {name=>"HM-LC-Dim1T-FM-644" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"0074" => {name=>"HM-LC-Dim2T-SM" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2,Sw1_V:3:4,Sw2_V:5:6",},#
"0075" => {name=>"HM-OU-CFM-PL" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"Led:1:1,Mp3:2:2",},
"0076" => {name=>"HM-Sys-sRP-Pl" ,st=>'repeater' ,cyc=>'' ,rxt=>'' ,lst=>'p,2' ,chn=>"",}, # repeater
@ -207,7 +207,17 @@ my %culHmModel=(
"00A9" => {name=>"HM-PB-6-WM55" ,st=>'remote' ,cyc=>'' ,rxt=>'c' ,lst=>'1,4' ,chn=>"Btn:1:6",},
"00AB" => {name=>"HM-LC-SW4-BA-PCB" ,st=>'switch' ,cyc=>'' ,rxt=>'b' ,lst=>'1,3' ,chn=>"Sw:1:4",},
"00AF" => {name=>"HM-OU-CM-PCB" ,st=>'outputUnit' ,cyc=>'' ,rxt=>'' ,lst=>'3' ,chn=>"",},
"00B1" => {name=>"HM-SEC-SC-2" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",},
"00B2" => {name=>"HM-SEC-WDS-2" ,st=>'threeStateSensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",},
"00B3" => {name=>"HM-LC-Dim1L-Pl-3" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00B4" => {name=>"HM-LC-Dim1T-Pl-3" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00B5" => {name=>"HM-LC-Dim1PWM-CV-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00B6" => {name=>"HM-LC-Dim1TPBU-FM-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00B7" => {name=>"HM-LC-Dim1L-CV-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00B8" => {name=>"HM-LC-Dim2L-SM-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2,Sw1_V:3:4,Sw2_V:5:6",},#
"00B9" => {name=>"HM-LC-Dim1T-CV-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00BA" => {name=>"HM-LC-Dim1T-FM-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:1,Sw1_V:2:3",},
"00BB" => {name=>"HM-LC-Dim2T-SM-2" ,st=>'dimmer' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:2,Sw1_V:3:4,Sw2_V:5:6",},#
"8001" => {name=>"PS-switch" ,st=>'switch' ,cyc=>'' ,rxt=>'' ,lst=>'1,3' ,chn=>"Sw:1:4",},
"8002" => {name=>"PS-Th-Sens" ,st=>'THSensor' ,cyc=>'' ,rxt=>'' ,lst=>'1,4' ,chn=>"Sen:1:4",},
#263 167 HM Smoke Detector Schueco
@ -476,7 +486,13 @@ my %culHmRegDefine = (
stormLowThresh =>{a=> 7 ,s=>1 ,l=>1,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"Storm lower threshold"},
# others
localResetDis =>{a=> 7 ,s=>1 ,l=>1,min=>0 ,max=>255 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"LocalReset disable",lit=>{off=>0,on=>1}},
#un-identified List1
condTxThrhHi =>{a=>135 ,s=>2 ,l=>1,min=>0 ,max=>3000 ,c=>'' ,f=>'' ,u=>'mV' ,d=>0,t=>"threshold high condition"},
condTxThrhHi =>{a=>139 ,s=>2 ,l=>1,min=>0 ,max=>3000 ,c=>'' ,f=>'' ,u=>'mV' ,d=>0,t=>"threshold high condition"},
highHoldTime =>{a=>143 ,s=>1 ,l=>1,min=>60 ,max=>7620 ,c=>'fltCvT60' ,f=>'' ,u=>'s' ,d=>0,t=>"hold time on high state"},
evntRelFltTime =>{a=>145 ,s=>1 ,l=>1,min=>1 ,max=>7620 ,c=>'fltCvT60' ,f=>'' ,u=>'s' ,d=>0,t=>"event filter release time "},
#un-identified List1
# SEC-WM55 08:01 (AES on?)
# SEC-WDS 34:0x64 ?
# SEC-SC 08:00 ?
@ -540,7 +556,7 @@ my %culHmRegDefine = (
tempComfort =>{a=> 1 ,s=>0.6,l=>7,min=>15 ,max=>30 ,c=>'' ,f=>'2' ,u=>'C' ,d=>1,t=>"comfort temperatur"},
tempLowering =>{a=> 2 ,s=>0.6,l=>7,min=>5 ,max=>25 ,c=>'' ,f=>'2' ,u=>'C' ,d=>1,t=>"lowering temperatur"},
tempMin =>{a=> 3 ,s=>0.6,l=>7,min=>4.5,max=>25 ,c=>'' ,f=>'2' ,u=>'C' ,d=>1,t=>"minimum temperatur"},
tempMin =>{a=> 3 ,s=>0.6,l=>7,min=>4.5,max=>14.5 ,c=>'' ,f=>'2' ,u=>'C' ,d=>1,t=>"minimum temperatur"},
tempMax =>{a=> 4 ,s=>0.6,l=>7,min=>15 ,max=>30.5 ,c=>'' ,f=>'2' ,u=>'C' ,d=>1,t=>"maximum temperatur"},
winOpnTemp =>{a=> 5 ,s=>0.6,l=>7,min=>5 ,max=>30 ,c=>'' ,f=>'2' ,u=>'C' ,d=>1,t=>"lowering temp whenWindow is opened"},
winOpnPeriod =>{a=> 6 ,s=>0.4,l=>7,min=>0 ,max=>60 ,c=>'' ,f=>'0.2' ,u=>'min' ,d=>1,t=>"period lowering when window is open"},
@ -651,9 +667,9 @@ my %culHmRegModel = (
"HM-LC-Bl1PBU-FM" =>{transmitTryMax =>1,statusInfoMinDly=>1,statusInfoRandom=>1,localResDis =>1},
"HM-LC-Dim1L-Pl-2"=>{confBtnTime =>1,loadAppearBehav =>1,loadErrCalib =>1
"HM-LC-Dim1L-Pl" =>{confBtnTime =>1,loadAppearBehav =>1,loadErrCalib =>1
},
"HM-LC-Dim1L-CV" =>{confBtnTime =>1,loadAppearBehav =>1,loadErrCalib =>1,
"HM-LC-Dim1L-CV-2"=>{confBtnTime =>1,loadAppearBehav =>1,loadErrCalib =>1,
logicCombination=>1,
DimElsOffTimeMd =>1,DimElsOnTimeMd =>1,
DimElsActionType=>1,
@ -661,7 +677,7 @@ my %culHmRegModel = (
DimElsJtDlyOff =>1,DimElsJtRampOn =>1,DimElsJtRampOff =>1
},
"HM-LC-Dim1PWM-CV"=>{confBtnTime =>1,ovrTempLvl =>1,redTempLvl =>1,redLvl =>1,
characteristic =>1,
characteristic =>1,localResDis =>1,
logicCombination=>1,
DimElsOffTimeMd =>1,DimElsOnTimeMd =>1,
DimElsActionType=>1,
@ -669,18 +685,10 @@ my %culHmRegModel = (
DimElsJtDlyOff =>1,DimElsJtRampOn =>1,DimElsJtRampOff =>1
},
"HM-LC-Dim1T-Pl" =>{confBtnTime =>1,ovrTempLvl =>1,redTempLvl =>1,redLvl =>1,
fuseDelay =>1,
logicCombination=>1,
DimElsOffTimeMd =>1,DimElsOnTimeMd =>1,
DimElsActionType=>1,
DimElsJtOn =>1,DimElsJtOff =>1,DimElsJtDlyOn =>1,
DimElsJtDlyOff =>1,DimElsJtRampOn =>1,DimElsJtRampOff =>1
},
"HM-LC-Dim1T-Pl-2"=>{confBtnTime =>1,ovrTempLvl =>1,redTempLvl =>1,redLvl =>1,
fuseDelay =>1
},
"HM-LC-Dim1TPBU-FM"=>{ ovrTempLvl =>1,redTempLvl =>1,redLvl =>1,
fuseDelay =>1,
fuseDelay =>1,localResDis =>1,
logicCombination=>1,
DimElsOffTimeMd =>1,DimElsOnTimeMd =>1,
DimElsActionType=>1,
@ -757,35 +765,50 @@ my %culHmRegModel = (
"HM-WDS30-OT2-SM" =>{burstRx =>1,cyclicInfoMsgDis=>1,localResDis =>1,paramSel =>1},
);
#clones - - - - - - - - - - - - - - -
$culHmRegModel{"HM-RC-12-B"} = $culHmRegModel{"HM-RC-12"};
$culHmRegModel{"HM-RC-12-SW"} = $culHmRegModel{"HM-RC-12"};
$culHmRegModel{"HM-RC-19-B"} = $culHmRegModel{"HM-RC-19"};
$culHmRegModel{"HM-RC-19-SW"} = $culHmRegModel{"HM-RC-19"};
$culHmRegModel{"HM-RC-12-B"} = $culHmRegModel{"HM-RC-12"};
$culHmRegModel{"HM-RC-12-SW"} = $culHmRegModel{"HM-RC-12"};
$culHmRegModel{"HM-RC-19-B"} = $culHmRegModel{"HM-RC-19"};
$culHmRegModel{"HM-RC-19-SW"} = $culHmRegModel{"HM-RC-19"};
$culHmRegModel{"HM-LC-Dim1L-Pl-2"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};#rf_d
$culHmRegModel{"HM-LC-Dim1L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
$culHmRegModel{"Schueco-263-132"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
$culHmRegModel{"HM-LC-Dim2L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
$culHmRegModel{"HM-LC-Dim2L-SM"} = $culHmRegModel{"HM-LC-Dim1L-Pl"};
$culHmRegModel{"HM-LC-Dim1L-Pl"} = $culHmRegModel{"HM-LC-Dim1L-CV"};
$culHmRegModel{"HM-LC-Dim2L-SM"} = $culHmRegModel{"HM-LC-Dim1L-CV"};
$culHmRegModel{"HM-LC-Dim2L-CV"} = $culHmRegModel{"HM-LC-Dim1L-Pl-2"};
$culHmRegModel{"Schueco-263-132"} = $culHmRegModel{"HM-LC-Dim1L-Pl-2"};
$culHmRegModel{"HM-LC-Dim1T-CV"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"HM-LC-Dim1T-FM"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"HM-LC-Dim2T-SM"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"Schueco-263-133"} = $culHmRegModel{"HM-LC-Dim1TPBU-FM"};
$culHmRegModel{"Schueco-263-134"} = $culHmRegModel{"HM-LC-Dim1T-Pl-2"};
$culHmRegModel{"HM-LC-Dim1L-Pl-644"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};#RF_DIM_1l_644
$culHmRegModel{"HM-LC-Dim1L-CV-644"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};
$culHmRegModel{"HM-LC-Dim1L-Pl-3"} = $culHmRegModel{"HM-LC-Dim1L-CV-2"};
$culHmRegModel{"ASH550I"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"ASH550"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"Schueco_263-158"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"HM-WDS20-TH-O"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"HM-WDS40-TH-I"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"Schueco_263-157"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"IS-WDS-TH-OD-S-R3"}= $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"HM-LC-Dim1PWM-CV-2"} = $culHmRegModel{"HM-LC-Dim1PWM-CV"};#rf_dim_1pwm_644
$culHmRegModel{"HM-LC-Sw1PBU-FM"} = $culHmRegModel{"HM-LC-Bl1PBU-FM"};
#rf_dim_1t_644
$culHmRegModel{"HM-RC-Sec4-2"} = $culHmRegModel{"HM-RC-4-2"};
$culHmRegModel{"HM-RC-Key4-2"} = $culHmRegModel{"HM-RC-4-2"};
$culHmRegModel{"HM-LC-Dim1TPBU-FM-2"} = $culHmRegModel{"HM-LC-Dim1TPBU-FM"};#rf_dim_1tconf_644
$culHmRegModel{"Schueco-263-133"} = $culHmRegModel{"HM-LC-Dim1TPBU-FM"};
$culHmRegModel{"HM-LC-SW4-BA-PCB"} = $culHmRegModel{"HM-LC-SW1-BA-PCB"};
#rf_dim_2l_644
$culHmRegModel{"HM-LC-Dim1T-CV"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};#rf_dim_t
$culHmRegModel{"HM-LC-Dim1T-FM"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"HM-LC-Dim2T-SM"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"HM-LC-Dim1T-Pl-2"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"Schueco-263-134"} = $culHmRegModel{"HM-LC-Dim1T-Pl"};
$culHmRegModel{"ASH550I"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"ASH550"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"Schueco_263-158"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"HM-WDS20-TH-O"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"HM-WDS40-TH-I"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"Schueco_263-157"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"IS-WDS-TH-OD-S-R3"} = $culHmRegModel{"HM-WDS10-TH-O"};
$culHmRegModel{"HM-LC-Sw1PBU-FM"} = $culHmRegModel{"HM-LC-Bl1PBU-FM"};
$culHmRegModel{"HM-RC-Sec4-2"} = $culHmRegModel{"HM-RC-4-2"};
$culHmRegModel{"HM-RC-Key4-2"} = $culHmRegModel{"HM-RC-4-2"};
$culHmRegModel{"HM-LC-SW4-BA-PCB"} = $culHmRegModel{"HM-LC-SW1-BA-PCB"};
my %culHmRegChan = (# if channelspecific then enter them here
"HM-CC-TC02" =>{displayMode =>1,displayTemp =>1,displayTempUnit =>1,
@ -827,7 +850,8 @@ my %culHmRegChan = (# if channelspecific then enter them here
},
"Schueco_263-xxx02" =>{transmitTryMax =>1,eventDlyTime =>1},
"Schueco_263-xxx03" =>{ttJtOn =>1,ttJtOff =>1},
"HM-Sen-RD-O01" =>{eventFilterTimeB=>1,transmitTryMax =>1,peerNeedsBurst =>1,expectAES =>1},
"HM-Sen-RD-O01" =>{eventFilterTimeB=>1,transmitTryMax =>1,peerNeedsBurst =>1,expectAES =>1,
condTxThrhHi =>1,condTxThrhHi =>1,highHoldTime =>1,evntRelFltTime =>1 },
"HM-CC-RT-DN03" =>{tempFallWinOpen =>1,shCtValLo =>1},
"HM-CC-RT-DN04" =>{btnNoBckLight =>1,
tempComfort =>1,tempLowering =>1,tempMin =>1,tempMax =>1,
@ -1044,7 +1068,9 @@ my %culHmChanSets = (
,toggle =>""},
"HM-CC-RT-DN00" =>{ sysTime =>""},
"HM-CC-RT-DN02" =>{ sysTime =>""},
"HM-CC-RT-DN04" =>{ mode => "[auto|manu|party|boost|comfort|lower] ... <temp> <startTime> <endTime>"
"HM-CC-RT-DN04" =>{ mode => "[auto|boost|comfort|lower]"
,"mode-manu" => "[on|off|5.0..30.0]"
,"mode-party" => "<temp> <startDate> <startTime> <enddate> <endTime>"
,tempListSat =>"HH:MM temp ..."
,tempListSun =>"HH:MM temp ..."
,tempListMon =>"HH:MM temp ..."