FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: Burny4600 am 12 September 2025, 16:31:40

Titel: [GELÖST] SVG 3 Achsen Darstellungsproblem mit DWD OpenData
Beitrag von: Burny4600 am 12 September 2025, 16:31:40
Ich habe ein Problem mit DWD OpenData.
Übertragen nach https://forum.fhem.de/index.php?topic=83097.msg1347882#msg1347882

Ich mit der Plot-Konfiguration ein Darstellungsproblem und finde den Fehler nicht. Siehe Anhang VHS.
Es werden bei mir die Y Konfigurationen nicht korrekt übernommen.
set ylabel "Regen [mm]"
set y2label "Temperatur [°C]"
set y3label "Wolken/Regen/Sonne [%]"

Der ylabel sollte eigentlich links stehen, steht aber rechts, und der y3label wird nicht angezeigt. y3 wird komplett ignoriert.

list SVG_DWD_KR
Internals:
   DEF        FileLog_DWD_KR:SVG_DWD_KR:CURRENT
   FUUID      68765d64-f33f-f4d2-80b2-e9ccaa2539b76913
   GPLOTFILE  SVG_DWD_KR
   LOGDEVICE  FileLog_DWD_KR
   LOGFILE    CURRENT
   NAME       SVG_DWD_KR
   NR         5301
   STATE      initialized
   TYPE       SVG
Attributes:
   fixedoffset 6
   fixedrange 7days
   group      Wetter Vorhersage
   label      "Tmin: $data{max1} °C, Tmax: $data{min1} °C"
   nrAxis     nrAxis 1,2
   plotsize   900,250
   room       AB-Wetterstation

SVG_DWD_KR.gplot
# Created by FHEM/98_SVG.pm, 2025-09-12 16:11:39
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set y3tics
set grid xtics y2tics
set ylabel "Regen [mm]"
set y2label "Temperatur [°C]"
set y3label "Wolken/Regen/Sonne [%]"
set y3range [0:100]

#lp Func:logProxy_dwd2Plot("DWD_KR","TTT_",$from,$to,0,"day")
#lp Func:logProxy_dwd2Plot("DWD_KR","Tx",$from,$to,18,"day")
#lp Func:logProxy_dwd2Plot("DWD_KR","Tn",$from,$to,6,"day")
#lp Func:logProxy_dwd2Plot("DWD_KR","SunD3_",$from,$to,0,"day",(-3*3600))
#lp Func:logProxy_dwd2Plot("DWD_KR","RR3c_",$from,$to,0,"day",(-3*3600))
#lp Func:logProxy_dwd2Plot("DWD_KR","FX1_",$from,$to,0,"day")
#lp Func:logProxy_dwd2Plot("DWD_KR","R600_",$from,$to,0,"day",(-3*3600))
#lp Func:logProxy_dwd2Plot("DWD_KR","Neff_",$from,$to,0,"day")
#lp ConstX:TimeNow(),0,100
#lp ConstY:0

plot "<IN>" using 1:2 axes x1y2 title 'T' ls l0 lw 2 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y2 title 'Tmax' ls l0dot lw 2 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y2 title 'Tmin' ls l0dot lw 2 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 title 'Sonne' ls l4fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Regenmenge' ls l2fill lw 1 with steps,\
     "<IN>" using 1:2 axes x1y3 title 'Wind' ls l1 lw 1 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 title 'Regen' ls l5fill lw 1 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 title 'Wolken' ls l6fill lw 1 with quadraticSmooth,\
     "<IN>" using 1:2 axes x1y3 notitle ls l5 lw 4 with lines,\
     "<IN>" using 1:2 axes x1y2 notitle ls l5 lw 1 with lines

Kennt jemand dieses Problem?
Titel: Aw: SVG 3 Achsen Darstellungsproblem mit DWD OpenData
Beitrag von: betateilchen am 13 September 2025, 12:55:54
Der von Dir beschriebene angebliche Fehler im Attribut "label" kommt vermutlich daher, dass Du das SVG device nach dem Anlegen umbenannt hast. Das kannst Du doch einfach selbst korrigieren. Davon abgesehen ist das Attribut "label" ohnehin deprecated (siehe commandref zu SVG) und es sollte sinnvollerweise plotReplace verwendet werden. Für abgekündigte Attribute solltest Du besser keinen Support mehr erwarten.

Zu Deinem Achsenproblem:

nrAxis     nrAxis 1,2
ein nrAxis in der Attributanlage ist doppelt...
Titel: Aw: SVG 3 Achsen Darstellungsproblem mit DWD OpenData
Beitrag von: betateilchen am 13 September 2025, 15:16:32
Zitat von: Burny4600 am 12 September 2025, 16:31:40Zum Einen ist mir ein Fehler aufgefallen.

Wenn Du Dich bei so einer Aussage offenbar auf einen Fehler im wiki beziehst, solltest Du das auch dazuschreiben...
Titel: Aw: SVG 3 Achsen Darstellungsproblem mit DWD OpenData
Beitrag von: Burny4600 am 14 September 2025, 09:53:56
Zitat von: betateilchen am 13 September 2025, 12:55:54Der von Dir beschriebene angebliche Fehler im Attribut "label" kommt vermutlich daher, dass Du das SVG device nach dem Anlegen umbenannt hast.
Es erfolgte keine Umbenennung. Es war eine Neuanlage laut meinen Bekannten Mustern.


Zitat von: betateilchen am 13 September 2025, 12:55:54Zu Deinem Achsenproblem:

nrAxis     nrAxis 1,2ein nrAxis in der Attributanlage ist doppelt...
Danke für den Hinweis. Das war wieder eine dummer Copy-Fehler. Jetzt funktioniert die Darstellung der drei Achsen. Das mich an der SVG Konfiguration stört, ist bei Verwendung von mehr als zwei Achsen die Konfiguration im *.gplot durchgeführt werden muss. Mache ich Änderungen im SVG und speichere ich diese, wird alles auf zwei Achsen bei mir reduziert.


Zitat von: betateilchen am 13 September 2025, 12:55:54.... das Attribut "label" ohnehin .....
Solange bisher alles funktioniert, und man keinen Fehler feststellt, wird niemand das commandref lesen, wenn sich viel später Änderungen im Modul ergeben haben.


Zitat von: betateilchen am 13 September 2025, 12:55:54.... sinnvollerweise plotReplace verwendet werden. .....
Ganz klar ist mir die Verwendung von plotReplace laut commandref noch immer nicht.
Da du selbst mit dem Attribut plotReplace Probleme hattest, könntest du mir bitte einige Beispiele nennen, speziell wie ich es jetzt für DWD Open Data nutzen möchte.
Titel: Aw: SVG 3 Achsen Darstellungsproblem mit DWD OpenData
Beitrag von: betateilchen am 14 September 2025, 10:29:41
Zitat von: Burny4600 am 14 September 2025, 09:53:56Da du selbst mit dem Attribut plotReplace Probleme hattest

Mit dem Attribut an sich hatte ich keine Probleme und ich verwende das schon seit einigen Jahren völlig problemlos.

Zitat von: Burny4600 am 14 September 2025, 09:53:56könntest du mir bitte einige Beispiele nennen, speziell wie ich es jetzt für DWD Open Data nutzen möchte.

plotReplace ist nicht "speziell" für irgendein Daten erzeugendes Modul anzuwenden, sondern immer für einen SVG plot. Die Anwendung ist dabei immer gleich. Man definiert key=value Paare und der key kann dann in der Plot-Definition verwendet werden.

Beispiel:

Im "Plot title" im gplot Editor steht <soll> / <ist> / <humi>

Im Attribut plotReplace steht, wie die Werte "soll" "ist" und "humi" entstehen. Im Beispiel sind das einfach Datenwerte, es könnte aber auch weitergehender perl-Code sein.

attr SVG_bd_FuBo plotReplace ist={$data{currval1}}\
soll={$data{currval2}}\
humi={$data{currval3}}

Dadurch werden bei der Anzeige des Plots die entsprechenden Werte als "Überschrift" angezeigt.
Titel: Aw: SVG 3 Achsen Darstellungsproblem mit DWD OpenData
Beitrag von: Burny4600 am 14 September 2025, 10:56:51
Danke für die Tipps.