From 5df83af2605e8c8e78ccde3ba17184f1ec681163 Mon Sep 17 00:00:00 2001 From: martinp876 <> Date: Fri, 5 Apr 2013 06:28:53 +0000 Subject: [PATCH] type in HMLAN, autoreadreg correction for channels git-svn-id: https://svn.fhem.de/fhem/trunk@3034 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_HMLAN.pm | 2 +- fhem/FHEM/10_CUL_HM.pm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/00_HMLAN.pm b/fhem/FHEM/00_HMLAN.pm index 1afdc14f8..ff1d16752 100755 --- a/fhem/FHEM/00_HMLAN.pm +++ b/fhem/FHEM/00_HMLAN.pm @@ -250,7 +250,7 @@ sub HMLAN_Parse($$) {########################################################## my $srcId = (length($mFld[5])>11)?$src:"lastRec"; $hash->{helper}{nextSend}{$srcId} = gettimeofday() + 0.100; if ($debug){ - Log $ll5, 'HMLAN_Pars1: '.$name.' S:'.$mFld[0] + Log $ll5, 'HMLAN_Parse: '.$name.' S:'.$mFld[0] .(($mFld[0] =~ m/^E/)?' ':'') .' stat:'.$mFld[1] .' t:'.$mFld[2].' d:'.$mFld[3] diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm index 7c206a013..d134f59e3 100755 --- a/fhem/FHEM/10_CUL_HM.pm +++ b/fhem/FHEM/10_CUL_HM.pm @@ -115,7 +115,7 @@ sub CUL_HM_autoReadConfig($){ while(@{$modules{CUL_HM}{helper}{updtCfgLst}}){ my $name = shift(@{$modules{CUL_HM}{helper}{updtCfgLst}}); my $hash = CUL_HM_name2Hash($name); - if (0 != substr(AttrVal($name,"autoReadReg","0"),0,1)){ + if (0 != substr(CUL_HM_Get($hash,$name,"param","autoReadReg"),0,1)){ CUL_HM_Set($hash,$name,"getSerial"); CUL_HM_Set($hash,$name,"getConfig"); CUL_HM_Set($hash,$name,"statusRequest"); @@ -1527,6 +1527,7 @@ sub CUL_HM_queueAutoRead($){ my @arr; @arr = CUL_HM_noDup((@{$modules{CUL_HM}{helper}{updtCfgLst}}, $name)); $modules{CUL_HM}{helper}{updtCfgLst} =\@arr; + Log 1,"General queued $name :".join "-",$modules{CUL_HM}{helper}{updtCfgLst}; RemoveInternalTimer("updateConfig"); InternalTimer(gettimeofday()+5,"CUL_HM_autoReadConfig", "updateConfig", 0); } @@ -2004,7 +2005,7 @@ sub CUL_HM_Set($@) { $rName =~ s/_chn:.*//; my $curVal = CUL_HM_getRegFromStore($rName, $addr,$list,$peerId.$peerChn); - return "cannot read current value for Bitfield - retrieve Data first" + return "cannot calculate value. Please issue set $name getConfig first" if (!$curVal ||$curVal eq "invalid"); $curVal =~ s/set_//; # set is not relevant, we take it as given $data = ($curVal & (~($mask<<$bit)))|($data<<$bit);