2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-15 22:26:04 +00:00

correct literal handling

git-svn-id: https://svn.fhem.de/fhem/trunk@5816 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2014-05-11 06:41:07 +00:00
parent c3bcd86691
commit e80bf67688
2 changed files with 81 additions and 40 deletions

View File

@ -5631,45 +5631,45 @@ sub CUL_HM_initRegHash() { #duplicate short and long press register
}
closedir(DH);
foreach my $reg (keys %{$culHmRegDefShLg}){ #update register list
%{$culHmRegDefine->{"sh".$reg}} = %{$culHmRegDefShLg->{$reg}};
%{$culHmRegDefine->{"lg".$reg}} = %{$culHmRegDefShLg->{$reg}};
$culHmRegDefine->{"lg".$reg}{a} +=0x80;
}
foreach my $rN (keys %{$culHmRegDefine}){#create literal inverse for fast search
if ($culHmRegDefine->{$rN}{lit}){# literal assigned => create inverse
foreach my $lit (keys %{$culHmRegDefine->{$rN}{lit}}){
$culHmRegDefine->{$rN}{litInv}{$culHmRegDefine->{$rN}{lit}{$lit}}=$lit;
}
}
}
foreach my $type(sort(keys %{$culHmRegType})){ #update references to register
foreach my $reg (sort(keys %{$culHmRegType->{$type}})){
if ($culHmRegDefShLg->{$reg}){
delete $culHmRegType->{$type}{$reg};
$culHmRegType->{$type}{"sh".$reg} = 1;
$culHmRegType->{$type}{"lg".$reg} = 1;
}
}
}
foreach my $type(sort(keys %{$culHmRegModel})){ #update references to register
foreach my $reg (sort(keys %{$culHmRegModel->{$type}})){
if ($culHmRegDefShLg->{$reg}){
delete $culHmRegModel->{$type}{$reg};
$culHmRegModel->{$type}{"sh".$reg} = 1;
$culHmRegModel->{$type}{"lg".$reg} = 1;
}
}
}
foreach my $type(sort(keys %{$culHmRegChan})){ #update references to register
foreach my $reg (sort(keys %{$culHmRegChan->{$type}})){
if ($culHmRegDefShLg->{$reg}){
delete $culHmRegChan->{$type}{$reg};
$culHmRegChan->{$type}{"sh".$reg} = 1;
$culHmRegChan->{$type}{"lg".$reg} = 1;
}
}
}
# foreach my $reg (keys %{$culHmRegDefShLg}){ #update register list
# %{$culHmRegDefine->{"sh".$reg}} = %{$culHmRegDefShLg->{$reg}};
# %{$culHmRegDefine->{"lg".$reg}} = %{$culHmRegDefShLg->{$reg}};
# $culHmRegDefine->{"lg".$reg}{a} +=0x80;
# }
# foreach my $rN (keys %{$culHmRegDefine}){#create literal inverse for fast search
# if ($culHmRegDefine->{$rN}{lit}){# literal assigned => create inverse
# foreach my $lit (keys %{$culHmRegDefine->{$rN}{lit}}){
# $culHmRegDefine->{$rN}{litInv}{$culHmRegDefine->{$rN}{lit}{$lit}}=$lit;
# }
# }
# }
# foreach my $type(sort(keys %{$culHmRegType})){ #update references to register
# foreach my $reg (sort(keys %{$culHmRegType->{$type}})){
# if ($culHmRegDefShLg->{$reg}){
# delete $culHmRegType->{$type}{$reg};
# $culHmRegType->{$type}{"sh".$reg} = 1;
# $culHmRegType->{$type}{"lg".$reg} = 1;
# }
# }
# }
# foreach my $type(sort(keys %{$culHmRegModel})){ #update references to register
# foreach my $reg (sort(keys %{$culHmRegModel->{$type}})){
# if ($culHmRegDefShLg->{$reg}){
# delete $culHmRegModel->{$type}{$reg};
# $culHmRegModel->{$type}{"sh".$reg} = 1;
# $culHmRegModel->{$type}{"lg".$reg} = 1;
# }
# }
# }
# foreach my $type(sort(keys %{$culHmRegChan})){ #update references to register
# foreach my $reg (sort(keys %{$culHmRegChan->{$type}})){
# if ($culHmRegDefShLg->{$reg}){
# delete $culHmRegChan->{$type}{$reg};
# $culHmRegChan->{$type}{"sh".$reg} = 1;
# $culHmRegChan->{$type}{"lg".$reg} = 1;
# }
# }
# }
}
my %fltCvT60 = (1=>127,60=>7620);

View File

@ -421,7 +421,7 @@ my $K_actDetID = '000000'; # id of actionDetector
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"},
# 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=>200}},
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?
cyclicInfoMsgDis=>{a=> 17.0,s=>1.0,l=>0,min=>0 ,max=>255 ,c=>'' ,f=>'' ,u=>'' ,d=>1,t=>"cyclic message"},
lowBatLimit =>{a=> 18.0,s=>1.0,l=>0,min=>10 ,max=>12 ,c=>'' ,f=>10 ,u=>'V' ,d=>1,t=>"low batterie limit, step .1V"},
@ -1722,4 +1722,45 @@ $culHmChanSets{"ROTO_ZEL-STG-RM-FWT02"} = $culHmChanSets{"HM-CC-TC02"};
HUM => '04,2,$val=(hex($val))', } },
);
foreach my $reg (keys %culHmRegDefShLg){ #update register list
%{$culHmRegDefine{"sh".$reg}} = %{$culHmRegDefShLg{$reg}};
%{$culHmRegDefine{"lg".$reg}} = %{$culHmRegDefShLg{$reg}};
$culHmRegDefine{"lg".$reg}{a} +=0x80;
}
foreach my $rN (keys %culHmRegDefine){#create literal inverse for fast search
if ($culHmRegDefine{$rN}{lit}){# literal assigned => create inverse
foreach my $lit (keys %{$culHmRegDefine{$rN}{lit}}){
$culHmRegDefine{$rN}{litInv}{$culHmRegDefine{$rN}{lit}{$lit}}=$lit;
}
}
}
foreach my $type (keys %culHmRegType){ #update references to register
foreach my $reg (keys %{$culHmRegType{$type}}){
if ($culHmRegDefShLg{$reg}){
delete $culHmRegType{$type}{$reg};
$culHmRegType{$type}{"sh".$reg} = 1;
$culHmRegType{$type}{"lg".$reg} = 1;
}
}
}
foreach my $type(keys %culHmRegModel){ #update references to register
foreach my $reg (keys %{$culHmRegModel{$type}}){
if ($culHmRegDefShLg{$reg}){
delete $culHmRegModel{$type}{$reg};
$culHmRegModel{$type}{"sh".$reg} = 1;
$culHmRegModel{$type}{"lg".$reg} = 1;
}
}
}
foreach my $type (keys %culHmRegChan){ #update references to register
foreach my $reg (keys %{$culHmRegChan{$type}}){
if ($culHmRegDefShLg{$reg}){
delete $culHmRegChan{$type}{$reg};
$culHmRegChan{$type}{"sh".$reg} = 1;
$culHmRegChan{$type}{"lg".$reg} = 1;
}
}
}
1;