2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-20 07:16:03 +00:00

FHEMWEB: longpoll for all & unsorted, dont call FW_devState for atEnd devices

git-svn-id: https://svn.fhem.de/fhem/trunk@4605 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2014-01-10 14:33:50 +00:00
parent d53ab4dd8d
commit d8fcd70284
3 changed files with 13 additions and 7 deletions

View File

@ -481,7 +481,11 @@ FW_answerCall($)
$me->{inform}{type} = ($FW_room ? "status" : "raw"); $me->{inform}{type} = ($FW_room ? "status" : "raw");
$me->{inform}{filter} = ($FW_room ? $FW_room : ".*"); $me->{inform}{filter} = ($FW_room ? $FW_room : ".*");
} }
my %h = map { $_ => 1 } devspec2array($me->{inform}{filter}); my $filter = $me->{inform}{filter};
$filter = "NAME=.*" if($filter eq "room=all");
$filter = "room!=.*" if($filter eq "room=Unsorted");
my %h = map { $_ => 1 } devspec2array($filter);
$me->{inform}{devices} = \%h; $me->{inform}{devices} = \%h;
# NTFY_ORDER is larger than the normal order (50-) # NTFY_ORDER is larger than the normal order (50-)
@ -704,7 +708,6 @@ FW_digestCgi($)
$cmd.=" $arg{$c}" if(defined($arg{$c}) && $cmd.=" $arg{$c}" if(defined($arg{$c}) &&
($arg{$c} ne "state" || $cmd !~ m/^set/)); ($arg{$c} ne "state" || $cmd !~ m/^set/));
$cmd.=" $val{$c}" if(defined($val{$c})); $cmd.=" $val{$c}" if(defined($val{$c}));
#Log3 $FW_wname, 1, "GOT:$arg -> CMD:$cmd";
return ($cmd, $c); return ($cmd, $c);
} }
@ -860,7 +863,6 @@ FW_doDetail($)
{ {
my ($d) = @_; my ($d) = @_;
my $h = $defs{$d}; my $h = $defs{$d};
my $t = $h->{TYPE}; my $t = $h->{TYPE};
$t = "MISSING" if(!defined($t)); $t = "MISSING" if(!defined($t));
@ -1989,6 +1991,8 @@ FW_roomStatesForInform($)
my @data; my @data;
foreach my $dn (keys %{$me->{inform}{devices}}) { foreach my $dn (keys %{$me->{inform}{devices}}) {
next if(!defined($defs{$dn})); next if(!defined($defs{$dn}));
my $t = $defs{$dn}{TYPE};
next if(!$t || $modules{$t}{FW_atPageEnd});
my ($allSet, $cmdlist, $txt) = FW_devState($dn, "", \%extPage); my ($allSet, $cmdlist, $txt) = FW_devState($dn, "", \%extPage);
if($defs{$dn} && $defs{$dn}{STATE} && $defs{$dn}{TYPE} ne "weblink") { if($defs{$dn} && $defs{$dn}{STATE} && $defs{$dn}{TYPE} ne "weblink") {
push @data, "$dn<<$defs{$dn}{STATE}<<$txt"; push @data, "$dn<<$defs{$dn}{STATE}<<$txt";

View File

@ -87,7 +87,10 @@ FW_longpoll()
var filter="", embArr = document.getElementsByTagName("embed"); var filter="", embArr = document.getElementsByTagName("embed");
for(var i = 0; i < embArr.length; i++) { for(var i = 0; i < embArr.length; i++) {
var svg = embArr[i].getSVGDocument(); var svg = embArr[i].getSVGDocument();
if(svg != null && svg.firstChild.nextSibling.getAttribute("flog")) if(svg &&
svg.firstChild &&
svg.firstChild.nextSibling &&
svg.firstChild.nextSibling.getAttribute("flog"))
filter=".*"; filter=".*";
} }
if(filter == "") { if(filter == "") {

View File

@ -5,10 +5,9 @@ FW_svgUpdateDevs(devs)
var embArr = document.getElementsByTagName("embed"); var embArr = document.getElementsByTagName("embed");
for(var i = 0; i < embArr.length; i++) { for(var i = 0; i < embArr.length; i++) {
var svg = embArr[i].getSVGDocument(); var svg = embArr[i].getSVGDocument();
if(svg == null) // too many events sometimes. if(!svg || !svg.firstChild || !svg.firstChild.nextSibling)
continue; continue;
svg = svg.firstChild.nextSibling; var flog = svg.firstChild.nextSibling.getAttribute("flog");
var flog = svg.getAttribute("flog");
for(var j=0; j < devs.length; j++) { for(var j=0; j < devs.length; j++) {
if(flog !== null && flog.match(" "+devs[j]+" ")) { if(flog !== null && flog.match(" "+devs[j]+" ")) {
var e = embArr[i]; var e = embArr[i];