Har satt in en temp sensor (som klarar +125 C) i min bastu. Sensorn registrerar tempen som jag skriver ut i en txt-fil men grafen slutar vid 60 grader. När sedan bastun svalnat och går under 60 så börjar den att rita igen. förmodar att det har med min .pl fil att göra, men vad? så här ser den ut:
#!/usr/bin/perl
use RRDs;
my $cur_time = time();
my $start_time = $cur_time - 86400; # set end time to 24 hours ago
RRDs::graph "/home/pi/rrddata/bastu.png",
"--start= $start_time",
"--end= $cur_time",
"--title= Bastutemperatur",
"--height= 300",
"--width= 500",
"--vertical-label= °C",
"DEF:BastuTemp=/home/pi/rrddata/bastu.rrd:BastuTemp:AVERAGE",
"COMMENT:\t\t\t\tNu Medel Max Min\\n",
"HRULE:0#0000FF",
"LINE2:BastuTemp#0000FF:Temperatur\t\t\t",
"GPRINT:BastuTemp:LAST:%6.1lf",
"GPRINT:BastuTemp:AVERAGE:%6.1lf",
"GPRINT:BastuTemp:MAX:%6.1lf",
"GPRINT:BastuTemp:MIN:%6.1lf\\n";
my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}
print "Done!\n"
Finns det någon gräns på grafen som stannar på 60 grader?
Du har antagligen skapat databasen bastu.rrd med maxvärdet 60 för BastuTemp.
Du kan köra rrdtool info bastu.rrd så ser du vad som är min och max och annat, maxvärdet kan sedan ändras med rrdtool tune så slipper du göra en ny databas.
Nya databasen kommer alltså att kunna hantera temperaturer från 0-160C vilket nästan är rimligt
Men som du märkt är det dumt att sätta för snåla gränser från början, så det är lika bra att ta i.
Du kommer att regenerera RRD-databasen, så all historik försvinner. Du kanske visste det redan.
Dock kan man kanske exportera data från nuvarande databas, sedan skapa den nya databasen, och sist importera in gammal data in i den nya databasen.
Du kommer att regenerera RRD-databasen, så all historik försvinner. Du kanske visste det redan.
Dock kan man kanske exportera data från nuvarande databas, sedan skapa den nya databasen, och sist importera in gammal data in i den nya databasen.
historiken är obefintlig eftersom jag bara testkör sensorn just nu. Ska prova nästa gång jag bastar...typ i morgon
För att ändra maxvärdet på "ds-name" BastuTemp till 160 i filen bastu.rrd
Man kan också lämna min och maxvärde odefinierat då man skapar databasen så accepteras sedan alla värden. Fördelen med att definiera ett maxvärde är att inget över det accepteras vilket är bra om man vet vad som är största rimliga värdet, kommer det ett större så är det alltså ett felaktigt värde som man inte vill spara i databasen. Får man in ett värde på hundra miljoner så kommer ju resten av data att bli ett enda streck längs med x-axeln då man plottar en graf.