diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index ec9147248..790f641c7 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -2409,8 +2409,10 @@ FW_Notify($$) if($dn eq $ntfy->{SNAME} && $dev->{CHANGED} && - $dev->{CHANGED}->[0] =~ m/^JS:(.*)$/) { - my $data = FW_longpollInfo($h->{fmt}, "#FHEMWEB:$ntfy->{NAME}",$1,""); + $dev->{CHANGED}->[0] =~ m/^JS(#([^:]*))?:(.*)$/) { + my $data = $3; + return if( $2 && $ntfy->{PEER} !~ m/$2/ ); + $data = FW_longpollInfo($h->{fmt}, "#FHEMWEB:$ntfy->{NAME}",$data,""); addToWritebuffer($ntfy, $data."\n"); return; } diff --git a/fhem/FHEM/TcpServerUtils.pm b/fhem/FHEM/TcpServerUtils.pm index aeb542ff4..2ddea3e39 100644 --- a/fhem/FHEM/TcpServerUtils.pm +++ b/fhem/FHEM/TcpServerUtils.pm @@ -113,6 +113,8 @@ TcpServer_Accept($$) my %nhash; $nhash{NR} = $devcount++; $nhash{NAME} = $cname; + $nhash{PEER} = $caddr; + $nhash{PORT} = $port; $nhash{FD} = $clientinfo[0]->fileno(); $nhash{CD} = $clientinfo[0]; # sysread / close won't work on fileno $nhash{TYPE} = $type;