diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm index 273cd0b3d..7dfa5c951 100755 --- a/fhem/FHEM/10_CUL_HM.pm +++ b/fhem/FHEM/10_CUL_HM.pm @@ -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 \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
  • systime
    set time in climate channel to system time
  • +
    + + +
  • Climate-Control (HM-CC-RT-DN) +
      +
    • mode <auto|boost|comfort|lower>
    • +
    • mode_manu <temp>
    • +
    • mode_party <temp><startDate><startTime><endDate><endTime>
      + set control mode to party, define temp and timeframe.
      + example:
      + set mode_party 15 03.8.13 20:30 5.8.13 11:30
    • +
    • systime
      + set time in climate channel to system time
    • +
    • desired-temp <temp>
      + Set different temperatures. <temp> must be between 6 and 30 + Celsius, and precision is half a degree.
    • +
    • tempListSat HH:MM temp ... 24:00 temp
    • +
    • tempListSun HH:MM temp ... 24:00 temp
    • +
    • tempListMon HH:MM temp ... 24:00 temp
    • +
    • tempListTue HH:MM temp ... 24:00 temp
    • +
    • tempListThu HH:MM temp ... 24:00 temp
    • +
    • tempListWed HH:MM temp ... 24:00 temp
    • +
    • tempListFri HH:MM temp ... 24:00 temp
      + 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.
      + 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.
      + set th tempListSat 06:00 19 23:00 22.5 24:00 19

  • OutputUnit (HM-OU-LED16) diff --git a/fhem/FHEM/HMConfig.pm b/fhem/FHEM/HMConfig.pm index bd521c987..b606b3627 100644 --- a/fhem/FHEM/HMConfig.pm +++ b/fhem/FHEM/HMConfig.pm @@ -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] ... " + "HM-CC-RT-DN04" =>{ mode => "[auto|boost|comfort|lower]" + ,"mode-manu" => "[on|off|5.0..30.0]" + ,"mode-party" => " " ,tempListSat =>"HH:MM temp ..." ,tempListSun =>"HH:MM temp ..." ,tempListMon =>"HH:MM temp ..."