[dürfte gelöst sein] Graph nicht sichtbar im plotAsPng Output

Begonnen von andies, 25 Juli 2022, 21:20:00

Vorheriges Thema - Nächstes Thema

betateilchen

Zitat von: andies am 26 Juli 2022, 13:25:12
Ich habe "plotAsPng" aufgerufen, nicht aber "plotAsPngPort":

plotAsPngPort ist keine Funktion, sondern ein Attribut.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

andies

Muss ich das irgendwie setzen? Denn der Patch hat bei mir das Problem nicht gelöst. Kann ich sonst etwas tun?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

betateilchen

Liest (und verstehst) Du eigentlich, was man hier schreibt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

andies

Ich lese vollständig und verstehe nur zum Teil. Ich habe nie beruflich programmiert und daher verstehe ich zB nicht, was in der 98_SVG.pm passiert. Und wieso das die Ursache meines Problems sein könnte. Aber da ich anscheinend der einzige bin, der das Problem hat (siehe den Link oben), muss ich das ja reproduzieren bzw. den Patch einspielen und schauen, ob er was löst.

In meinem Unternehmen würde man sagen ,,der arbeitet nach Anweisung".
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

rudolfkoenig

Nach dem Patch einspielen ist auch das Setzen des o.g. Attributes erforderlich.

rudolfkoenig

ZitatBei einigen styles hatte die Darstellung per plotAsPng() ziemlich merkwürdige Ergebnisse geliefert.
Das verstehe ich, und habe deswegen den Patch eingecheckt.

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

andies

Zitat von: betateilchen am 26 Juli 2022, 13:22:59
Diesen port musst Du dann als Attribut in dem betroffenen SVG-device angeben.
Das hatte ich übersehen, Asche auf mein Haupt. Ich habe jetzt
Internals:
   DEF        DbLog:SVG_DbLog_Wasserzaehler_1:CURRENT
   FUUID      5f64e557-f33f-1115-4639-875d9eb9fbaf5acd
   FVERSION   98_SVG.pm:0.258760/2022-03-23
   GPLOTFILE  SVG_DbLog_Wasserzaehler_1
   LOGDEVICE  DbLog
   LOGFILE    CURRENT
   NAME       WasserPlot
   NR         387
   STATE      initialized
   TYPE       SVG
Attributes:
   plotAsPngFix 0
   plotAsPngPort 8083

aber immer noch dasselbe Ergebnis nach
{ WriteFile("www/images/plot.png", plotAsPng("WasserPlot")) }
siehe Anhang.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

betateilchen

Was passiert denn, wenn Du plotAsPngFix auf 1 setzt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

andies

Zitat von: betateilchen am 26 Juli 2022, 14:55:55
Was passiert denn, wenn Du plotAsPngFix auf 1 setzt?
Klappt, danke!! Problem beseitigt.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich habe gesehen, dass Ihr da einen Fix eingecheckt habt. Wenn ich Update, muss ich dann etwas ändern? Kann ich im Wiki oder anderswo da mit Beschreibungen helfen, was man eventuell bei diesem Fehler tun muss? Oder ist der ,,verschwunden"?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Zusammenfassung:

Das im ersten Beitrag beschriebene Problem (Graph nicht sichtbar im plotAsPng Output)  kann behoben werden, wenn man das Attribut plotAsPngFix 1 setzt. Das ist noetig fuer neue Versionen der LibRSVG Bibliothek. Unklar ist, wieso das nicht getestet wurde, obwohl die Diskussion in dem verlinkten Thema startete, wo sich alles um dieses Attribut dreht. Entgegen des Betreffs (und meiner urspruenglichen Vermutung) hat die Ursache nichts mit DbLog zu tun.

Das hier eingecheckte Patch ist noetig, wenn man mehrere FHEMWEB-Instanzen mit unterschiedlichen Styles hat, und man von plotAsPng konsistente Ergebnisse erwartet. Womoeglich loest es auch weitere Probleme, die mir noch nicht klar sind. Um dieses Problem zu loesen muss man das plotAsPngPort SVG Attribut auf die Portnummer(!) der FHEMWEB Instanz setzen, dessen Style verwendet werden soll.

andies

#28
(Titel geändert)

Hier ein beispielhaftes List eines SVG devices, wenn der übliche Port 8083 verwendet wird.
Internals:
   DEF        DbLog:SVG_DbLog_Wasserzaehler_1:CURRENT
   FVERSION   98_SVG.pm:0.258760/2022-03-23
   GPLOTFILE  SVG_DbLog_Wasserzaehler_1
   LOGDEVICE  DbLog
   LOGFILE    CURRENT
   NAME       WasserPlot
   NR         387
   STATE      initialized
   TYPE       SVG
Attributes:
   plotAsPngFix 1  <=====
   plotAsPngPort 8083 <=======

Ich habe meine gepachte 98_SVG.pm angehangen. Nach dem überschreiben einmal
reload 98_SVG.pm
Erst danach Es sind die Attribute vorhanden.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

betateilchen

Zitat von: andies am 27 Juli 2022, 09:01:47
Ich habe meine gepachte 98_SVG.pm angehangen. Nach dem überschreiben einmal

Kannst Du den Anhang bitte entfernen?
Die Änderung ist seit vorgestern in der offiziellen Modulversion enthalten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!