Autor Thema: plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß  (Gelesen 3061 mal)

Offline koeberl2

  • New Member
  • *
  • Beiträge: 15
Hallo!

Die FHEM Installation bei mir ist auf einem Raspberry Pi 4 mit 4Gbyte auf Ubuntu 20.04.1 LTS 64bit ausgeführt.
Beim Implementieren des TelegramBot bzw. dem Versenden von SVG-Graphen mittels plotAsPng bin ich drauf gekommen, dass die unterschiedlichen Farben zwar in der Legende korrekt dargestellt werden, allerdings nicht in der Grafik selbst. Die Linien sind alle schwarz.

Siehe auch hier angefügtes File svgDachDb.png.

Im Web-Interface sieht alles normal bzw. in Farbe aus. Siehe auch hier angefügtes File svgDachDb_web_screenshot.png

Zuerst dachte ich, es liegt am cmdSend Befehl vom TelegramBot.
Habe dann festgestellt, dass es wohl eher doch am printAsPng liegt weil der Export in ein File genau so aussieht wie das übertragene File an Telegram (svgDachDb.png), also ohne Farbe bei den Linien.

In anderen, meist recht alten Threads aus diesem Forum wurde noch auf ein Update der 98_SVG.pm bzw. das www/pgm2/svg_style.css verwiesen.
Da mein FHEM up2date ist denke ich nicht, dass alte Versionen der Module bei mir im Einsatz sind.

Die Abhängigkeiten lt. Wiki für printAsPng sind natürlich installiert und aktuell laut apt-get:
libimage-librsvg-perl              0.07-8build5
libgd-graph-perl                   1.54~ds-2
libgd-text-perl                    0.86-9

Gerade auch libimage-librsvg-perl (bzw. Perl Modul Image::LibRSVG), worauf in einigen Threads bei Problemen mit plotAsPng verwiesen wird ist definitiv da und up2date.
Habe auch versucht mit cpan eine neuere Version zu installieren, dürfte allerdings keine zu bekommen sein.


Langer Rede kurzer Sinn.
Hat jemand eine Idee wie ich meine Linien für den File-Export bzw. den TelegramBot in der lt. Web-Interface gewohnten Farbe hinbekomme?


Danke und bleibt gesund!
Markus

Offline ndschambar

  • Newbie
  • Beiträge: 1
Antw:plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß
« Antwort #1 am: 13 Dezember 2020, 21:10:38 »
Hi,
ich hatte das gleiche Problem wie du. Damit ich meine Lösung teilen kann, habe ich mich extra registriert.

Drauf gekommen bin ich durch diesen alten Thread hier im Forum. Das Problem hat ausnahmsweise nicht mit dem Stylesheet zu tun, sondern vermutlich mit einer gepatchten libimage-librsvg-perl. Vor dem Update von Ubuntu 18.04LTS auf 20.04LTS ging es bei mir nämlich ebenfalls.

Letzlich muss die damals eingefügte RegEx-Befehlszeile in FHEM/98_SVG.pm auskommentiert (# davorstellen) oder gelöscht werden:

$svgdata =~ s/\.SVGplot\./\./g;
Letzlich sieht die Datei bei mir nun so aus:
--- 98_SVG_old.pm       2020-12-13 21:03:48.024076933 +0100
+++ 98_SVG.pm   2020-12-13 20:52:02.649492067 +0100
@@ -2439,7 +2439,7 @@

   my ($w, $h) = split(",", AttrVal($plotName[0],"plotsize","800,160"));
   $svgdata =~ s/<\/svg>/<polyline opacity="0" points="0,0 $w,$h"\/><\/svg>/;
-  $svgdata =~ s/\.SVGplot\./\./g;
+  #$svgdata =~ s/\.SVGplot\./\./g;

   eval {
     require Image::LibRSVG;

Probier es mal aus!

@rudolfkoenig: Bitte mal reinschauen und ggf. einchecken.
« Letzte Änderung: 13 Dezember 2020, 21:16:18 von ndschambar »

Offline koeberl2

  • New Member
  • *
  • Beiträge: 15
Antw:plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß
« Antwort #2 am: 13 Dezember 2020, 22:42:23 »
Hallo und schönen 3. Advent ndschambar !

Ich danke Dir vielmals, Du hast mein Problem gelöst.
Auskommentieren der von Dir erwähnten Zeile und in Fhem ...
reload 98_SVG.pm... und siehe da, alles in Farbe.

Ich war schon kurz davor manuell auf die neueste Version der Image::LibRSVG umzusteigen (https://debian.pkgs.org/sid/debian-main-arm64/libimage-librsvg-perl_0.07-8+b7_arm64.deb.html).
Das wäre dann das Build 7 gewesen (anstatt Standardmäßig bei Ubuntu 20.04.1 LTS mitgeliefert Build 5). Diese hätte allerdings auch Perl > 5.32.0-4 benötigt und hier schreibt ein User in einem anderen Thread (https://forum.fhem.de/index.php?topic=112649.0), dass er in der 5.32er Version von Perl mit Memory Leaks zu kämpfen hat.

Naja, tut jetzt auch nichts mehr zur Sache.
Mit Deinem Hint geht's ja jetzt und ich kann ansonsten keine Einschränkungen in der Funktion der plotAsPng Funktion erkennen.


Nochmal vielen Dank, dass Du Dein Wissen gepostet und einen User im Forum angelegt hast und eine den Umständen entsprechend schöne Vorweihnachtszeit!
Markus

Offline Joesky

  • Jr. Member
  • **
  • Beiträge: 65
Antw:plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß
« Antwort #3 am: 16 Januar 2021, 11:38:55 »
@ndschambar Danke für den Hinweis, konnte das Problem auch lösen.
_______________
FREI STATT BAYERN

Offline enno

  • Sr. Member
  • ****
  • Beiträge: 790
Antw:plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß
« Antwort #4 am: 20 Mai 2021, 15:03:16 »
Thema schon etwas älter, hat mir aber bei der aktuellen Version von FHEM heute auch geholfen.

#$svgdata =~ s/\.SVGplot\./\./g; in der 98_SVG.pm

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Offline Roger

  • Full Member
  • ***
  • Beiträge: 186
Antw:plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß
« Antwort #5 am: 22 Mai 2021, 14:47:15 »
Oh wie schön, ich bin mit dem Problem nicht allein und bei mir hat der Patch auch geholfen.  :)

Ich habe noch ein altes System mit einer älteren Perl-Version: 5.20.2
Da kommen die Farben auch ohne den Patch.

Aber bei meinem Hauptsystem:
Ubuntu 20.04.2 LTS
Perl v5.30.0
waren die Linen bei plotAsPng alle in Schwarz --> durch Entfernen der Zeile
$svgdata =~ s/\.SVGplot\./\./g;in 98_SVG.pm sind sie wie im Browser von FHEMWEB in Farbe.

Vielleicht kann mann das ja offiziell machen?

//Roger
Zotac, Wandboard, BBB, RPIs mit 10*FHEM
2*HM-LAN, 3*CUL/COC, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR

Offline knopf_piano

  • Full Member
  • ***
  • Beiträge: 440
Antw:plotAsPng liefert Linien bzw. Graphen nur in Schwarz / Weiß
« Antwort #6 am: 21 August 2021, 20:12:06 »
Hab auf debian bullseye aktualisiert.
sw-plots via telegram.

der fix hilft, plots jetzt farbig

pls check in to trunk!!
zotac nano mit proxmox und ganz viel zeug drauf
Zustimmung Zustimmung x 1 Liste anzeigen