2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-21 07:56:03 +00:00

10_CUL_HM: correct OU LED handling

git-svn-id: https://svn.fhem.de/fhem/trunk@9082 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2015-08-16 17:25:29 +00:00
parent 77af60bd08
commit bcce3619db
2 changed files with 53 additions and 8 deletions

View File

@ -2290,10 +2290,10 @@ sub CUL_HM_Parse($$) {#########################################################
# no event necessary, all the same as before
}
else {# just update datafields in storage
my %colTbl=("00"=>"off","01"=>"red","10"=>"green","11"=>"orange");
if (@mI > 8){#status for all channel included
# open to decode byte $mI[4] - related to backlight? seen 20 and 21
my $lStat = join("",@mI[5..8]); # all LED status in one long
my %colTbl=("00"=>"off","01"=>"red","10"=>"green","11"=>"orange");
my @leds = reverse(unpack('(A2)*',sprintf("%032b",hex($lStat))));
$_ = $colTbl{$_} foreach (@leds);
for(my $cCnt = 0;$cCnt<16;$cCnt++){# go for all channels
@ -2304,19 +2304,18 @@ sub CUL_HM_Parse($$) {#########################################################
push @evtEt,[$cH,1,"state:$leds[$cCnt]"];
}
}
push @evtEt,[$mh{cHash},1,"color:$lStat"];
push @evtEt,[$mh{cHash},1,"state:$lStat"];
push @evtEt,[$mh{devH},1,"color:$lStat"];
push @evtEt,[$mh{devH},1,"state:$lStat"];
}
else{# branch can be removed if message is always that long
my $bitLoc = ($mh{chn}-1)*2;#calculate bit location
my $mask = 3<<$bitLoc;
my $value = sprintf("%08X",(hex($devState) &~$mask)|($msgState<<$bitLoc));
push @evtEt,[$mh{devH},1,,"color:$value"];
push @evtEt,[$mh{devH},1, "state:$value"];
push @evtEt,[$mh{devH},1,"color:$value"];
push @evtEt,[$mh{devH},1,"state:$value"];
if (!$mh{cHash}{helper}{role}{dev}){
my %colorTable=("00"=>"off","01"=>"red","02"=>"green","03"=>"orange");
my $actColor = $colorTable{$msgState};
$actColor = "unknown" if(!$actColor);
my $actColor = $colTbl{$msgState};
$actColor = "unknown" if(!$actColor);
push @evtEt,[$mh{cHash},1,"color:$actColor"];
push @evtEt,[$mh{cHash},1,"state:$actColor"];
}

View File

@ -972,6 +972,13 @@ $culHmRegType{pushButton} = $culHmRegType{remote};
);
#clones - - - - - - - - - - - - - - -
$culHmRegModel{"HM-ES-PMSw1-Pl-DN-R1"} = $culHmRegModel{"HM-ES-PMSw1-Pl"};
$culHmRegModel{"HM-ES-PMSw1-Pl-DN-R2"} = $culHmRegModel{"HM-ES-PMSw1-Pl"};
$culHmRegModel{"HM-ES-PMSw1-Pl-DN-R3"} = $culHmRegModel{"HM-ES-PMSw1-Pl"};
$culHmRegModel{"HM-ES-PMSw1-Pl-DN-R4"} = $culHmRegModel{"HM-ES-PMSw1-Pl"};
$culHmRegModel{"HM-ES-PMSw1-Pl-DN-R5"} = $culHmRegModel{"HM-ES-PMSw1-Pl"};
$culHmRegModel{"HM-ES-PMSw1-DR"} = $culHmRegModel{"HM-ES-PMSw1-Pl"};
$culHmRegModel{"HM-LC-SW1-PL2"} = $culHmRegModel{"HM-LC-Sw1-Pl"};#rf_s , rf_s_644
$culHmRegModel{"HM-LC-SW1-SM"} = $culHmRegModel{"HM-LC-Sw1-Pl"};
$culHmRegModel{"HM-LC-SW2-SM"} = $culHmRegModel{"HM-LC-Sw1-Pl"};
@ -1166,6 +1173,45 @@ $culHmRegModel{"ROTO_ZEL-STG-RM-DWT-10"}= $culHmRegModel{"HM-PB-4DIS-WM"};
);
#clones - - - - - - - - - - - - - - -
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R101"} = $culHmRegChan{"HM-ES-PMSw1-Pl01"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R201"} = $culHmRegChan{"HM-ES-PMSw1-Pl01"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R301"} = $culHmRegChan{"HM-ES-PMSw1-Pl01"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R401"} = $culHmRegChan{"HM-ES-PMSw1-Pl01"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R501"} = $culHmRegChan{"HM-ES-PMSw1-Pl01"};
$culHmRegChan{"HM-ES-PMSw1-DR01"} = $culHmRegChan{"HM-ES-PMSw1-Pl01"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R102"} = $culHmRegChan{"HM-ES-PMSw1-Pl02"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R202"} = $culHmRegChan{"HM-ES-PMSw1-Pl02"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R302"} = $culHmRegChan{"HM-ES-PMSw1-Pl02"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R402"} = $culHmRegChan{"HM-ES-PMSw1-Pl02"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R502"} = $culHmRegChan{"HM-ES-PMSw1-Pl02"};
$culHmRegChan{"HM-ES-PMSw1-DR02"} = $culHmRegChan{"HM-ES-PMSw1-Pl02"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R103"} = $culHmRegChan{"HM-ES-PMSw1-Pl03"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R203"} = $culHmRegChan{"HM-ES-PMSw1-Pl03"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R303"} = $culHmRegChan{"HM-ES-PMSw1-Pl03"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R403"} = $culHmRegChan{"HM-ES-PMSw1-Pl03"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R503"} = $culHmRegChan{"HM-ES-PMSw1-Pl03"};
$culHmRegChan{"HM-ES-PMSw1-DR03"} = $culHmRegChan{"HM-ES-PMSw1-Pl03"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R104"} = $culHmRegChan{"HM-ES-PMSw1-Pl04"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R204"} = $culHmRegChan{"HM-ES-PMSw1-Pl04"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R304"} = $culHmRegChan{"HM-ES-PMSw1-Pl04"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R404"} = $culHmRegChan{"HM-ES-PMSw1-Pl04"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R504"} = $culHmRegChan{"HM-ES-PMSw1-Pl04"};
$culHmRegChan{"HM-ES-PMSw1-DR04"} = $culHmRegChan{"HM-ES-PMSw1-Pl04"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R105"} = $culHmRegChan{"HM-ES-PMSw1-Pl05"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R205"} = $culHmRegChan{"HM-ES-PMSw1-Pl05"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R305"} = $culHmRegChan{"HM-ES-PMSw1-Pl05"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R405"} = $culHmRegChan{"HM-ES-PMSw1-Pl05"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R505"} = $culHmRegChan{"HM-ES-PMSw1-Pl05"};
$culHmRegChan{"HM-ES-PMSw1-DR05"} = $culHmRegChan{"HM-ES-PMSw1-Pl05"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R106"} = $culHmRegChan{"HM-ES-PMSw1-Pl06"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R206"} = $culHmRegChan{"HM-ES-PMSw1-Pl06"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R306"} = $culHmRegChan{"HM-ES-PMSw1-Pl06"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R406"} = $culHmRegChan{"HM-ES-PMSw1-Pl06"};
$culHmRegChan{"HM-ES-PMSw1-Pl-DN-R506"} = $culHmRegChan{"HM-ES-PMSw1-Pl06"};
$culHmRegChan{"HM-ES-PMSw1-DR06"} = $culHmRegChan{"HM-ES-PMSw1-Pl06"};
$culHmRegChan{"HM-Sen-MDIR-WM5502"} = $culHmRegChan{"HM-Sen-MDIR-WM5501"};
$culHmRegChan{"HM-Sen-MDIR-WM5503"} = $culHmRegType{motionDetector};