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:
parent
7736382ca4
commit
37bbfce21a
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user