2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-30 12:07:09 +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 7736382ca4
commit 37bbfce21a

View File

@ -164,7 +164,7 @@ FHEM2FHEM_Read($)
#Log3 $hash, 5, "FHEM2FHEM/RAW: $data/$buf"; #Log3 $hash, 5, "FHEM2FHEM/RAW: $data/$buf";
$data .= $buf; $data .= $buf;
if($data =~ m/\0/) { if($hash->{".waitingForSet"} && $data =~ m/\0/) {
if($data !~ m/^(.*)\0(.*)\0(.*)$/s) { if($data !~ m/^(.*)\0(.*)\0(.*)$/s) {
$hash->{PARTIAL} = $data; $hash->{PARTIAL} = $data;
return; return;
@ -179,6 +179,8 @@ FHEM2FHEM_Read($)
Log3 $name, 3, "Remote command response:$resp"; Log3 $name, 3, "Remote command response:$resp";
} }
$hash->{cmdResponse} = $resp; $hash->{cmdResponse} = $resp;
delete($hash->{".waitingForSet"});
delete($hash->{".lcmd"});
$data = $1.$3; # Continue with the rest $data = $1.$3; # Continue with the rest
} }
@ -233,7 +235,9 @@ FHEM2FHEM_Read($)
my ($type, $rname, $msg) = split(" ", $rmsg, 3); my ($type, $rname, $msg) = split(" ", $rmsg, 3);
my $rdev = $hash->{rawDevice}; my $rdev = $hash->{rawDevice};
next if($rname ne $rdev); 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); Dispatch($defs{$rdev}, $msg, undef);
} }
@ -387,6 +391,7 @@ FHEM2FHEM_Set($@)
$cmd = '{my $r=fhem("'.$cmd.'");; defined($r) ? "\\0$r\\0" : $r}'."\n"; $cmd = '{my $r=fhem("'.$cmd.'");; defined($r) ? "\\0$r\\0" : $r}'."\n";
F2F_sw($hash->{TCPDev}, $cmd); F2F_sw($hash->{TCPDev}, $cmd);
$hash->{".lcmd"} = $hash->{CL}; $hash->{".lcmd"} = $hash->{CL};
$hash->{".waitingForSet"} = 1;
} }
return undef; return undef;
} }