From 2e0f77c3e2e6135d0b67d1fcbe62df8972074b1c Mon Sep 17 00:00:00 2001 From: martinp876 Date: Fri, 15 Aug 2014 10:42:33 +0000 Subject: [PATCH] inprove peerXref git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@6408 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_HMinfo.pm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/fhem/FHEM/98_HMinfo.pm b/fhem/FHEM/98_HMinfo.pm index f573e1980..3f776f159 100644 --- a/fhem/FHEM/98_HMinfo.pm +++ b/fhem/FHEM/98_HMinfo.pm @@ -386,7 +386,7 @@ sub HMinfo_peerCheck(@) { ##################################################### keys %{$defs{$eName}{READINGS}})){ push @peerIDsTrigUnp,"triggerUnpeered: ".$eName.":".$_ if( ($peerIDs && $peerIDs !~ m/$_/) - ||("CCU-FHEM" ne AttrVal(CUL_HM_id2Name(substr($_,0,6)),"model",""))); + ||("CCU-FHEM" ne AttrVal(CUL_HM_id2Name($_),"model",""))); push @peerIDsTrigUnd,"triggerUndefined: ".$eName.":".$_ if(!$modules{CUL_HM}{defptr}{$_}); } @@ -889,12 +889,17 @@ sub HMinfo_GetFn($@) {######################################################### my @fheml = (); foreach my $dName (HMinfo_getEntities($opt,$filter)){ # search for irregular trigger - my @failTrig = map {"$dName: $_"} - grep /^trigDst_/, - keys %{$defs{$dName}{READINGS}}; - push @peerUndef,@failTrig if (@failTrig); - #--- check regular references my $peerIDs = AttrVal($dName,"peerIDs",undef); + + foreach (grep /^......$/, HMinfo_noDup(map {CUL_HM_name2Id(substr($_,8))} + grep /^trigDst_/, + keys %{$defs{$dName}{READINGS}})){ + push @peerUndef,"$dName triggers $_" + if( ($peerIDs && $peerIDs !~ m/$_/) + ||("CCU-FHEM" ne AttrVal(CUL_HM_id2Name($_),"model",""))); + } + + #--- check regular references next if(!$peerIDs); my $dId = unpack 'A6',CUL_HM_name2Id($dName); my @pl = ();