> My inverter (SMA) records every 5 minutes the instantaneous power and the
> overall yield (both in kW (resp kWh), float with 3 decimal places).

This sounds like excellent data for an RRD -- time-based, rate-based, and 
regular intervals.

Set up your RRD with a 300s interval, 600s heartbeat.  I'd suggest the standard 
RRAs of 1cdp=1pdp/6pdp/24pdp/288pdp (5min/30min/2hr/1day) in AVG and MAX to 
start with.

> If I store the values as GAUGE, I can draw daily production curves out of the
> instantaneous data, but I can't put them in a RRA - AVERAGE'ing or MAX'ing or
> LAST'ing instantaneous production makes no sense, only the sum

You should store them using GAUGE (as kW is already a rate).  In fact, multiply 
by 1000 and store, as then you're storing as Watt or Joules/sec, the SI unit, 
which is Best Practice.

You now use your RRD functions to turn your stored data (Watts) into daily kWh 
data.

You have a 1cdp=288pdp AVG RRA defined, so this will keep track of your Average 
Watts for the day.  Multiply this by 86400 (seconds in a day) to get Joules for 
the day.  If you want it in Watt Hours (Wh) then instead multiply by 24 (hours 
in a day).  The kilo- should take care of itself (keeping it all in SI units 
really helps here).  Remember 1 kWh == 1000 W x 1hr == 1000 J/s x 3600s == 
3600000 J == 3.6 MJ.

> As far as I understand, I'll have to do either some pre-processing (before
> feeding into rrdtool), or some post-processing on the data (when plotting the
> pics). To use COUNTER I have anyway to multiply the data by 1000 to convert it
> to integer.

Don't do any pre-processing other than to convert to SI units, and store as a 
GAUGE because the data is already a rate (Watts is Joules/sec of course).  
Converting to a non-SI such as kWh can be done at display time, when you 
generate your graph and totals.

EG

rrdtool create power.rrd DS:power:GAUGE:600:0:1000000 RRA:AVERAGE:0.5:1:800 
RRA:AVERAGE:0.5:6:800 RRA:AVERAGE:0.5:24:800 RRA:AVERAGE:0.5:288:800

rrdtool update power.rrd N:$powerinwatts

rrdtool graph -e 00:00 -s e-1day DEF:watts=power.rrd:power:AVERAGE 
VDEF:avguse=watts,AVERAGE CDEF:'tmp=watts,24,*' VDEF:wh=tmp,AVERAGE 
GPRINT:wh:'Power consumption: %.2lf %sWh\l' AREA:watts:'Power consumption'

(This is all from memory so there might be a few errors in there).

Basically, you get a graph for the 24 hours of the last day, showing power 
usage (in watts).  The average usage over the day, multiplied by 24, gives the 
Wh used, which (unless you have everything switched off) will be in thousands, 
so you get kWh.

Corrections welcome :)

Steve


Steve Shipway
ITS Unix Services Design Lead
University of Auckland, New Zealand
Floor 1, 58 Symonds Street, Auckland
Phone: +64 (0)9 3737599 ext 86487
DDI: +64 (0)9 924 6487
Mobile: +64 (0)21 753 189
Email: s.ship...@auckland.ac.nz
 Please consider the environment before printing this e-mail 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
rrd-users mailing list
rrd-users@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users

Reply via email to