2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-22 02:10:32 +00:00

00_MQTT2_SERVER.pm: add some more debugging (Forum #91304)

git-svn-id: https://svn.fhem.de/fhem/trunk@17381 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2018-09-21 18:04:35 +00:00
parent 7d36b359e9
commit 1d342bb701

View File

@ -339,7 +339,7 @@ MQTT2_SERVER_Read($@)
delete($hash->{answerScheduled});
my $r = $defs{$sname}{retain};
foreach my $tp (sort { $r->{$a}{ts} <=> $r->{$b}{ts} } keys %{$r}) {
MQTT2_SERVER_sendto($hash, $tp, $r->{$tp}{val});
MQTT2_SERVER_sendto($defs{$sname}, $hash, $tp, $r->{$tp}{val});
}
}, undef, 0);
}
@ -394,7 +394,8 @@ MQTT2_SERVER_doPublish($$$$;$)
}
foreach my $clName (keys %{$tgt->{clients}}) {
MQTT2_SERVER_sendto($defs{$clName}, $tp, $val) if($src->{NAME} ne $clName);
MQTT2_SERVER_sendto($tgt, $defs{$clName}, $tp, $val)
if($src->{NAME} ne $clName);
}
if(defined($src->{cid})) { # "real" MQTT client
@ -410,9 +411,9 @@ MQTT2_SERVER_doPublish($$$$;$)
######################################
# send topic to client if its subscription matches the topic
sub
MQTT2_SERVER_sendto($$$)
MQTT2_SERVER_sendto($$$$)
{
my ($hash, $topic, $val) = @_;
my ($shash, $hash, $topic, $val) = @_;
return if(IsDisabled($hash->{NAME}));
$val = "" if(!defined($val));
foreach my $s (keys %{$hash->{subscriptions}}) {
@ -420,6 +421,7 @@ MQTT2_SERVER_sendto($$$)
$re =~ s,/?#,\\b.*,g;
$re =~ s,\+,\\b[^/]+\\b,g;
if($topic =~ m/^$re$/) {
Log3 $shash, 5, "$hash->{NAME} $hash->{cid} => $topic:$val";
addToWritebuffer($hash,
pack("C",0x30).
MQTT2_SERVER_calcRemainingLength(2+length($topic)+length($val)).