Hallo,
ich stehe ja mit RegEx eh etwas auf Kriegsfuss, gebe ich zu.
Aber ich bekomme es im RegEx-Tester hin und auch in FhemWeb aber ich weiß nicht, wie ich das in die gplot-Datei eingeben muss...

Folgendes Problem:
ich habe in einem FileLog Tendency-Werte, die stehen wie folgt drin (hier mal nur die tendency Werte):
2022-08-13_00:59:55 Aussenthermometer statTemperatureTendency1h: -0.8
2022-08-13_01:59:55 Aussenthermometer statTemperatureTendency1h: +0.2
2022-08-13_02:59:55 Aussenthermometer statTemperatureTendency1h: -1.8
2022-08-13_03:59:55 Aussenthermometer statTemperatureTendency1h: -1.0
2022-08-13_04:59:55 Aussenthermometer statTemperatureTendency1h: -0.8
2022-08-13_05:59:55 Aussenthermometer statTemperatureTendency1h: -0.8
2022-08-13_06:59:55 Aussenthermometer statTemperatureTendency1h: -0.3
2022-08-13_07:59:55 Aussenthermometer statTemperatureTendency1h: +0.5
2022-08-13_08:59:55 Aussenthermometer statTemperatureTendency1h: +1.0
2022-08-13_09:59:55 Aussenthermometer statTemperatureTendency1h: +2.6
2022-08-13_10:59:55 Aussenthermometer statTemperatureTendency1h: +2.6
2022-08-13_11:59:55 Aussenthermometer statTemperatureTendency1h: +1.4
2022-08-13_12:59:55 Aussenthermometer statTemperatureTendency1h: +0.4
2022-08-13_13:59:55 Aussenthermometer statTemperatureTendency1h: +1.1
2022-08-13_14:59:55 Aussenthermometer statTemperatureTendency1h: +0.7
2022-08-13_15:59:55 Aussenthermometer statTemperatureTendency1h: +0.6
2022-08-13_16:59:55 Aussenthermometer statTemperatureTendency1h: -0.1
2022-08-13_17:59:55 Aussenthermometer statTemperatureTendency1h: -0.1
2022-08-13_18:59:55 Aussenthermometer statTemperatureTendency1h: -0.5
2022-08-13_19:34:55 Aussenthermometer statTemperatureTendency1h: +1.5
2022-08-13_19:35:03 Aussenthermometer statTemperatureTendency1h: +1.3
2022-08-13_19:36:43 Aussenthermometer statTemperatureTendency1h: 1.3
2022-08-13_19:59:55 Aussenthermometer statTemperatureTendency1h: -1.0
2022-08-13_20:59:55 Aussenthermometer statTemperatureTendency1h: -0.9
Der Eintrag mit dem Wert 1.3 ist manuell erfolgt, wollte nur sehen, ob es tatsächlich an dem '+' liegt, tut es wohl.
Die Werte mit dem '+' werden nicht geplottet (siehe Bild, es ist dort nur ein langer Strich zu sehen).
Gut hat lange gedauert, bevor ich wusste/vermutete, dass das '+' "Schuld" ist.
Dann dachte ich mir: RegEx das doch weg

Habe lange gesucht und viel probiert und wie gesagt im RegEx-Tester und in FhemWeb alles wunderbar ABER: wie gebe ich das in der gplot-Datei an, da scheitere ich

So sieht meine gplot aus ohne RegEx usw.:
# Created by FHEM/98_SVG.pm, 2022-08-13 11:54:27
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 y3tics
set title '<TL>'
set grid xtics y2tics
set ylabel "Humidity"
set y2label "Temperature"
set y3label "Heat/Cool"
set yrange [30:90]
set y2range [-20:40]
set y3range [-5:5]
#FileLog 4:.*humidity\x3a::
#FileLog 4:.*temperature\x3a::
#FileLog 4:.*statTemperatureTendency1h\x3a::
plot "<IN>" using 1:2 axes x1y1 title 'Luftfeuchte' ls l2 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Ist-Temperatur' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y3 title 'heat/cool' ls l3 lw 1 with lines
Das funktioniert in FhemWeb:
{my $val="+1.5";; $val=~s/\+//g;; return $val}
-> 1.5
ebenso:
{my $val="-1.5";; $val=~s/\+//g;; return $val}
-> -1.5
Würde also passen.
Aber egal wie ich das in die gplot-Datei eingebe, hier ein Beispiel:
#FileLog 4:.*statTemperatureTendency1h::$fld[3]=~s/\+//g
Es kommt (immer) folgendes bei Preprocessed Data raus:
2022-08-13_01:59:55 1
2022-08-13_07:59:55 1
2022-08-13_08:59:55 1
2022-08-13_09:59:55 1
2022-08-13_10:59:55 1
2022-08-13_11:59:55 1
2022-08-13_12:59:55 1
2022-08-13_13:59:55 1
2022-08-13_14:59:55 1
2022-08-13_15:59:55 1
2022-08-13_19:34:55 1
2022-08-13_19:35:03 1
#4:.*statTemperatureTendency1h\x3a::$fld[3]=~s/\+//g
Und wie geschrieben habe ich für das RegEx dort schon alles was mir eingefallen ist und ich so gefunden habe ausprobiert, auch schon mit $val=$fld[3]=~s/\+//g und auch $fld[3]=$fld[3]=~s/\+//g auch ohne \x3a: usw.
Was geht, also irgendwas muss ja passen:
#FileLog 4:.*statTemperatureTendency1h::$fld[3]=$fld[3]+2
Dann kommt bei prepeocessed:
2022-08-13_00:59:55 1.2
2022-08-13_01:59:55 2.2
2022-08-13_02:59:55 0.2
2022-08-13_03:59:55 1
2022-08-13_04:59:55 1.2
2022-08-13_05:59:55 1.2
2022-08-13_06:59:55 1.7
2022-08-13_07:59:55 2.5
2022-08-13_08:59:55 3
2022-08-13_09:59:55 4.6
2022-08-13_10:59:55 4.6
2022-08-13_11:59:55 3.4
2022-08-13_12:59:55 2.4
2022-08-13_13:59:55 3.1
2022-08-13_14:59:55 2.7
2022-08-13_15:59:55 2.6
2022-08-13_16:59:55 1.9
2022-08-13_17:59:55 1.9
2022-08-13_18:59:55 1.5
2022-08-13_19:34:55 3.5
2022-08-13_19:35:03 3.3
2022-08-13_19:36:43 3.3
2022-08-13_19:59:55 1
2022-08-13_20:59:55 1.1
2022-08-13_21:59:55 1.2
#4:.*statTemperatureTendency1h::$fld[3]=$fld[3]+2
Passt ja irgendwie.
Aber "nur" das '+' krieg ich nicht weg...
Hier noch RawDef des SVG-Devices:
defmod SVG_FileLog_Aussen_Climate SVG FileLog_Aussen_Climate:SVG_FileLog_Aussen_Climate:CURRENT
attr SVG_FileLog_Aussen_Climate nrAxis 1,2
attr SVG_FileLog_Aussen_Climate room Balkon
attr SVG_FileLog_Aussen_Climate sortby 02
attr SVG_FileLog_Aussen_Climate title "Klimawerte aussen"
Und des FileLog:
defmod FileLog_Aussen_Climate FileLog ./log/Aussen_Climate-%Y.log Aussenthermometer:temperature.*|Aussenthermometer:humidity.*|Aussenthermometer:statTemperatureHourAvg.*|Aussenthermometer:statTemperatureTendency.h.*
attr FileLog_Aussen_Climate logtype text
attr FileLog_Aussen_Climate room Logs
setstate FileLog_Aussen_Climate active
setstate FileLog_Aussen_Climate 2022-08-13 22:13:19 linesInTheFile 257230
Jetzt bin ich ja mal gespannt.
(klar: userReadings und dann dort das '+' wegmachen ginge fände ich aber "doof"

)
Vielen Dank schon mal, Joachim