post trigger_events if postEvent is being used

git-svn-id: https://svn.fhem.de/fhem/trunk@3954 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
martinp876 2013-09-24 12:24:57 +00:00
parent c083035e7f
commit e4cf2bd9c3
2 changed files with 28 additions and 24 deletions

View File

@ -1923,11 +1923,8 @@ sub CUL_HM_Get($@) {
return $attr{$name}{$a[2]} if ($attr{$name}{$a[2]}); return $attr{$name}{$a[2]} if ($attr{$name}{$a[2]});
return $hash->{READINGS}{$a[2]}{VAL} if ($hash->{READINGS}{$a[2]}); return $hash->{READINGS}{$a[2]}{VAL} if ($hash->{READINGS}{$a[2]});
return $attr{$devName}{$a[2]} if ($attr{$devName}{$a[2]}); return $attr{$devName}{$a[2]} if ($attr{$devName}{$a[2]});
return $devHash->{READINGS}{$a[2]}{VAL} if ($devHash->{READINGS}{$a[2]});
return $hash->{$a[2]} if ($hash->{$a[2]}); return $hash->{$a[2]} if ($hash->{$a[2]});
return $devHash->{$a[2]} if ($devHash->{$a[2]});
return $hash->{helper}{$a[2]} if ($hash->{helper}{$a[2]} && ref($hash->{helper}{$a[2]}) ne "HASH"); return $hash->{helper}{$a[2]} if ($hash->{helper}{$a[2]} && ref($hash->{helper}{$a[2]}) ne "HASH");
return $devHash->{helper}{$a[2]} if ($devHash->{helper}{$a[2]});
return "undefined"; return "undefined";
} }
elsif($cmd eq "reg") { ##################################################### elsif($cmd eq "reg") { #####################################################
@ -2978,14 +2975,13 @@ sub CUL_HM_Set($@) {
my $pressCnt = (!$hash->{helper}{count}?1:$hash->{helper}{count}+1)%256; my $pressCnt = (!$hash->{helper}{count}?1:$hash->{helper}{count}+1)%256;
$hash->{helper}{count}=$pressCnt;# remember for next round $hash->{helper}{count}=$pressCnt;# remember for next round
my @peerList; my @peerLChn = split(',',AttrVal($name,"peerIDs",""));
if ($st eq 'virtual'){#serve all peers of virtual button my @peerDev;
foreach my $peer (sort(split(',',AttrVal($name,"peerIDs","")))) { push (@peerDev,substr($_,0,6)) foreach (@peerLChn);
push (@peerList,substr($peer,0,6)); @peerDev = CUL_HM_noDup(@peerDev);#only once per device!
}
@peerList = CUL_HM_noDup(@peerList); push @peerDev,'000000' if (!@peerDev);#send to broadcast if no peer
push @peerList,'00000000' if (!@peerList);#send to broadcast if no peer foreach my $peer (@peerDev){
foreach my $peer (sort @peerList){
my $pHash = CUL_HM_id2Hash($peer); my $pHash = CUL_HM_id2Hash($peer);
my $peerFlag = $peer eq '00000000'?'A4':CUL_HM_getFlag($pHash); my $peerFlag = $peer eq '00000000'?'A4':CUL_HM_getFlag($pHash);
$peerFlag =~ s/0/4/;# either 'A4' or 'B4' $peerFlag =~ s/0/4/;# either 'A4' or 'B4'
@ -2997,6 +2993,14 @@ sub CUL_HM_Set($@) {
,$pressCnt ,$pressCnt
,$cond)); ,$cond));
} }
foreach my $peer (@peerLChn){#inform each channel
my $pName = CUL_HM_id2Name($peer);
$pName = CUL_HM_id2Name(substr($peer,0,6)) if (!$defs{$pName});
next if (!$defs{$pName});
CUL_HM_UpdtReadBulk($defs{$pName},1
,"trig_$name:$cond"
,"trigLast:$name:$cond");
} }
} }
elsif($cmd eq "peerChan") { ############################################# reg elsif($cmd eq "peerChan") { ############################################# reg

View File

@ -190,7 +190,7 @@ my %culHmModel=(
"0092" => {name=>"Schueco_263-144" ,st=>'switch' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches "0092" => {name=>"Schueco_263-144" ,st=>'switch' ,cyc=>'' ,rxt=>'c' ,lst=>'4' ,chn=>"",}, # HM Switch Interface 3 switches
"0093" => {name=>"Schueco_263-158" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w:f' ,lst=>'p' ,chn=>"",}, # "0093" => {name=>"Schueco_263-158" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w:f' ,lst=>'p' ,chn=>"",}, #
"0094" => {name=>"IS-WDS-TH-OD-S-R3" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, # "0094" => {name=>"IS-WDS-TH-OD-S-R3" ,st=>'THSensor' ,cyc=>'00:10' ,rxt=>'c:w' ,lst=>'p' ,chn=>"",}, #
"0095" => {name=>"HM-CC-RT-DN" ,st=>'thermostat' ,cyc=>'' ,rxt=>'c:w:f' ,lst=>'p:1p.2p.5p.6p,3:3p.6p,7:4' "0095" => {name=>"HM-CC-RT-DN" ,st=>'thermostat' ,cyc=>'00:10' ,rxt=>'c:w:f' ,lst=>'p:1p.2p.5p.6p,3:3p.6p,7:4'
,chn=>"Weather:1:1,Climate:2:2,WindowRec:3:3,ClimRT_tr:4:4,ClimaTeam:5:5,remote:6:6"}, # ,chn=>"Weather:1:1,Climate:2:2,WindowRec:3:3,ClimRT_tr:4:4,ClimaTeam:5:5,remote:6:6"}, #
"0096" => {name=>"WDF-solar" ,st=>'blindActuatorSol' ,cyc=>'' ,rxt=>'b' ,lst=>'1,3' ,chn=>"win:1:1,blind_2:3",}, # "0096" => {name=>"WDF-solar" ,st=>'blindActuatorSol' ,cyc=>'' ,rxt=>'b' ,lst=>'1,3' ,chn=>"win:1:1,blind_2:3",}, #
"009B" => {name=>"Schueco_263-xxx" ,st=>'tipTronic' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1:1.2,3:1p.3p',chn=>"act:1:1,sen:2:2,sec:3:3",}, # "009B" => {name=>"Schueco_263-xxx" ,st=>'tipTronic' ,cyc=>'28:00' ,rxt=>'c:w' ,lst=>'1:1.2,3:1p.3p',chn=>"act:1:1,sen:2:2,sec:3:3",}, #