fill='red' in 98_SVG.pm

Begonnen von The Grue, 04 Oktober 2018, 14:03:21

Vorheriges Thema - Nächstes Thema

The Grue

Servus!

Nach einem Update Mitte August hatten alle meine SVG-Plots plötzlich einen roten Hintergrund. Ich habe damals einen thread aufgemacht, der leider keine Lösung brachte: https://forum.fhem.de/index.php/topic,90299.msg827462.html#msg827462

In den Chromium-Entwicklertools habe ich folgende Zeile als Übeltäter  identifiziert:

<rect x="48" y="19.2" width="704" height="161.6" rx="8" ry="8" fill="red" class="border"></rect>

Mir wurde damals empfohlen, meine CSS-Dateien zu korrigieren. Nun bin ich kein Webentwickler, aber AFAIK haben Attribute, die direkt  im HTML-Element angegeben werden vorrang vor allem anderen. CSS-Dateien ändern sollte also nichts bringen - hat es auch nicht.

Heute hatte ich mal Zeit, mich damit zu beschäftigen und ich habe den Grund in FHEM/98_SVG.pm gefunden

Seit dem Update steht da:
  ######################
  # Rectangle
  SVG_pO "<rect x='$x' y='$y' width ='$w' height ='$h' rx='8' ry='8' ".
        "fill='red' class='border'/>";


Also genau was mich stört. Vorher war das:

  ######################
  # Rectangle
  SVG_pO "<rect x=\"$x\" y=\"$y\" width =\"$w\" height =\"$h\" rx=\"8\" ry=\"8\" ".
        "fill=\"none\" class=\"border\"/>";


Jetzt habe ich ein paar Fragen...

  • Wie kann ich das "übersteuern"? Geht das mit CSS-Dateien überhaupt?
  • (Warum) bin ich der einzige den das stört? Wollen alle einen knallroten Hintergrund?
  • Warum ist das so in den Code gekommen?

Ich möchte wirklich nicht den FHEM-Code lokal ändern und das nach jedem Update reparieren :s

Zum Thema Update: gerade jetzt habe ich eines durchgeführt und das fill=red ist noch drin. Muss also doch irgendwie gewollt sein... Aber wie werde ich es hier los?

Schon mal vielen Dank für Eure Hilfe!
Markus

rudolfkoenig

1. Ja, ist normalerweise auch der Fall. In jedem mir bekannten *svg_style.css steht: .border  { stroke:black; fill:url(#gr_bg); } und damit gewinnt #gr_bg. War bis vor kurzem der Ansicht, dass das andersherum richtig ist.

2. Bis auf wenige Ausnahmen sieht keiner rot. Vermutlich hast du an svg_style.css herumgedreht, oder nicht aktualisiert.

3. Ich vermute ich habe es vergessen, waehrend ich die Maske eingefuehrt habe. Ich habe es jetzt wieder auf none geaendert.

The Grue

Jetzt brat mir einer einen Storch. Oder zwei.

Ich habe meinen 'Fix' in 98_SVG.pm rückgängig gemacht und alles ist ok, d.h. das Attribut wird von meiner CSS-Datei überschrieben. Irgendwas muss ich vorher vergessen haben. Z.B. habe ich diesmal explizit fhem neu gestartet...

Danke für Deine Hilfe! Wenn der Profi sagt, daß es gehen muss kann ich schließlich schlecht dagegen halten :p

Wenn ich eine *svg_style.css - Datei ändere: Was muss ich in fhem anstellen, damit die Änderungen auch übernommen werden? Im Browser habe ich bei solchen Tests schon immer die Entwicklertools offen, damit der Browser nichts cached...

rudolfkoenig

ZitatWas muss ich in fhem anstellen, damit die Änderungen auch übernommen werden?
In FHEM nichts, nur im Browser ein "richtiges" Reload machen (Ctrl/Cmd-R, oder Shift-Reload, usw).

ZitatIm Browser habe ich bei solchen Tests schon immer die Entwicklertools offen, damit der Browser nichts cached...
Meines Wissens nach reicht das nicht. Haengt aber vermutlich vom Browser ab.