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);