mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 12:49:34 +00:00
CC-RT first test results
git-svn-id: https://svn.fhem.de/fhem/trunk@3928 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
c6b3834fe5
commit
c495e33d18
@ -817,6 +817,35 @@ sub CUL_HM_Parse($$) {##############################
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif($md eq "HM-CC-RT-DN") { ###############################################
|
||||
if($mTp eq "10" && $p =~ m/^0A(....)(..)(..)(..)/) {#info-level
|
||||
my ($chn,$setTemp,$actTemp,$err,$bat,$vp,$ctrlMode) =
|
||||
("04",hex($1),hex($1),hex($2),hex($2),hex($3), hex($4));
|
||||
$setTemp =(($setTemp >>10) & 0x3f )/2;
|
||||
$actTemp =(($actTemp ) & 0x3ff)/10;
|
||||
$err = ($err >> 5) & 0x7 ;
|
||||
$bat =(($bat ) & 0x1f)/10+1.5;
|
||||
$vp = ($vp ) & 0x7f ;
|
||||
$ctrlMode = ($ctrlMode >> 6) & 0x3 ;
|
||||
|
||||
$shash = $modules{CUL_HM}{defptr}{"$src$chn"}
|
||||
if($modules{CUL_HM}{defptr}{"$src$chn"});
|
||||
|
||||
my %ctlTbl=( 0=>"auto", 1=>"manu", 2=>"party",3=>"boost");
|
||||
my %errTbl=( 0=>"ok", 1=>"ValveTight", 2=>"adjustRangeTooLarge"
|
||||
,3=>"adjustRangeTooSmall" , 4=>"communicationERR"
|
||||
,5=>"unknown" , 6=>"lowBat" , 7=>"ValveErrorPosition" );
|
||||
|
||||
push @event, "motorErr:$errTbl{$err}";
|
||||
push @event, "battery:".($err&0x80?"low":"ok");
|
||||
push @event, "batteryLevel:$bat V";
|
||||
push @event, "measured-temp:$actTemp";
|
||||
push @event, "desired-temp:$setTemp";
|
||||
push @event, "ValvePosition:$vp %";
|
||||
push @event, "mode:$ctlTbl{$ctrlMode}";
|
||||
push @event, "state:$actTemp C, $vp %";
|
||||
}
|
||||
}
|
||||
elsif($md =~ m/^(HM-Sen-Wa-Od|HM-CC-SCD)$/){ ################################
|
||||
if (($mTp eq "02" && $p =~ m/^01/) || # handle Ack_Status
|
||||
($mTp eq "10" && $p =~ m/^06/) || #or Info_Status message here
|
||||
@ -2638,9 +2667,11 @@ sub CUL_HM_Set($@) {
|
||||
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] );
|
||||
$temp = $a[3]*2;
|
||||
# party format 03.8.2013 11:30 5.8.2013 12:00
|
||||
my ($sd,$sm,$sy) = split('.',$a[4]);
|
||||
# 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);
|
||||
return "wrong start month $sm" if ($sm < 0 || $sm > 12);
|
||||
return "wrong start year $sy" if ($sy < 0 || $sy > 99);
|
||||
@ -2650,7 +2681,7 @@ sub CUL_HM_Set($@) {
|
||||
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]);
|
||||
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);
|
||||
|
@ -190,7 +190,7 @@ my %culHmModel=(
|
||||
"0092" => {name=>"Schueco_263-144" ,st=>'switch' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches
|
||||
"0093" => {name=>"Schueco_263-158" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
|
||||
"0094" => {name=>"IS-WDS-TH-OD-S-R3" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
|
||||
"0095" => {name=>"HM-CC-RT-DN" ,st=>'thermostat' ,cyc=>'' ,rxt=>'c:w' ,lst=>'3:3p.6p,7:0.3.4',chn=>"Weather:1:1,Climate:2:2,WindowRec:3:3,ClimRT_tr:4:4,ClimRT_r:5:5,rCtrl:6:6"}, #
|
||||
"0095" => {name=>"HM-CC-RT-DN" ,st=>'thermostat' ,cyc=>'' ,rxt=>'c:w' ,lst=>'3:3p.6p,7:4' ,chn=>"Weather:1:1,Climate:2:2,WindowRec:3:3,ClimRT_tr:4:4,ClimRT_r:5:5,rCtrl:6:6"}, #
|
||||
"0096" => {name=>"WDF-solar" ,st=>'blindActuatorSol' ,cyc=>'' ,rxt=>'b' ,lst=>'1,3' ,chn=>"win:1:1,blind_2:3",}, #
|
||||
"009B" => {name=>"Schueco_263-xxx" ,st=>'tipTronic' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1:1.2,3:1p.3p',chn=>"act:1:1,sen:2:2,sec:3:3",}, #
|
||||
"009F" => {name=>"HM-Sen-Wa-Od" ,st=>'sensor' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1,4' ,chn=>"",}, #capacitive filling level sensor
|
||||
@ -337,8 +337,6 @@ my %culHmRegDefine = (
|
||||
burstRx =>{a=> 1.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>'device reacts on Burst' ,lit=>{off=>0,on=>200}},# not sure what 'on' is. Also change Tx mode TODO!!
|
||||
intKeyVisib =>{a=> 2.7,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>'visibility of internal channel',lit=>{invisib=>0,visib=>1}},
|
||||
pairCentral =>{a=> 10.0,s=>3.0,l=>0,min=>0 ,max=>16777215,c=>'hex' ,f=>'' ,u=>'' ,d=>1,t=>'pairing to central'},
|
||||
#repeater
|
||||
compMode =>{a=> 23.0,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"compatibility moden" ,lit=>{off=>0,on=>1}},
|
||||
#remote mainly
|
||||
backlOnTime =>{a=> 5.0,s=>0.6,l=>0,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Backlight ontime[s]" ,lit=>{0=>0,5=>1,10=>2,15=>3,20=>4,25=>5}},
|
||||
backlOnMode =>{a=> 5.6,s=>0.2,l=>0,min=>0 ,max=>2 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Backlight mode" ,lit=>{off=>0,auto=>2}},
|
||||
@ -351,7 +349,6 @@ my %culHmRegDefine = (
|
||||
backOnTime =>{a=> 14.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'s' ,d=>1,t=>"Backlight On Time"},
|
||||
btnLock =>{a=> 15.0,s=>1.0,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Button Lock" ,lit=>{unlock=>0,lock=>1}},
|
||||
|
||||
confBtnTime =>{a=> 21.0,s=>1.0,l=>0,min=>1 ,max=>255 ,c=>'' ,f=>'' ,u=>'min' ,d=>0,t=>"255=permanent"},
|
||||
# keymatic/winmatic secific register
|
||||
keypressSignal =>{a=> 3.0,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Keypress beep" ,lit=>{off=>0,on=>1}},
|
||||
signal =>{a=> 3.4,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"Confirmation beep" ,lit=>{off=>0,on=>1}},
|
||||
@ -369,14 +366,18 @@ my %culHmRegDefine = (
|
||||
lowBatLimitRT =>{a=> 18.0,s=>1.0,l=>0,min=>2 ,max=>2.5 ,c=>'' ,f=>10 ,u=>'V' ,d=>0,t=>"low batterie limit, step .1V"},
|
||||
batDefectLimit =>{a=> 19.0,s=>1.0,l=>0,min=>0.1,max=>2 ,c=>'' ,f=>100 ,u=>'Ohm' ,d=>1,t=>"batterie defect detection"},
|
||||
transmDevTryMax =>{a=> 20.0,s=>1.0,l=>0,min=>1 ,max=>10 ,c=>'' ,f=>'' ,u=>'' ,d=>0,t=>"max message re-transmit"},
|
||||
confBtnTime =>{a=> 21.0,s=>1.0,l=>0,min=>1 ,max=>255 ,c=>'' ,f=>'' ,u=>'min' ,d=>0,t=>"255=permanent"},
|
||||
#repeater
|
||||
compMode =>{a=> 23.0,s=>0.1,l=>0,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"compatibility moden" ,lit=>{off=>0,on=>1}},
|
||||
localResDis =>{a=> 24.0,s=>1.0,l=>0,min=>1 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"local reset disable" ,lit=>{off=>0,on=>1}},
|
||||
globalBtnLock =>{a=> 25.0,s=>1.0,l=>0,min=>1 ,max=>255 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"global button lock" ,lit=>{off=>0,on=>200}},
|
||||
modusBtnLock =>{a=> 25.0,s=>1.0,l=>0,min=>1 ,max=>255 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"mode button lock" ,lit=>{off=>0,on=>200}},
|
||||
modusBtnLock =>{a=> 26.0,s=>1.0,l=>0,min=>1 ,max=>255 ,c=>'lit' ,f=>'' ,u=>'' ,d=>0,t=>"mode button lock" ,lit=>{off=>0,on=>200}},
|
||||
paramSel =>{a=> 27.0,s=>1.0,l=>0,min=>0 ,max=>4 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"data transfered to peer" ,lit=>{off=>0,T1=>1,T2=>2,T1_T2=>3,T2_T1=>4}},
|
||||
RS485IdleTime =>{a=> 29.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'s' ,d=>0,t=>"Idle Time"},
|
||||
#un-identified List0
|
||||
# addr Dec!!
|
||||
# SEC-WM55 02:01 (AES on?)
|
||||
# CC-RT 02:01 16:00
|
||||
# SEC-WDS 02:01 16:01(sabotage) ?
|
||||
# HM-SEC-MDIR 02:01 ?
|
||||
# SEC-SC 02:00 ?
|
||||
@ -536,7 +537,6 @@ my %culHmRegDefine = (
|
||||
valveOffset =>{a=> 9 ,s=>0.5,l=>5,min=>0 ,max=>25 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"Valve offset"}, # size actually 0.5
|
||||
valveErrorPos =>{a=> 10 ,s=>1 ,l=>5,min=>0 ,max=>99 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"Valve position when error"},# size actually 0.7
|
||||
|
||||
btnNoBckLight =>{a=> 9.4,s=>0.1,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"button response without backlight",lit=>{off=>0,on=>1}},
|
||||
tempComfort =>{a=> 1 ,s=>0.6,l=>7,min=>15 ,max=>30 ,c=>'' ,f=>'2' ,u=>'' ,d=>1,t=>"comfort temperatur"},
|
||||
tempLowering =>{a=> 2 ,s=>0.6,l=>7,min=>5 ,max=>25 ,c=>'' ,f=>'2' ,u=>'' ,d=>1,t=>"lowering temperatur"},
|
||||
tempMin =>{a=> 3 ,s=>0.6,l=>7,min=>4.5,max=>25 ,c=>'' ,f=>'2' ,u=>'' ,d=>1,t=>"minimum temperatur"},
|
||||
@ -547,8 +547,12 @@ my %culHmRegDefine = (
|
||||
decalcTime =>{a=> 8 ,s=>0.6,l=>7,min=>0 ,max=>1410 ,c=>'' ,f=>'0.033' ,u=>'' ,d=>1,t=>"decalcification time"},
|
||||
tempOffset =>{a=> 9 ,s=>0.4,l=>7,min=>0 ,max=>15 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"temperature offset",lit=>{"-3.5K"=>0,"-3.0K"=>1,"-2.5K"=>2,"-2.0K"=>3,"-1.5K"=>4,"-1.0K"=>5,"-0.5K"=>6,
|
||||
"0.0K"=>7, "0.5K"=>8, "1.0K"=>10, "1.5K"=>11, "2.0K"=>12, "2.5K"=>13, "3.0K"=>14, "3.5K"=>15}},
|
||||
btnNoBckLight =>{a=> 9.4,s=>0.1,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"button response without backlight",lit=>{off=>0,on=>1}},
|
||||
boostPos =>{a=> 10.0,s=>0.5,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'0.2' ,u=>'%' ,d=>1,t=>"boost period [min]"},
|
||||
boostPeriod =>{a=> 10.5,s=>0.3,l=>7,min=>0 ,max=>6 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"boost position" ,lit=>{0=>0,5=>1,10=>2,15=>3,20=>4,25=>5,30=>6}},
|
||||
valveOffset =>{a=> 11 ,s=>0.7,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"offset for valve"},
|
||||
valveMaxPos =>{a=> 12 ,s=>0.7,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"valve maximum position"},
|
||||
valveErrPos =>{a=> 13 ,s=>0.7,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"valve error position"},
|
||||
boostAftWinOpen =>{a=> 14.5,s=>0.1,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"boost after window opened",lit=>{off=>0,on=>1}},
|
||||
|
||||
daylightSaveTime=>{a=> 14 ,s=>0.1,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"set daylight saving time",lit=>{off=>0,on=>1}},
|
||||
@ -556,9 +560,6 @@ my %culHmRegDefine = (
|
||||
showInfo =>{a=> 14.3,s=>0.2,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"show date or time" ,lit=>{time=>0,date=>1}},
|
||||
noMinMan4Manu =>{a=> 14.6,s=>0.1,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"min/max is irrelevant for manual mode" ,lit=>{off=>0,on=>1}},
|
||||
showWeekday =>{a=> 14.7,s=>0.1,l=>7,min=>0 ,max=>1 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"show weekday" ,lit=>{off=>0,on=>1}},
|
||||
valveOffset =>{a=> 11 ,s=>0.7,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"offset for valve"},
|
||||
valveMaxPos =>{a=> 12 ,s=>0.7,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"valve maximum position"},
|
||||
valveErrPos =>{a=> 13 ,s=>0.7,l=>7,min=>0 ,max=>100 ,c=>'' ,f=>'' ,u=>'%' ,d=>1,t=>"valve error position"},
|
||||
|
||||
modePrioManu =>{a=> 18.3,s=>0.3,l=>7,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"allow tempChange for manual by...",lit=>{RT_SC=>0,all=>1,RT_CCU=>3,CCU=>4,self=>5}},
|
||||
modePrioParty =>{a=> 18.0,s=>0.3,l=>7,min=>0 ,max=>5 ,c=>'lit' ,f=>'' ,u=>'' ,d=>1,t=>"allow tempChange for party by..." ,lit=>{RT_SC=>0,all=>1,RT_CCU=>3,CCU=>4,self=>5}},
|
||||
@ -688,18 +689,6 @@ my %culHmRegModel = (
|
||||
"HM-CC-RT-DN" =>{btnLock =>1,localResDis =>1,globalBtnLock =>1,modusBtnLock =>1,
|
||||
cyclicInfoMsg =>1,cyclicInfoMsgDis=>1,
|
||||
burstRx =>1,lowBatLimitRT =>1,backOnTime =>1,
|
||||
|
||||
btnNoBckLight =>1,
|
||||
tempComfort =>1,tempLowering =>1,tempMin =>1,tempMax =>1,
|
||||
tempFallWinOpen =>1,tempFallWinPerio=>1,tempOffset =>1,
|
||||
decalcWeekday =>1,decalcTime =>1,
|
||||
boostPos =>1,boostPeriod =>1,boostAftWinOpen =>1,
|
||||
daylightSaveTime=>1,regAdaptive =>1,
|
||||
showInfo =>1,noMinMan4Manu =>1,showWeekday =>1,
|
||||
valveOffset =>1,valveMaxPos =>1,valveErrPos =>1,
|
||||
modePrioManu =>1,modePrioParty =>1,
|
||||
reguIntI =>1,reguIntP =>1,reguIntPstart =>1,
|
||||
reguExtI =>1,reguExtP =>1,reguExtPstart =>1
|
||||
},
|
||||
|
||||
"HM-PB-4DIS-WM" =>{peerNeedsBurst =>1,expectAES =>1,language =>1,stbyTime =>1},
|
||||
@ -835,6 +824,18 @@ my %culHmRegChan = (# if channelspecific then enter them here
|
||||
"Schueco_263-xxx03" =>{ttJtOn =>1,ttJtOff =>1},
|
||||
"HM-Sen-RD-O01" =>{eventFilterTimeB=>1,transmitTryMax =>1,peerNeedsBurst =>1,expectAES =>1},
|
||||
"HM-CC-RT-DN03" =>{tempFallWinOpen =>1,shCtValLo =>1},
|
||||
"HM-CC-RT-DN04" =>{btnNoBckLight =>1,
|
||||
tempComfort =>1,tempLowering =>1,tempMin =>1,tempMax =>1,
|
||||
tempFallWinOpen =>1,tempFallWinPerio=>1,tempOffset =>1,
|
||||
decalcWeekday =>1,decalcTime =>1,
|
||||
boostPos =>1,boostPeriod =>1,boostAftWinOpen =>1,
|
||||
daylightSaveTime=>1,regAdaptive =>1,
|
||||
showInfo =>1,noMinMan4Manu =>1,showWeekday =>1,
|
||||
valveOffset =>1,valveMaxPos =>1,valveErrPos =>1,
|
||||
modePrioManu =>1,modePrioParty =>1,
|
||||
reguIntI =>1,reguIntP =>1,reguIntPstart =>1,
|
||||
reguExtI =>1,reguExtP =>1,reguExtPstart =>1
|
||||
},
|
||||
"HM-CC-RT-DN06" =>{CtrlRc =>1,TempRC =>1},
|
||||
);
|
||||
#clones - - - - - - - - - - - - - - -
|
||||
|
Loading…
Reference in New Issue
Block a user