Graph Wert einfach invertieren?

Begonnen von mischu860, 01 November 2016, 13:45:42

Vorheriges Thema - Nächstes Thema

mischu860

Hallo zusammen.


ich lese mittels dem SYSSTAT Modul Werte via SNMP aus.

Nun habe ich ein Graph erstellt der mir aus den log Files von wetter und dem SYSSTAT folgende Werte aufzeichnet.


Aussentemp
Innentemp
Status Wärmepumpe (Läuft | Läuft Nicht)

Mein Problem ist nun aber das die Werte der WP Invertiert sein müssen.

Die Source ist:

WP-Ein = 0
WP-Aus = 100



Nun sollte ich jedoch das ganze umkehren.
Gibt es da nicht im Feld (function eine möglichkeit das zu machen)?

Hier mal der Code und ein Auszug:

fhem config:


# SVG-Plot MessPC-Status-Wärmepumpe

define SVG_FileLog_MessPC_2 SVG FileLog_MessPC:SVG_FileLog_MessPC_2:CURRENT
attr SVG_FileLog_MessPC_2 label ""
attr SVG_FileLog_MessPC_2 plotsize 1000,300
attr SVG_FileLog_MessPC_2 room Plots
attr SVG_FileLog_MessPC_2 title "Status-Wärmepumpe ----- [".localtime()."]"




gplot File:


# Created by FHEM/98_SVG.pm, 2016-10-18 15:45: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 " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Aussentemperatur"
set y2label "Innentemperatur"
set yrange [-20:35]
set y2range [15:25]

#FileLog_Wetter 4:Wetter.temperature\x3a::
#FileLog_MessPC 4:MessPC.TempEingang\x3a::
#FileLog_MessPC 4:MessPC.StatusWärmepumpe\x3a::

plot "<IN>" using 1:2 axes x1y1 title 'Aussentemp' ls l2fill lw 3 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Innentemp' ls l6fill lw 3 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'WP-Status' ls l0fill lw 1 with lines



Eigentlich benötige ich:

WP-Ein = 35
WP-Aus = -20

da ich diese an die linke y Achse gekoppelt habe (Aussentemp). Bei der ist der Wert von -20 bis +35 definiert. So würde der Graph auch nicht immer über das Ziel hinausschiessen.
Aktuell läuft die WP nicht wenn der Rote Balken oben ist.

Kann mir da jemand weiterhelfen?


Danke euch & Gruss


Mischu

rudolfkoenig

In der Function Spalte kann man mit dem Spaltenwerten rechnen, dabei ist $fld[3] die Spalte 4.te Spalte (wie in allen Programmiersprachen beginnen Array-Indizes bei 0).
Achtung: Leerzeichen sind nicht erlaubt, falls Du was groesseres rechnen willst, bitte eine Funktion in 99_myUtils.pm verwenden.