mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-22 08:11:44 +00:00
bug fixes duplicate messages, state handling for virtual actor
git-svn-id: https://svn.fhem.de/fhem/trunk@2376 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
950961c1f5
commit
5b96e80eb1
@ -387,7 +387,8 @@ CUL_HM_Parse($$)
|
|||||||
my $tn = TimeNow();
|
my $tn = TimeNow();
|
||||||
|
|
||||||
# return if duplicate
|
# return if duplicate
|
||||||
my $msgX = "No:$msgcnt - t:$msgType s:$src d:$dst $p";
|
my $msgX = "No:$msgcnt - t:$msgType s:$src d:$dst ".($p?$p:"");
|
||||||
|
|
||||||
if($shash->{lastMsg} && $shash->{lastMsg} eq $msgX) {
|
if($shash->{lastMsg} && $shash->{lastMsg} eq $msgX) {
|
||||||
Log GetLogLevel($name,4), "CUL_HM $name dup mesg";
|
Log GetLogLevel($name,4), "CUL_HM $name dup mesg";
|
||||||
if(($id eq $dst)&& (hex($msgFlag)&0x20)){
|
if(($id eq $dst)&& (hex($msgFlag)&0x20)){
|
||||||
@ -466,7 +467,7 @@ CUL_HM_Parse($$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif($model eq "HM-CC-TC") { ####################################
|
elsif($model eq "HM-CC-TC") { ####################################
|
||||||
my ($sType,$chn) = ($1,$2) if($p =~ m/^(..)(..)/);
|
my ($sType,$chn) = ($1,$2) if($p && $p =~ m/^(..)(..)/);
|
||||||
if($msgType eq "70" && $p =~ m/^(....)(..)/) { # weather event
|
if($msgType eq "70" && $p =~ m/^(....)(..)/) { # weather event
|
||||||
$chn = '01'; # fix definition
|
$chn = '01'; # fix definition
|
||||||
my ( $t, $h) = (hex($1), hex($2));# temp is 15 bit signed
|
my ( $t, $h) = (hex($1), hex($2));# temp is 15 bit signed
|
||||||
@ -583,7 +584,7 @@ CUL_HM_Parse($$)
|
|||||||
my $chnName = $chnHash->{NAME};
|
my $chnName = $chnHash->{NAME};
|
||||||
my $mode = ReadingsVal($chnName,"R-MdTempReg","");
|
my $mode = ReadingsVal($chnName,"R-MdTempReg","");
|
||||||
$dTemp = ReadingsVal($chnName,"desired-temp","21.0");
|
$dTemp = ReadingsVal($chnName,"desired-temp","21.0");
|
||||||
if ($chnHash->{helper}{oldMode} ne $mode){
|
if (!$chnHash->{helper}{oldMode} || $chnHash->{helper}{oldMode} ne $mode){
|
||||||
$dTemp = ReadingsVal($chnName,"desired-temp-manu",$dTemp)if ($mode eq 'manual ');
|
$dTemp = ReadingsVal($chnName,"desired-temp-manu",$dTemp)if ($mode eq 'manual ');
|
||||||
$dTemp = ReadingsVal($chnName,"desired-temp-cent",$dTemp)if ($mode eq 'central ');
|
$dTemp = ReadingsVal($chnName,"desired-temp-cent",$dTemp)if ($mode eq 'central ');
|
||||||
$chnHash->{helper}{oldMode} = $mode;
|
$chnHash->{helper}{oldMode} = $mode;
|
||||||
@ -1053,7 +1054,8 @@ CUL_HM_Parse($$)
|
|||||||
(($state eq "ON")?"C8":"00")."00");
|
(($state eq "ON")?"C8":"00")."00");
|
||||||
$sendAck = "";
|
$sendAck = "";
|
||||||
}
|
}
|
||||||
CUL_HM_UpdtReadBulk($dChHash,1,"virtActState:".$state,
|
CUL_HM_UpdtReadBulk($dChHash,1,"state:".$state,
|
||||||
|
"virtActState:".$state,
|
||||||
"virtActTrigger:".CUL_HM_id2Name($recId),
|
"virtActTrigger:".CUL_HM_id2Name($recId),
|
||||||
"virtActTrigType:".$longPress,
|
"virtActTrigType:".$longPress,
|
||||||
"virtActTrigRpt:".$dChHash->{helper}{trgLgRpt},
|
"virtActTrigRpt:".$dChHash->{helper}{trgLgRpt},
|
||||||
@ -2567,7 +2569,6 @@ CUL_HM_infoUpdtDevData($$$){
|
|||||||
'':'_'.sprintf("%02d",$chnNoTyp));
|
'':'_'.sprintf("%02d",$chnNoTyp));
|
||||||
InternalTimer($startime++,"CUL_HM_infoUpdtChanData",
|
InternalTimer($startime++,"CUL_HM_infoUpdtChanData",
|
||||||
"$chnName,$chnId,$model",0);
|
"$chnName,$chnId,$model",0);
|
||||||
#DoTrigger("global", 'UNDEFINED '.$chnName.' CUL_HM '.$chnId);
|
|
||||||
}
|
}
|
||||||
$attr{CUL_HM_id2Name($chnId)}{model} = $model;
|
$attr{CUL_HM_id2Name($chnId)}{model} = $model;
|
||||||
$chnNoTyp++;
|
$chnNoTyp++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user