Hauptmenü

[gelöst]svg Problem

Begonnen von matze1999, 04 Juli 2022, 09:00:13

Vorheriges Thema - Nächstes Thema

matze1999

hallo,
ich finde meinen Fehler nicht

Inhalt des log-files:

2022-07-04_08:23:09 HUEDevice8 off
2022-07-04_08:28:09 HUEDevice8 on
2022-07-04_08:28:39 HUEDevice8 off


Inhalt gplot File:

# Created by FHEM/98_SVG.pm, 2022-07-04 08:43:11
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 '<TL>'
set ytics ("Auf" 1, "Zu" 0)
set y2tics ("Auf" 1, "Zu" 0)
set grid y2tics
set ylabel ""
set y2label "Ventil"
set yrange [-0.5:1.5]
set y2range [-0.5:1.5]

#lp FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0

plot "<IN>" using 1:2 axes x1y2 title 'Ventil' ls l0 lw 1 with steps

und hier noch show preprocessed input:

get lp CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0

#3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0


Was ich nicht verstehe, da steht doch was im log, müsste man das nicht sehen?

Jetzt noch mal neu angelegt:

# Created by FHEM/98_SVG.pm, 2022-07-04 09:01:59
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 '<TL>'
set ytics
set y2tics
set grid
set ylabel "Humidity"
set y2label "Temperature"

#FileLog_BeregnungTest 3:HUEDevice8.*::

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 1 with lines


im SVG Device werden jetzt sogar einieg Werte angezeigt

Example lines for input:
2022-07-04_08:28:39 HUEDevice8 off
2022-07-04_08:28:09 HUEDevice8 on


nur die preprocessed wieder leer:


get FileLog_BeregnungTest CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 3:HUEDevice8.*::

#3:HUEDevice8.*::


matze1999

frank

die werte "on/off" stehen in spalte 3.
die erste spalte (timestamp) hat die nummer 0.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

matze1999


Zitatdie werte "on/off" stehen in spalte 3.

das dachte ich auch, deshalb:

#lp FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0

und

#FileLog_BeregnungTest 3:HUEDevice8.*::

matze1999

Nobbynews

Zitat von: matze1999 am 04 Juli 2022, 11:53:27
#lp FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0
Die dritte Spalte hat die Nummer 2, also
$fld[2]=.......

matze1999

das ändert nichts:

get lp CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 FileLog:FileLog_BeregnungTest:2:HUEDevice8\x3a::$fld[2]=~"on"?0.8:0

#2:HUEDevice8\x3a::$fld[2]=~"on"?0.8:0



get FileLog_BeregnungTest CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 2:HUEDevice8.*::

#2:HUEDevice8.*::


trotz Daten im Log:

2022-07-04_08:23:09 HUEDevice8 off
2022-07-04_08:28:09 HUEDevice8 on
2022-07-04_08:28:39 HUEDevice8 off


matze1999

matze1999

der neu angelegte funktioniert jetzt, ich hatte vergessen "on" und "off" mit einer funktion zu hinterlegen:

# Created by FHEM/98_SVG.pm, 2022-07-04 12:15:29
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 '<TL>'
set ytics
set y2tics
set grid
set ylabel "Humidity"
set y2label "Temperature"
set y2range [0:1]

#FileLog_BeregnungTest 2:HUEDevice8.*::$fld[2]=~"on"?0.8:0

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 1 with steps


matze1999

matze1999

auch mit logproxy funktioniert es, wenn man es richtig macht und mitdenkt und nicht nur kopiert::

richtig:
#lp FileLog:FileLog_BeregnungTest:2:HUEDevice8.*::$fld[2]=~"on"?0.8:0

falsch:
#lp FileLog:FileLog_BeregnungTest:2:HUEDevice8\x3a::$fld[2]=~"on"?0.8:0

ich weiss nicht, was das "\x3a" bedeutet, das steht u.a. im wiki.

matze1999

Nobbynews

#7
Zitat von: matze1999 am 04 Juli 2022, 13:42:46
auch mit logproxy funktioniert es, wenn man es richtig macht und mitdenkt und nicht nur kopiert::
Oder für solch einfache Plots direkt den Ploteditor verwendet..  ;)

matze1999

Zitat von: Nobbynews am 04 Juli 2022, 13:52:43
Oder für solch einfache Plots direkt den Ploteditor verwendet..  ;)

da soll später noch mehr rein, das ist erst der Anfang.

matze1999

matze1999

Kann man die Achsenbeschriftung "berechnen" lassen"?

ein HourCounter gibt als Werte die Impulse, diese muss ich noch umrechnen um den richtigen Wert zu bekommen, für die Label im plot mache ich das mit:

attr SVG_CN.Regenmenge.File_1 label round($data{currval1}*(0.50505),0)::round($data{currval2}*(0.50505),0)::round($data{currval3}*(0.50505),0)

jetzt müsste ich noch die Achsenbeschriftung der y-Achse darauf anpassen? Zur Zeit werden die Impulszahlen genutzt.

matze1999


betateilchen

Das Attribut "label" ist (genau wie "title") deprecated, Du solltest besser auf plotReplace umstellen.

Grundsätzlich kann man die Achsenbeschriftung über die ytics steuern. Dort kannst Du sowohl mit perl-Code als auch mit plotReplace arbeiten und die Wertepaare entsprechend berechnen lassen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

matze1999

vielen Dank,

da finde ich keinen Ansatz, mir fehlt schon,was der "key" ist.

matze1999