diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 34582b8ed..148787d73 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -1960,6 +1960,7 @@ FW_roomStatesForInform($) my ($room) = @_; return "" if(!$room); + $room = ".*" if($room eq "all"); my @rl = devspec2array("room=$room"); my %extPage = (); my @data; diff --git a/fhem/www/pgm2/fhemweb.js b/fhem/www/pgm2/fhemweb.js index 41e5daf21..57e4ddee3 100644 --- a/fhem/www/pgm2/fhemweb.js +++ b/fhem/www/pgm2/fhemweb.js @@ -83,15 +83,21 @@ FW_longpoll() FW_curLine = 0; FW_pollConn = new XMLHttpRequest(); - var room="room=all"; - var embArr = document.getElementsByTagName("embed"); - if(embArr.length == 0) { // SVG image content is not room dependent + + var room="", embArr = document.getElementsByTagName("embed"); + for(var i = 0; i < embArr.length; i++) { + var svg = embArr[i].getSVGDocument(); + if(svg != null && svg.firstChild.nextSibling.getAttribute("flog")) + room="room=all"; + } + if(room == "") { var sa = document.location.search.substring(1).split("&"); for(var i = 0; i < sa.length; i++) { if(sa[i].substring(0,5) == "room=") room=sa[i]; } } + // Needed when using multiple FF windows var timestamp = "×tamp="+new Date().getTime(); var query = document.location.pathname+"?"+room+"&XHR=1&inform=1"+timestamp;