PCA301 Stromverbrauchsmesser - Anzeige aktueller Werte, SVG über mehrere Tage

Begonnen von thburkhart, 06 Februar 2015, 14:12:48

Vorheriges Thema - Nächstes Thema

thburkhart

dank der Hilfe von Robin ist es mir gelungen mittels Jeelink 4 PSA301 Stromverbrauchsmesser von ELV zum Protokollieren zu bringen. Die Schaltfunktion verwende ich nicht.
Die Anzeige gelang mir über SVG-Plots

define PSA_01 PCA301 0C3BE9 01
attr PSA_01 IODev JLPCA301
attr PSA_01 alias Stromzähler PSA 01 Küche NAS
attr PSA_01 devStateIcon on:on:toggle off:off:toggle set.*:light_exclamation:off
attr PSA_01 event-min-interval state:3600
attr PSA_01 group Stromverbrauch
attr PSA_01 room Küche,PCA301
attr PSA_01 userReadings consumptionTotal:consumption monotonic {ReadingsVal($name,'consumption',0)}
attr PSA_01 webCmd on:off:toggle:statusRequest

define FileLog_PSA_01 FileLog ./log/PSA_01-%Y-%m-%d.log PSA_01
attr FileLog_PSA_01 logtype text
define SVG_FileLog_PSA_01_1 SVG FileLog_PSA_01:SVG_FileLog_PSA_01_1:CURRENT
attr SVG_FileLog_PSA_01_1 group Stromverbrauch
attr SVG_FileLog_PSA_01_1 room Küche,PCA301



define SVG_FileLog_PSA_02_1 SVG FileLog_PSA_02:SVG_FileLog_PSA_02_1:CURRENT
attr SVG_FileLog_PSA_02_1 group Stromverbrauch
attr SVG_FileLog_PSA_02_1 room PCA301,Schreibtisch

define SVG_FileLog_PSA_03_1 SVG FileLog_PSA_03:SVG_FileLog_PSA_03_1:CURRENT
attr SVG_FileLog_PSA_03_1 group Stromverbrauch
attr SVG_FileLog_PSA_03_1 room PCA301

define SVG_FileLog_PSA_05_1 SVG FileLog_PSA_05:SVG_FileLog_PSA_05_1:CURRENT
attr SVG_FileLog_PSA_05_1 group Stromverbrauch
attr SVG_FileLog_PSA_05_1 room Küche,PCA301

Frage 1:
Ist es möglich im 2.Argument von define SVG (hier SVG_FileLog_PSA_01_1) eine für dieses Device einheitliche Template Plot-Datei zu verwenden, die nur lesend verwendet wird.

Bislang habe ich den Code von SVG_FileLog_PSA_01_1.gplot  in SVG_FileLog_PSA_0x_1.glpot von Hand kopiert und entsprechend angepasst:

SVG_FileLog_PSA_01_1.gplot:

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 'PSA 01 Stromverbrauch Küche NAS'
set ytics
set y2tics
set grid ytics y2tics
set ylabel "Power [W]"
set y2label "Verbrauch total [kWh]"
set yrange [0:100]
set y2range [0:3]

#FileLog 4:PSA_01.consumptionTotal\x3a::
#FileLog 4:PSA_01.power\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Verbrauch total [kW]' ls l0 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Power [W]' ls l2fill lw 1 with lines

Frage 2:

Ist es Möglich, die Vervrauchskurve über mehrere Tage, Wochen zu plotten?

Ich habe es mit
attr SVG_FileLog_PSA_01_1 fixedrange 14days

versucht, was jedoch nicht gelang.

3. und dümmste Frage:

kann man die aktuellen Werte power, consumtpion,consumptiontotal direkt im Webfontend anzeigen?
Wie auf einem Dashboard oder im FHEM Dashboard.

Herzlichen Dank für eure Hilfe

Thomas

schka17

1:
Ich plotte den Verbrauch damit:

# Created by FHEM/98_SVG.pm, 2013-09-21 23:18:54
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 '<L1>'
set ytics
set y2tics
set grid
set ylabel "Last (W)"
set y2label "Verbrauch (kWh)"

#FileLog 4:.power\x3a:0:
#FileLog 4:.consumption\x3a:0:

plot "<IN>" using 1:2 axes x1y1 title 'Last' ls l2fill lw 1 with histeps,\
     "<IN>" using 1:2 axes x1y2 title 'Verbrauch' ls l1 lw 3 with lines

2:
wenn ich Command reference richtig verstehe
fixedrange [offset]
Contains two time specs in the form YYYY-MM-DD separated by a space. In plotmode gnuplot-scroll or SVG the given time-range will be used, and no scrolling for this SVG will be possible. Needed e.g. for looking at last-years data without scrolling.

If the value is one of hour, day, <N>days, week, month, year than set the zoom level for this SVG independently of the user specified zoom-level. This is useful for pages with multiple plots: one of the plots is best viewed in with the default (day) zoom, the other one with a week zoom.
If given, the optional integer parameter offset refers to a different period (e.g. last year: fixedrange year -1, 2 days ago: fixedrange day -2).


dann kann man nur Tage(days) eine einstellige Zahl vorgeben, zweistellig funktioniert nicht. Oder eben fixed range von bis.

3:
attribute stateformat setzen z.B.
akt. power W Total consumption kWh

Gruß

Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

thburkhart

danke!

jetzt ergibt sich ein weiteres Problem

Da sich die PCAs am Anfang sehr gesprächig waren (FHEM reagierte schlicht nicht mehr), bis ich sie mit event-min-interval state:3600 verdichtete.

Kann man die Plots irgendwie überreden eine Zeitbereich über Monate und Jahre auszudehnen, egal ob die Logs in Jahres, Monats oder Tagesdateien liegen.

schka17

Zitat von: thburkhart am 06 Februar 2015, 19:40:54
danke!

jetzt ergibt sich ein weiteres Problem

Da sich die PCAs am Anfang sehr gesprächig waren (FHEM reagierte schlicht nicht mehr), bis ich sie mit event-min-interval state:3600 verdichtete.

Kann man die Plots irgendwie überreden eine Zeitbereich über Monate und Jahre auszudehnen, egal ob die Logs in Jahres, Monats oder Tagesdateien liegen.

Meines Wissens kann man keine plots über mehrere Logfiles machen. Das geht dann nur wenn du die logfiles zusammenführst --> attr absorb secondFileLog, händisch zusammen kopieren oder vielleicht auch mit logproxy, damit habe ich mich noch zuwenig beschäftigt. Aber für deine Anforderungen und deine Plattform würde es wahrscheinlich Sinn machen, DBlog zu verwenden da damit die Resourcen beim erstellen der plots geschont werden, mein raspi ist da immer ganz schön in die knie gegangen, du bist auch flexibler.

Gruß

Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000