From a59f1dd9e653511d3263c13473e46f16131c32cc Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Thu, 4 Jul 2019 19:55:24 +0000 Subject: [PATCH] 00_MQTT2_CLIENT.pm: add optional retain to msgAfterConnect (Forum #101932) git-svn-id: https://svn.fhem.de/fhem/trunk@19775 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_MQTT2_CLIENT.pm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fhem/FHEM/00_MQTT2_CLIENT.pm b/fhem/FHEM/00_MQTT2_CLIENT.pm index ae8ad6d50..52c64ee62 100644 --- a/fhem/FHEM/00_MQTT2_CLIENT.pm +++ b/fhem/FHEM/00_MQTT2_CLIENT.pm @@ -177,7 +177,8 @@ MQTT2_CLIENT_Disco($;$) RemoveInternalTimer($hash); $hash->{connecting} = 1 if(!$isUndef); my $ond = AttrVal($hash->{NAME}, "msgBeforeDisconnect", ""); - MQTT2_CLIENT_doPublish($hash, split(" ", $ond, 2), 0, 1) if($ond); + MQTT2_CLIENT_doPublish($hash, $2, $3, $1) + if($ond =~ m/^(-r\s)?([^\s]*)\s*(.*)$/); MQTT2_CLIENT_send($hash, pack("C",0xE0).pack("C",0), 1); # DISCONNECT $isUndef ? DevIo_CloseDev($hash) : DevIo_Disconnected($hash); } @@ -325,7 +326,8 @@ MQTT2_CLIENT_Read($@) if($hash->{connecting}) { delete($hash->{connecting}); my $onc = AttrVal($name, "msgAfterConnect", ""); - MQTT2_CLIENT_doPublish($hash, split(" ", $onc, 2)) if($onc); + MQTT2_CLIENT_doPublish($hash, $2, $3, $1) + if($onc =~ m/^(-r\s)?([^\s]*)\s*(.*)$/); } } elsif($cpt eq "PINGRESP") { # ignore it @@ -569,13 +571,15 @@ MQTT2_CLIENT_getStr($$) -