From c47c9268177a6f62601f329f1e6891de6aa5e78f Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Thu, 11 Jan 2018 22:04:01 +0000 Subject: [PATCH] FHEMWEB: fix problem for identical attribute/reading (Forum #82586) git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@15850 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/01_FHEMWEB.pm | 9 +++++---- www/pgm2/fhemweb.js | 6 ++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/FHEM/01_FHEMWEB.pm b/FHEM/01_FHEMWEB.pm index 86a97c144..b5d7b7d25 100644 --- a/FHEM/01_FHEMWEB.pm +++ b/FHEM/01_FHEMWEB.pm @@ -1203,6 +1203,7 @@ FW_makeTable($$$@) my $si = AttrVal("global", "showInternalValues", 0); my $row = 1; + my $prefix = ($title eq "Attributes" ? "a-" : ""); foreach my $n (sort keys %{$hash}) { next if(!$si && $n =~ m/^\./); # Skip "hidden" Values my $val = $hash->{$n}; @@ -1236,12 +1237,12 @@ FW_makeTable($$$@) FW_pO "
$v$t
"; } else { $t = "" if(!$t); - FW_pO "
$v
"; - FW_pO "
$t
"; + FW_pO "
$v
"; + FW_pO "
$t
"; } } else { $val = FW_htmlEscape($val); - my $tattr = "informId=\"$name-$n\" class=\"dval\""; + my $tattr = "informId=\"$name-$prefix$n\" class=\"dval\""; # if possible provide some links if ($n eq "room"){ @@ -2824,7 +2825,7 @@ FW_Notify($$) $dn = $1 if($dev->{CHANGED}->[0] =~ m/^MODIFIED (.*)$/); if($dev->{CHANGED}->[0] =~ m/^ATTR ([^ ]+) ([^ ]+) (.*)$/s) { $dn = $1; - my @a = ("$2: $3"); + my @a = ("a-$2: $3"); $events = \@a; } } diff --git a/www/pgm2/fhemweb.js b/www/pgm2/fhemweb.js index 6ea0e0140..21bf2c6d6 100644 --- a/www/pgm2/fhemweb.js +++ b/www/pgm2/fhemweb.js @@ -1232,8 +1232,10 @@ FW_replaceWidget(oldEl,devName,vArr,currVal,reading,set,params,cmd,readyFn) $(newEl).addClass(wn+"_widget"); if( $(newEl).find("[informId]").length==0 && !$(newEl).attr("informId") ) { - if(reading) - $(newEl).attr("informId", devName+"-"+reading); + if(reading) { + var a = $(oldEl).closest("form").find("input[type=submit][value=attr]"); + $(newEl).attr("informId", devName+(a.length?"-a-":"-")+reading); + } var addTitle = $("body").attr("data-addHtmlTitle"); if(reading != "state" && addTitle==1) $(newEl).attr("title", reading);