2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-18 05:56:03 +00:00

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
This commit is contained in:
rudolfkoenig 2022-12-27 11:07:37 +00:00
parent babcc4b089
commit 44f03c1689

View File

@ -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;
}