brauche Hilfe bei regex in gplot

Begonnen von wkarl, 01 September 2014, 10:18:03

Vorheriges Thema - Nächstes Thema

wkarl

Hallo,

in der Datenbank stehen die Werte current und cum_day, wie im screenshot zu sehen.

Die gplot-Datei sieht so aus:
# Created by FHEM/98_SVG.pm, 2013-09-19 12:14:57
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel "Zeit [h]"
set title '<TL>'
set ylabel '<L1>'
set y2label '<L2>'
set yrange [0:]
set y2range [0:]
set ytics nomirror
set y2tics
set grid y2tics
#set format y "%.1f"
#set format y2 "%.1f"


#DbLog <SPEC1>:current:::
#DbLog <SPEC1>:cum_day:::$val=~s/(?<=CUM_DAY:.)([0-9]+(?:\.[0-9]*)?)/$1/eg

#logProxy DbLog:MyDbLog:<SPEC1>:current:::
#logProxy DbLog:MyDbLog:<SPEC1>:total:::
#logProxy DbLog:MyDbLog:<SPEC1>:current::delta-h:

# colors
# l0 ... red
# l1 ... green
# l2 ... blue
# l3 ... magenta
# l4 ... yellow
# l5 ... cyan
# l6 ... black

# line types
# points
# lines
# steps
# fsteps
# histeps
# bars

plot "<IN>" using 1:2 axes x1y1 title 'Leistung/h' ls l0 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Leistung/h' ls l1 lw 2 with lines


current wird ohne Probleme dargestellt. Den regex Ausdruck habe ich mit einem online-Tester geprüft und es wird exakt der Wert nach CUM_DAY:. selektiert. Allerdings nicht geplottet.

Wo liegt der Fehler?
Danke und ciao
walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

frank

hallo walter,

du mischt dblog und logProxy.

#DbLog <SPEC1>:current:::
#DbLog <SPEC1>:cum_day:::$val=~s/(?<=CUM_DAY:.)([0-9]+(?:\.[0-9]*)?)/$1/eg

#logProxy DbLog:MyDbLog:<SPEC1>:current:::
#logProxy DbLog:MyDbLog:<SPEC1>:total:::
#logProxy DbLog:MyDbLog:<SPEC1>:current::delta-h:


current wird wohl funktionieren, weil es für beide fälle definiert ist und du im svg-device wahrscheinlich logProxy in der definition angegeben hast. warum stellst du nicht alles auf logProxy um?

gruss frank
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

wkarl

Hallo Frank,

logProxy entfernt, leider keine Besserung.

Meiner Erfahrung kannst Du FileLog, DbLog und logProxy Definitionen in gplot Dateien stehen haben. In fhem entscheidest Du bei SVG über FileLog, MyDbLog oder MyLogProxy was genutzt wird.

Auf logProxy habe ich noch nicht umgestellt, da es bei mir noch nicht 100% funktioniert.

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

frank

dann sind es bestimmt die doppelpunkte in deiner regex.
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

wkarl

gplot scheint kein lookaround zu mögen.
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

betateilchen

Soweit ich mich erinnere, sind die Funktionsauswertungen, die Du verwendest, in DbLog schlichtweg noch gar nicht programmiert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

du darfst in deiner regex oder sonstigem code für die letzte spalte kein : verwenden. das SVG modul splittet alles an den : und splittet auch deinem ausdruck wenn du wirklich einen : brauchst und nicht mit einem regex . auskommst kannst du versuchen ob ein \x3a als hex repräsentation funktioniert. sonst lagere den code in eine eigene sub in 99_myUtils aus und rufe ihn nur auf.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968