Mir ist ein kleiner Fehler mit SVGs aufgefallen, wenn man den verlinkten GPLOT-Editor nutzen möchte.
Ausgangssituation
Ein SVG-Device verwendet eine gplot-Datei, deren Name vom SVG-Devicenamen abweicht (fragt mich nicht, warum die so heißen, historisch entstanden...):
define SVG_Wetter_Luftdruck SVG logdb:SVG_SVG_SVG_Wetter_Luftdruck:HISTORY
Die Internals lauten entsprechend:
NAME SVG_Wetter_Luftdruck
GPLOTFILE SVG_SVG_SVG_Wetter_Luftdruck
Problem
In der Detailansicht wird das Internal GPLOTFILE nur als Text angezeigt, nicht als anklickbarer Link zum Bearbeiten der gplot-Datei, wie sonst üblich.
Ursache
In SVG_PEdit() wird der Link per JavaScript eingefügt. Der verwendete Selektor lautet:
$("table.internals div[informid=$gpfEsc-GPLOTFILE]")
.html("<a href='$link'>$gpf</a>");
Hier wird $gpfEsc (der gplot-Dateiname) verwendet. FHEMWEB erzeugt das informid-Attribut jedoch mit dem SVG-Devicenamen als Präfix. Wenn sich beide Namen unterscheiden, findet der Selektor das Element nicht.
Lösungsvorschlag
Ja, ich könnte die Dateinamen entsprechend der Devices benennen, aber schöner wäre, wenn es auch so funktioniert. Daher:
Den Selektor auf $d (SVG-Devicename) ändern:
Bisher:
$("table.internals div[informid=$gpfEsc-GPLOTFILE]")
Korrigiert:
$("table.internals div[informid=$d-GPLOTFILE]")
Ergebnis
Die Änderung habe ich getestet. Der GPLOTFILE-Link wird anschließend korrekt angezeigt und lässt sich anklicken.
Es handelt sich um einen Interface-Fehler in FHEMWEB. Die eigentliche Plot-Funktion ist nicht betroffen.
Hope that makes sense.