--- 93_FHEM2FHEM.pm.bak 2018-12-16 18:16:07.924843734 +0100 +++ 93_FHEM2FHEM.pm 2018-12-19 20:58:13.027374377 +0100 @@ -33,7 +33,7 @@ $hash->{DefFn} = "FHEM2FHEM_Define"; $hash->{UndefFn} = "FHEM2FHEM_Undef"; $hash->{AttrList}= "addStateEvent:1,0 dummy:1,0 disable:0,1 ". - "disabledForIntervals eventOnly:1,0 excludeEvents"; + "disabledForIntervals eventOnly:1,0 excludeEvents avoidMsgLoop:1,0"; } ##################################### @@ -160,19 +160,27 @@ next if($excl && ($rname =~ m/^$excl$/ || "$rname:$msg" =~ m/^$excl$/)); Log3 $name, 4, "$rname: $rmsg"; + # do not trigger remotely received events a 2nd time + if(AttrVal($name,"avoidMsgLoop",0) && exists($defs{$rname}{DISABLEEVENT})){ + delete $defs{$rname}{DISABLEEVENT}; + next; + } if(!$defs{$rname}) { $defs{$rname}{NAME} = $rname; $defs{$rname}{TYPE} = $type; $defs{$rname}{STATE} = $msg; $defs{$rname}{FAKEDEVICE} = 1; # Avoid set/attr/delete/etc in notify $defs{$rname}{TEMPORARY} = 1; # Do not save it + $defs{$rname}{DISABLEEVENT} = 1; DoTrigger($rname, $msg); delete($defs{$rname}); delete($attr{$rname}); # Forum #73490 } else { + $defs{$rname}{DISABLEEVENT} = 1; if(AttrVal($name,"eventOnly",0)) { DoTrigger($rname, $msg); + delete $defs{$rname}{DISABLEEVENT}; } else { if($msg =~ m/^([^:]*): (.*)$/) { readingsSingleUpdate($defs{$rname}, $1, $2, 1); @@ -463,6 +471,10 @@