diff --git a/fhem/FHEM/00_MQTT2_CLIENT.pm b/fhem/FHEM/00_MQTT2_CLIENT.pm index 30a9eb570..8fa94688e 100644 --- a/fhem/FHEM/00_MQTT2_CLIENT.pm +++ b/fhem/FHEM/00_MQTT2_CLIENT.pm @@ -116,6 +116,10 @@ MQTT2_CLIENT_connect($;$) if($mc ne -1 && $hash->{nrFailedConnects} >= $mc) { Log3 $me, 2, "maxFailedConnects ($mc) reached, no more reconnect attemtps"; delete($readyfnlist{"$me.".$hash->{DeviceName}}); # Source of retry + if("$me.".$hash->{DeviceName} ne $hash->{_readyKey}) { #111959 + Log3 $me, 2, "RFN ERROR: $me.$hash->{DeviceName} ne $hash->{_readyKey}"; + delete($readyfnlist{$hash->{_readyKey}}); + } return; } diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 5c30596ed..45ad0568e 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -846,12 +846,14 @@ while (1) { next if(!$h); # due to rereadcfg / delete next if($h->{NEXT_OPEN} && gettimeofday() < $h->{NEXT_OPEN}); + $h->{_readyKey} = $p; # Endless-Loop-Debugging #111959 if(CallFn($h->{NAME}, "ReadyFn", $h)) { if($readyfnlist{$p}) { # delete itself inside ReadyFn CallFn($h->{NAME}, "ReadFn", $h); } - } + delete($h->{_readyKey}); + } }