2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-04 11:26:55 +00:00

make dimmer/blind statusupdate optional

git-svn-id: https://svn.fhem.de/fhem/trunk@4104 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2013-10-23 22:32:29 +00:00
parent 1e8a540f37
commit 84fae0d311
2 changed files with 11 additions and 5 deletions

View File

@ -990,6 +990,7 @@ sub CUL_HM_Parse($$) {##############################
if (($mTp eq "02" && $p =~ m/^01/) || # handle Ack_Status if (($mTp eq "02" && $p =~ m/^01/) || # handle Ack_Status
($mTp eq "10" && $p =~ m/^06/)) { # or Info_Status message here ($mTp eq "10" && $p =~ m/^06/)) { # or Info_Status message here
my $rSUpdt = 0;# require status update
my ($subType,$chn,$val,$err) = ($1,hex($2),hex($3)/2,hex($4)) my ($subType,$chn,$val,$err) = ($1,hex($2),hex($3)/2,hex($4))
if($p =~ m/^(..)(..)(..)(..)/); if($p =~ m/^(..)(..)(..)(..)/);
$chn = sprintf("%02X",$chn&0x3f); $chn = sprintf("%02X",$chn&0x3f);
@ -1018,7 +1019,8 @@ sub CUL_HM_Parse($$) {##############################
$physLvl = $pl." %"; $physLvl = $pl." %";
} }
else{ #invalid PhysLevel else{ #invalid PhysLevel
CUL_HM_stateUpdatDly($name,3); # update for device! $rSUpdt = 1;
CUL_HM_stateUpdatDly($shash->{NAME},3); # update to get level
} }
} }
} }
@ -1041,7 +1043,11 @@ sub CUL_HM_Parse($$) {##############################
push @event, "$eventName:up:$vs" if(($err&0x30) == 0x10); push @event, "$eventName:up:$vs" if(($err&0x30) == 0x10);
push @event, "$eventName:down:$vs" if(($err&0x30) == 0x20); push @event, "$eventName:down:$vs" if(($err&0x30) == 0x20);
push @event, "$eventName:stop:$vs" if(($err&0x30) == 0x00); push @event, "$eventName:stop:$vs" if(($err&0x30) == 0x00);
CUL_HM_stateUpdatDly($name,120) if(($err&0x30) != 0x00); if (!$rSUpdt){#dont touch if necessary for dimmer
if(($err&0x30) != 0x00) {CUL_HM_stateUpdatDly($shash->{NAME},120);}
else {CUL_HM_unQEntity($shash->{NAME},
$modules{CUL_HM}{helper}{qReqStat});}
}
} }
if ($st eq "dimmer"){ if ($st eq "dimmer"){
push @event,"overload:".(($err&0x02)?"on":"off"); push @event,"overload:".(($err&0x02)?"on":"off");
@ -4752,7 +4758,7 @@ sub CUL_HM_stateUpdatDly($$){#delayed queue of status-request
sub CUL_HM_stateUpdat($){#delay timeout - now queue statusRequest sub CUL_HM_stateUpdat($){#delay timeout - now queue statusRequest
my $name = shift; my $name = shift;
(undef,$name)=split":",$name,2; (undef,$name)=split":",$name,2;
CUL_HM_qStateUpdatIfEnab($name,1) if ($name); CUL_HM_qStateUpdatIfEnab($name) if ($name);
} }
sub CUL_HM_qStateUpdatIfEnab($@){#in:name or id, queue stat-request after 12 s sub CUL_HM_qStateUpdatIfEnab($@){#in:name or id, queue stat-request after 12 s
my ($name,$force) = @_; my ($name,$force) = @_;

View File

@ -1,5 +1,5 @@
############################################## ##############################################
# $Id$ # $Id: 98_HMinfo.pm 4101 2013-10-23 14:25:19Z martinp876 $
package main; package main;
use strict; use strict;
use warnings; use warnings;