FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bitschubser am 05 Oktober 2015, 11:35:19

Titel: SVG - Plot Function
Beitrag von: Bitschubser am 05 Oktober 2015, 11:35:19
Hallo,

habe eine einfache Frage, evtl. schon zu einfach.
Ich möchte den aus dem Log gelesenen Wert mit (-1) multiplizieren und im Plot darstellen.
Im Wiki steht:
the string is evaluated as a perl expression.
@fld is the current line splitted by spaces (0-based). So you can do something like $fld[3]=~"on"?0.9:0.8 to map the 4th field which contains an on/off information into numerical values to be plotted in a graph.

Ich will aber nichts ersetzten sondern berechnen.
$fld[4]=1000 ersetzt mir den Wert mit 1000
$fld[4]=1000+$fld[4] gibt ebenfalls 1000 aus (addiert maximal 0)

Hier https://www.youtube.com/watch?v=_ftFWooLekI (https://www.youtube.com/watch?v=_ftFWooLekI) wird es zwar ab Minute 9:45 erklärt, aber die eingegebene Funktion ist nicht zu sehen  >:(

Danke für eure Hilfe
Titel: Antw:SVG - Plot Function
Beitrag von: frank am 05 Oktober 2015, 11:42:02
ZitatIch möchte den aus dem Log gelesenen Wert mit (-1) multiplizieren und im Plot darstellen.
$fld[4]*-1
Titel: Antw:SVG - Plot Function
Beitrag von: Bitschubser am 05 Oktober 2015, 11:55:59
@frank:
leider scheint das nicht zu funktionieren. Der Wert bleibt dann Null.
(//)
Titel: Antw:SVG - Plot Function
Beitrag von: frank am 05 Oktober 2015, 11:58:45
Zitatleider scheint das nicht zu funktionieren.
wenn du den richtigen index nimmst, dann schon.

4. spalte => index 3
Titel: Antw:SVG - Plot Function
Beitrag von: Bitschubser am 05 Oktober 2015, 12:03:25
Ah, jetzt ja.
Danke
Titel: Antw:SVG - Plot Function
Beitrag von: andies am 17 August 2017, 09:38:47
Geht das auch über mehrere Dateien hinweg? Ich versuche (aus dem SVG kopiert)

#FileLog_Sonoff 4:Sonoff_pow1.Power\x3a:$fld[3]-1:
#FileLog_DECT1 4:DECT1.power\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Sonoff' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'DECT' ls l1 lw 1 with lines

und das geht nicht, es wird nichts berechnet, also der Wert wird nicht um eins gemindert. Die Spalte ist korrekt (vierte Spalte):
2017-08-17_09:35:55 Sonoff_pow1 myPower: 2.8044
2017-08-17_09:35:55 Sonoff_pow1 Current: 0.014
2017-08-17_09:35:55 Sonoff_pow1 Power: 2
2017-08-17_09:35:55 Sonoff_pow1 Period: 0
2017-08-17_09:35:55 Sonoff_pow1 Factor: 0.9
2017-08-17_09:35:55 Sonoff_pow1 Today: 0.025