Sida 1 av 1
Visa daglig totalförbrukning i graf?
Postat: 25 feb 2011, 21:39
av formula_0ne
Hej alla!
Tänkte att det kunde vara intressant att se totala elförbrukningen per dygn i snygga staplar för tex en vecka eller månads i en graf, men blir inte klok på hur man ska göra det..
Att visa momentanförbrukning har jag fått någorlunda kläm på, men..
Finns det någon vänlig själ som (förstår min luddiga fråga och) kan hjälpa mig på vägen?
Mvh
Tobias
Re: Visa daglig totalförbrukning i graf?
Postat: 04 mar 2011, 13:45
av formula_0ne
*Bump*

Ingen? Erik...?
Mvh
Tobbe
Re: Visa daglig totalförbrukning i graf?
Postat: 04 mar 2011, 17:10
av larky
Jag loggar el till en textlogg, med 5-minutersintervall. För att få dygnsförbrukning tittar jag på de 288 sista raderna i loggen och räknar ut en totalförbrukning för det senaste dygnet, detta gör jag både med fast startpunkt, midnatt, och rullande senaste 24 som visas på displayen.
Re: Visa daglig totalförbrukning i graf?
Postat: 05 mar 2011, 09:16
av elf98
Använder du RRDTool, Mysql, eller textfiler?
Hur ser dina nuvarande script ut?
Re: Visa daglig totalförbrukning i graf?
Postat: 05 mar 2011, 11:09
av formula_0ne
@larky: Aha, hur grafar du det sen tro?
@Erik:
Ah, det var ju givetvis bra info att skicka med..
Kör på en debian 5.08 burk, owfs 2.8p6, läser av countern via cron varannan minut o skickar in i en rrd-db som jag skapat enligt nedan:
Kod: Markera allt
#!/bin/bash
directory="/rrddata"
filename=$1
ds=$2
rrdtool create $directory/$filename \
--step 120 \
DS:$ds:COUNTER:1200:0:U \
RRA:AVERAGE:0.5:1:262800 \
RRA:AVERAGE:0.5:5:262800 \
RRA:AVERAGE:0.5:30:175200 \
RRA:MAX:0.5:1:262800 \
RRA:MAX:0.5:5:262800 \
RRA:MAX:0.5:30:175200 \
RRA:MIN:0.5:1:262800 \
RRA:MIN:0.5:5:262800 \
RRA:MIN:0.5:30:175200
Upplösning i överkant, men diskplats finns så det spelar ingen roll...
O grafar som i wikin enligt:
Kod: Markera allt
use RRDs;
RRDs::graph "graph_energi_A-24h_liten.png",
"-E",
"-N",
"--start= -24h",
"--end= now",
"--width= 280",
"--height= 280",
"--step= 120",
"--title= Förbrukning Totalt senaste 24 timmarna ",
"--vertical-label= Watt ",
"-l 0 ",
"--watermark= Graf genererad\: $date kl\: $hour\:$min",
"DEF:energi=/rrddata/energi_A.rrd:energi:AVERAGE",
"CDEF:W=energi,3600,*",
"AREA:W#ee6666",
"LINE1:W#000000",
"CDEF:energiK=energi,1000,/",
"VDEF:value_sum=energiK,TOTAL",
"GPRINT:value_sum:Förbrukad mängd\\: %0.2lfkWh\\n",
"GPRINT:W:MIN:Momentanförbrukning\\: Min\\: %0.2lf%sW\\n",
"GPRINT:W:AVERAGE:Medel\\: %0.2lf%sW\\n",
"GPRINT:W:MAX:Max\\: %0.2lf%sW\\n",
"GPRINT:W:LAST:Just nu\\: %0.2lf%sW\\n",
"COMMENT:\\n";
my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}
print "Energi-A - liten - Done!\n";
Så långt allt väl, använder lite php för att fetcha ut infon i textformat för en enkel "mobil-sajt"..
Nu vore det ju himla intressant att kunna se totalförbruking per dag kontra tex utomhustemperatur osv i rrd-grafer, men där slår jag huvet i väggen..

Re: Visa daglig totalförbrukning i graf?
Postat: 05 mar 2011, 11:23
av elf98
Enklast är nog att skapa en rra med en veckas upplösning.
Re: Visa daglig totalförbrukning i graf?
Postat: 05 mar 2011, 12:08
av formula_0ne
Hur menar du då? Jag är lite kass på rrd får jag erkänna..
om jag då vill ha staplar med totalförbrukningen per dag under en vecka (eller månad, det kommer sen..) hur sjutton ska jag skriva för att grafa det?
Be patient..

Re: Visa daglig totalförbrukning i graf?
Postat: 05 mar 2011, 12:47
av elf98
När du definierar databasen så sätter du olika tidsperspektiv och hur länge de ska sparas. Enklaste sättet att grafa dagar/veckor/år är helt enkelt att se till att databasen sparar data i dessa tidsintervall från början.
Re: Visa daglig totalförbrukning i graf?
Postat: 05 mar 2011, 15:22
av larky
Som sent svar på frågan, jag ritar ett enkelt stapeldiagram;
http://karlander.net/temperatur/energiv.png
Ritar diagrammet med gnuplot;
gnuplot <<EOF
set terminal png small
set size 1.45,1.19
set title "Medeltemperatur-medeleffekt"
set xtics 1
set xlabel "dag"
set ylabel "Elforbrukning, kwh"
set y2label "Dygnsmedeltemp."
set y2tics border
set boxwidth 0.5 absolute
set style line 1 lw 4
set style fill solid 1.000000 border -1
set output "energiv.png"
plot "energitempvecka.log" using 2:4 with boxes title "kWh", "temptempvecka.log" using 1:2 with lines lt -1 lw 2 notitle axes x1y2, "eldvecka.log" using 2:3:(0.3) with boxes title "eldade timmar"
EOF