diff --git a/fhem/FHEM/00_MQTT2_SERVER.pm b/fhem/FHEM/00_MQTT2_SERVER.pm index b8da5e826..1dc073d0f 100644 --- a/fhem/FHEM/00_MQTT2_SERVER.pm +++ b/fhem/FHEM/00_MQTT2_SERVER.pm @@ -541,10 +541,7 @@ MQTT2_SERVER_doPublish($$$$;$) $val = "" if(!defined($val)); $src = $server if(!defined($src)); my $now = gettimeofday(); - my $serverName = $server->{NAME}; - my $ir = AttrVal($serverName, "ignoreRegexp", undef); - return if(defined($ir) && "$tp:$val" =~ m/$ir/); if($retain && AttrVal($serverName, "respectRetain", $featurelevel <= 6.1)) { if(!defined($val) || $val eq "") { @@ -566,6 +563,9 @@ MQTT2_SERVER_doPublish($$$$;$) MQTT2_SERVER_sendto($server, $defs{$clName}, $tp, $val); } + my $ir = AttrVal($serverName, "ignoreRegexp", undef); + return if(defined($ir) && "$tp:$val" =~ m/$ir/); + my $cid = $src->{cid}; $tp =~ s/:/_/g if(AttrVal($serverName, "topicConversion", 1)); # 96608 if(defined($cid) || # "real" MQTT client @@ -874,10 +874,7 @@ MQTT2_SERVER_ReadDebug($$)
  • ignoreRegexp
    - if $topic:$message matches ignoreRegexp, then it will be silently - ignored. Such messages are not distributed to connected MQTT clients, - are not stored (if retain is set), and are not dispatched in FHEM for - further processing. + if $topic:$message matches ignoreRegexp, then it will be silently ignored.