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:
parent
d53ab4dd8d
commit
d8fcd70284
@ -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";
|
||||||
|
@ -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 == "") {
|
||||||
|
@ -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];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user