From d6ba2e2f13333910d540fb003cf66a804517ae64 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 18 Jun 2024 18:46:17 +0000 Subject: [PATCH] 00_MQTT2_SERVER.pm: open the port after $init_done (Forum #138451) git-svn-id: https://svn.fhem.de/fhem/trunk@28986 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_MQTT2_SERVER.pm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/fhem/FHEM/00_MQTT2_SERVER.pm b/fhem/FHEM/00_MQTT2_SERVER.pm index d64d89567..461e0463d 100644 --- a/fhem/FHEM/00_MQTT2_SERVER.pm +++ b/fhem/FHEM/00_MQTT2_SERVER.pm @@ -82,18 +82,22 @@ MQTT2_SERVER_Define($$) MQTT2_SERVER_resetClients($hash); MQTT2_SERVER_Undef($hash, undef) if($hash->{OLDDEF}); # modify - my $ret = TcpServer_Open($hash, $port, $global); - # Make sure that fhem only runs once - if($ret && !$init_done) { - Log3 $hash, 1, "$ret. Exiting."; - exit(1); - } readingsSingleUpdate($hash, "nrclients", 0, 0); $hash->{clients} = {}; $hash->{retain} = {}; InternalTimer(1, "MQTT2_SERVER_keepaliveChecker", $hash, 0); - return $ret; + + if($init_done) { + return TcpServer_Open($hash, $port, $global); + + } else { + InternalTimer(1, sub(){ #138451 + my $ret = TcpServer_Open($hash, $port, $global); + Log 1, $ret if($ret); + }, $hash, 0); + return undef; + } } sub