Visa två grafer från samma databas

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.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Användarvisningsbild
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Visa två grafer från samma databas

Inlägg av Troy McClure »

Har gått bet nu hela förmiddagen.

Försöker alltså att få till det så att även förra årets temperatur ritas ut i min graf över senaste veckans temp. Precis som man kan se här då man jämför perioder.

Men jag får inte till det.

Kod: Markera allt

RRDs::graph "/var/www/graph_temp_w.png",
         "--start= $start_time",
         "--end= $cur_time",
         "--title= Temp ute senaste veckan, samt för ett år sedan",
         "--height= 300",
         "--width= 500",
         "--vertical-label= °C",
         "--watermark= Graf genererad\: $now",
         "--alt-autoscale",
         "DEF:OutsideTemp=/root/rrddata/outside_temp.rrd:outsidetemp:AVERAGE",                         
         "DEF:YearTemp=/root/rrddata/outside_temp.rrd:outsidetemp:AVERAGE:start=-1 year:end=start + 1 week",
         "COMMENT:\t\t\t\tNu     Medel    Max    Min\\n",
         "SHIFT:YearTemp:31536000",
         "HRULE:0#FF00FF",
         "LINE1:OutsideTemp#0000FF:Nu\t\t\t",
         "GPRINT:OutsideTemp:LAST:%6.1lf",
         "GPRINT:OutsideTemp:AVERAGE:%6.1lf",
         "GPRINT:OutsideTemp:MAX:%6.1lf",
         "GPRINT:OutsideTemp:MIN:%6.1lf\\n",
         "LINE1:YearTemp#00FF00:1 år sedan\t",
         "GPRINT:YearTemp:LAST:%6.1lf",
         "GPRINT:YearTemp:AVERAGE:%6.1lf",
         "GPRINT:YearTemp:MAX:%6.1lf",
         "GPRINT:YearTemp:MIN:%6.1lf\\n";
Jag verkar få rätt siffror från förra årets aktuella vecka, men det ritas inte ut någon grön graf.

Någon som ser vad jag gjort fel?
Användarvisningsbild
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: Visa två grafer från samma databas

Inlägg av Troy McClure »

Det är alltså detta jag är ute efter:
Två perioder utritade från samma databas
Två perioder utritade från samma databas
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Visa två grafer från samma databas

Inlägg av elf98 »

Så här gör jag för att lägga på förra veckans temperatur:

Kod: Markera allt

/usr/bin/rrdtool graph /home/httpd/termo/pics/termo-$stad-jam2.png  --start -1w --end now -t '$text[0] - $stad_full' --width 674 --height 170 -v 'Grader C' -u 15 -l -15  -L 4 -E  --yaxis-side=3 DEF:ute=/special/termo/rrdb/$db:ute:AVERAGE DEF:ute2=/special/termo/rrdb/$db:ute:AVERAGE:end=now-1w:start=end-1w SHIFT:ute2:604800 LINE2:ute#FF0000 LINE2:ute2#00FF00 HRULE:0#0000FF
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Användarvisningsbild
Troy McClure
Tar hemautomation på allvar
Inlägg: 66
Blev medlem: 13 mar 2008, 12:47
Ort: Bångbro

Re: Visa två grafer från samma databas

Inlägg av Troy McClure »

Tack, det gav mig ledtrådar nog att komma vidare. Ett pinsamt problem var dessutom att jag inte har ett helt års mätningar i RRD-databasen ännu.... :oops:

Så nu lattjar jag med månadsvis jämförelse, så borde den årliga komma igång om någon månad eller så.
Hoffan
Hemautomation - det är mer än en hobby
Inlägg: 352
Blev medlem: 13 maj 2007, 22:46
Ort: Mölndal

Re: Visa två grafer från samma databas

Inlägg av Hoffan »

Någon som har ett fungerade script för att visa dubbel eller en jämförelse me tex veckan innan från
samma databas

Har kollat å filat lite, men fick int etill det så jag tröttnade :(

Min vanliga graf ser ut så här.. Hur petar jag in för å få veckan innan :? :?
Användarvisningsbild
Newbie
Gillar hemautomation
Inlägg: 32
Blev medlem: 30 jan 2009, 14:09
Ort: Lindome

Re: Visa två grafer från samma databas

Inlägg av Newbie »

Hoffan skrev:Någon som har ett fungerade script för att visa dubbel eller en jämförelse me tex veckan innan från
samma databas

Har kollat å filat lite, men fick int etill det så jag tröttnade :(

Min vanliga graf ser ut så här.. Hur petar jag in för å få veckan innan :? :?
Har du läst inlägget 3 steg upp skrivet av elf98?
Ser ut som det du frågar efter.
Gör något. Om det inte fungerar, gör något annat.
Hoffan
Hemautomation - det är mer än en hobby
Inlägg: 352
Blev medlem: 13 maj 2007, 22:46
Ort: Mölndal

Re: Visa två grafer från samma databas

Inlägg av Hoffan »

Klart jag har läst det

Men försökte me det som hjällp, men fick inte riktigt till det. :(
Hoffan
Hemautomation - det är mer än en hobby
Inlägg: 352
Blev medlem: 13 maj 2007, 22:46
Ort: Mölndal

Re: Visa två grafer från samma databas

Inlägg av Hoffan »

Me lite piggare skalle i dag så löste jag detta.... :)
MikaelB
Tar hemautomation på allvar
Inlägg: 85
Blev medlem: 31 aug 2009, 10:18
Ort: Malmö

Re: Visa två grafer från samma databas

Inlägg av MikaelB »

Får man fråga hur du gjorde :-)

Jag har också testat Eriks script och det funkar inte hos mig :-(

Själv har jag ett script som ser ut såhär;

Kod: Markera allt

rrdtool graph $imgName.png -a PNG -w 900 -h 350 \
        -t "$graphTitle" \
        --end now --start end-$interval \
        -v "Degrees Celsius" \
         -u 15 -l -15  -L 4 -E \
        DEF:rf6=$rrdfilpath/$rrdfil:set1-val3:AVERAGE \
        DEF:rf6p=$rrdfilpath/$rrdfil:set1-val3:AVERAGE:end=now-$interval:start=end-$interval \
        DEF:rf7=$rrdfilpath/$rrdfil:set1-val4:AVERAGE \
        DEF:rf7p=$rrdfilpath/$rrdfil:set1-val4:AVERAGE:end=now-$interval:start=end-$interval \
        DEF:rf8=$rrdfilpath/$rrdfil:set1-val5:AVERAGE \
        DEF:rf8p=$rrdfilpath/$rrdfil:set1-val5:AVERAGE:end=now-$interval:start=end-$interval \
        LINE2:rf6#db5669:"Ute" \
        LINE2:rf6p#db5669:"Ute föreg." \
        LINE2:rf7#79d1d5:"Uterummet" \
        LINE2:rf7p#79d1d5:"Uterummet föreg." \
        LINE2:rf8#798634:"Matkällaren" \
        LINE2:rf8p#798634:"Matkällaren föreg."
Och det ritar bara ut en graf per mätare :-(
Hoffan
Hemautomation - det är mer än en hobby
Inlägg: 352
Blev medlem: 13 maj 2007, 22:46
Ort: Mölndal

Re: Visa två grafer från samma databas

Inlägg av Hoffan »

så här ser mitt ut..

Å det e ju Eric i grunden har jag för mig :?: :?:


RRDs::graph "/var/www/grafs/temp/ute_temp_1w.png",

"--start= -1w",
"--end= now ",
"--title= Jämförande graf, senaste 7 dagarna (röd) med föregående 7 dagarna (grön) - Mölndal",
"--height= 170",
"--width= 674",
"--alt-autoscale",
"--vertical-label= Grader Celcius °C",
"-u 15 -l -15 -L 4 -E ",
"--watermark= Hoffans | Denna graf genererades\: kl\: $HOUR:$MINUTES",
#"--yaxis-side=3",
"DEF:OutsideTemp=/home/niclas/rrddata/outside_temp.rrd:outsidetemp:AVERAGE",
"DEF:OutsideTemp2=/home/niclas/rrddata/outside_temp.rrd:outsidetemp:AVERAGE:end=now 1w:start=end-1w",
#"COMMENT:\t\t\t\t Nu Medel Max Min\\n",
"HRULE:1#0000FF",
"SHIFT:OutsideTemp2:604800",
"LINE2:OutsideTemp#FF0000:Ute Denna veckan\t\t",
"LINE2:OutsideTemp2#00FF00:Ute Förra veckan\t\t",
#"GPRINT:OutsideTemp:LAST:\\:%6.1lf\x°C",
#"GPRINT:OutsideTemp:AVERAGE:\\:%6.1lf\x°C",
#"GPRINT:OutsideTemp:MAX:\\:%6.1lf\x°C",
#"GPRINT:OutsideTemp:MIN:\\:%6.1lf\x°C",
"COMMENT:Data hämtad $now";
andreas
Tar hemautomation på allvar
Inlägg: 61
Blev medlem: 17 jan 2010, 01:06
Ort: Borås
Kontakt:

Re: Visa två grafer från samma databas

Inlägg av andreas »

För de DEF som man sätter annan start/slut, så måste man lägga till SHIFT satser som motsvarar den förskjutningen man gör.

För MikaelB, så borde det bli

SHIFT:rf6p:$intrerval
SHIFT:rf7p:$intrerval
SHIFT:rf8p:$intrerval

/Andreas
MikaelB
Tar hemautomation på allvar
Inlägg: 85
Blev medlem: 31 aug 2009, 10:18
Ort: Malmö

Re: Visa två grafer från samma databas

Inlägg av MikaelB »

Skumt, lade in shift, men jag får bara en linje på 0, så det är något som inte stämmer med datan...
Jag vet att det finns data, men gör jag en graf över denna och förra veckan så hamnar förra veckans temperatur konstant på nollan...
MikaelB
Tar hemautomation på allvar
Inlägg: 85
Blev medlem: 31 aug 2009, 10:18
Ort: Malmö

Re: Visa två grafer från samma databas

Inlägg av MikaelB »

Pokar tråden lite, har fortfarande inte fattat vad jag gör fel :-(

Nu kör jag följande kommando (har lagt till backslashar och brutit rader för er läsbarhet):

Kod: Markera allt

rrdtool graph ute-1w.png -a PNG -w 450 -h 175 -t "$(date)"  --end now --start end-1w -v "Degrees Celsius" \
DEF:rf8=/usr/local/Data/rrd/riddarmusseronen.rrd:set1-val3:AVERAGE \
DEF:r8p=/usr/local/Data/rrd/riddarmusseronen.rrd:set1-val3:AVERAGE:end=now-1w:start=end-1w \
SHIFT:r8p:604800 \
LINE2:rf8#db5669:ute \
LINE2:r8p#000000:uteforraveckan
Den ger följande graf:
ute-1w.png
ute-1w.png (26.24 KiB) Visad 7193 gånger
För att visa att datan finns gjorde jag en graf över senaste månaden;
ute-1m.png
ute-1m.png (32.37 KiB) Visad 7193 gånger
Någon som ser vad jag gör fel?
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Visa två grafer från samma databas

Inlägg av elf98 »

Ser inte något som är uppenbart fel.

så här ser koden som används på temperatur.nu ut

Kod: Markera allt

/usr/bin/rrdtool graph /home/httpd/termo/pics/termo-$stad-jam2.png  --start -1w --end now -t '$text[0] - $stad_full' --width 674 --height 170 -v 'Grader C' -u 15 -l -15  -L 4 -E  --yaxis-side=3 DEF:ute=/special/termo/rrdb/$db:ute:AVERAGE DEF:ute2=/special/termo/rrdb/$db:ute:AVERAGE:end=now-1w:start=end-1w SHIFT:ute2:604800 LINE2:ute#FF0000 LINE2:ute2#00FF00 HRULE:0#0000FF
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
andreas
Tar hemautomation på allvar
Inlägg: 61
Blev medlem: 17 jan 2010, 01:06
Ort: Borås
Kontakt:

Re: Visa två grafer från samma databas

Inlägg av andreas »

MikaelB skrev: Nu kör jag följande kommando (har lagt till backslashar och brutit rader för er läsbarhet):

Kod: Markera allt

rrdtool graph ute-1w.png -a PNG -w 450 -h 175 -t "$(date)"  --end now --start end-1w -v "Degrees Celsius" \
DEF:rf8=/usr/local/Data/rrd/riddarmusseronen.rrd:set1-val3:AVERAGE \
DEF:r8p=/usr/local/Data/rrd/riddarmusseronen.rrd:set1-val3:AVERAGE:end=now-1w:start=end-1w \
SHIFT:r8p:604800 \
LINE2:rf8#db5669:ute \
LINE2:r8p#000000:uteforraveckan
Provade din kod ovan rakt av (förutom att jag angav namnet på min rrd-fil) och jag fick två grafer.

Vad har du för OS, version av RRDTool?
Skriv svar