Årsgraf

RRDTool är en Linuxmjukvara som kan användas för att lagra data i Round-Robin Databaser för att sedan generera grafer utifrån den lagrade datan.

Moderator: elf98

Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
JeoG
Wannabe
Inlägg: 12
Blev medlem: 18 dec 2012, 16:20
Ort: Norrköping

Årsgraf

Inlägg av JeoG » 09 nov 2013, 12:22

Hej!

Har suttit och försökt få till en graf som ska visa temperatur för ett helt år, men blir inte klok på hur jag ska göra.

Finns det någon som har ett färdigt script som man kan få titta på och klippa och klistra lite?

Har lyckats få Veckograf och Månadsgraf, men får inte till årsgraf.

Såhär ser min kod ut för månadsgrafen. Försöker ändra värdena till 3139000 för att få en visning av år. Men det funkar inte.

Kod: Markera allt

#!/usr/bin/perl

use RRDs;
my $cur_time = time();
my $start_time = $cur_time - 2678400;     # set end time to 1 month


RRDs::graph "/var/www/graph_temp_outside_month.png",
                        "--start= $start_time",
                        "--end= $cur_time",
                        "-X0",
                        "--title= Temperatur Utomhus Månad",
                        "--height= 150",
                        "--width= 500",
                        "--vertical-label= °C",
                        "--watermark= iSMHS.kartong.net | Graf genererad\: $date kl\: $hour\:$min",
                        "--x-grid", "HOUR:24:DAY:1:DAY:1:2678400:%d",
                        "DEF:Outsidetemp=/home/emil/rrddata/outside_temp.rrd:Outsidetemp:AVERAGE",
                        "COMMENT:\t\t\t\tNu     Medel     Max     Min\\n",
                        "HRULE:0#0000FF",
                        "AREA:Outsidetemp#FF000044:Utomhus Framsida\t",
                        "LINE1:Outsidetemp#FF0000",
                        "GPRINT:Outsidetemp:LAST:%6.1lf",
                        "GPRINT:Outsidetemp:AVERAGE:%6.1lf",
                        "GPRINT:Outsidetemp:MAX:%6.1lf",
                        "GPRINT:Outsidetemp:MIN:%6.1lf\\n";

my $err=RRDs::error; if ($err) {print "problem generating the graph: $err\n";}
print "Done serving you master!\n"
// Emil

kaaswe
Tar hemautomation på allvar
Inlägg: 77
Blev medlem: 10 jan 2013, 17:23
Ort: Bjursås
Kontakt:

Re: Årsgraf

Inlägg av kaaswe » 09 nov 2013, 22:06

Hej

Det borde väl fungera, nu har jag inte så mycket data i min RRD så jag kan testa men jag lyckades då med ca: 6 månader:
15552000

Har du 1 års data?

Användarvisningsbild
CDK2H
Gillar hemautomation
Inlägg: 42
Blev medlem: 21 nov 2013, 13:55
Ort: Gökalund

Re: Årsgraf

Inlägg av CDK2H » 25 nov 2013, 22:10

kaaswe skrev:Hej

Det borde väl fungera, nu har jag inte så mycket data i min RRD så jag kan testa men jag lyckades då med ca: 6 månader:
15552000

Har du 1 års data?
Har man inte data så visas ingenting eller? Sitter och klurar på en veckograf jag just nu men då jag bara har data sedan igår kväll så måste jag vänta?

edit: ibland tänker jag så dumt så jag blir rädd. Var lite för snabb här och inne i annat tänk ;D
Senast redigerad av 1 CDK2H, redigerad totalt 26 gånger.

bjorktorp
Gillar hemautomation
Inlägg: 36
Blev medlem: 13 feb 2007, 13:55
Ort: Gistad

Re: Årsgraf

Inlägg av bjorktorp » 26 nov 2013, 11:12

Man behöver inte nödvändigtvis räkna ut starttider. Det kan rrdtool hjälpa till med. Början på mitt skript som skapar grafer över förbrukad energi ser principiellt ut som:

Kod: Markera allt

#!/bin/sh
year=$(date +%Y)
 /usr/bin/rrdtool graph <path_to_file>/energy$1.png \
   -E \
   --imgformat PNG \
   --start $1 \
   --end $2 \
   --width 550 \
   --height 350 \
Så anropar jag det från crontab med inparametrar som bestämmer tidsperiod. Om ett år bakåt i tiden är intressant blir anropet

Kod: Markera allt

dc_create_img.sh -1y now
Resulterande bildfil heter då energy-1y.png

/Roger

Skriv svar