From 44f03c1689941ca73e09391c152c52d22bf931cb Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 27 Dec 2022 11:07:37 +0000 Subject: [PATCH] 93_FHEM2FHEM.pm: Fixing RAW MQTT2_CLIENT data over FHEM2FHEM (Forum #131171) git-svn-id: https://svn.fhem.de/fhem/trunk@26906 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/93_FHEM2FHEM.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/93_FHEM2FHEM.pm b/fhem/FHEM/93_FHEM2FHEM.pm index 038bd6fbd..b2db38f85 100644 --- a/fhem/FHEM/93_FHEM2FHEM.pm +++ b/fhem/FHEM/93_FHEM2FHEM.pm @@ -164,7 +164,7 @@ FHEM2FHEM_Read($) #Log3 $hash, 5, "FHEM2FHEM/RAW: $data/$buf"; $data .= $buf; - if($data =~ m/\0/) { + if($hash->{".waitingForSet"} && $data =~ m/\0/) { if($data !~ m/^(.*)\0(.*)\0(.*)$/s) { $hash->{PARTIAL} = $data; return; @@ -179,6 +179,8 @@ FHEM2FHEM_Read($) Log3 $name, 3, "Remote command response:$resp"; } $hash->{cmdResponse} = $resp; + delete($hash->{".waitingForSet"}); + delete($hash->{".lcmd"}); $data = $1.$3; # Continue with the rest } @@ -233,7 +235,9 @@ FHEM2FHEM_Read($) my ($type, $rname, $msg) = split(" ", $rmsg, 3); my $rdev = $hash->{rawDevice}; next if($rname ne $rdev); - Log3 $name, 4, "$name: $rmsg"; + my $dbg_rmsg = $rmsg; + $dbg_rmsg =~ s/([^ -~])/"(".ord($1).")"/ge; + Log3 $name, 4, "$name: RAW RCVD: $dbg_rmsg"; Dispatch($defs{$rdev}, $msg, undef); } @@ -387,6 +391,7 @@ FHEM2FHEM_Set($@) $cmd = '{my $r=fhem("'.$cmd.'");; defined($r) ? "\\0$r\\0" : $r}'."\n"; F2F_sw($hash->{TCPDev}, $cmd); $hash->{".lcmd"} = $hash->{CL}; + $hash->{".waitingForSet"} = 1; } return undef; }