From cb172f66897dbb94053d82d1d71d91a94ada5bfc Mon Sep 17 00:00:00 2001 From: martinp876 <> Date: Sun, 30 Dec 2012 19:01:15 +0000 Subject: [PATCH] register set bugfix for partial bytes git-svn-id: https://svn.fhem.de/fhem/trunk@2395 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_CUL_HM.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm index 6be6bb619..8ed90cc96 100755 --- a/fhem/FHEM/10_CUL_HM.pm +++ b/fhem/FHEM/10_CUL_HM.pm @@ -2110,10 +2110,13 @@ CUL_HM_Set($@) my $addrData; if ($dLen < 8){# fractional byte see whether we have stored the register #read full 8 bit!!! - my $curVal = CUL_HM_getRegFromStore(CUL_HM_id2Name($dst.$lChn), + my $rName = CUL_HM_id2Name($dst.$lChn); + $rName =~ s/_chn:.*//; + my $curVal = CUL_HM_getRegFromStore($rName, $addr,$list,$peerID.$peerChn); return "cannot read current value for Bitfield - retrieve Data first" if (!$curVal); + $curVal =~ s/set_//; # set is not relevant, we take it as given $data = ($curVal & (~($mask<<$bit)))|($data<<$bit); $addrData.=sprintf("%02X%02X",$addr,$data); }