Sida 1 av 1

Två Grafer i RRDtool

Postat: 12 sep 2018, 21:42
av Bizmarck
Hej.

Jag försöker att få till två kurvor i samma bild men får inte till det i RRdtool.
Den skriver ut en korrekt men den andra skrivs inte ut. Jag får inga felmeddelanden eller något, men det är säker något jag missat så min fråga till er är om ni kan se vart felet är? Bifogar även grafen som den ser ut

Här är mina filer:

Create_rrd.sh

Kod: Markera allt

#!/bin/bash
# Script to create rrd-file 

# 24h with 2,5 min resolution
# 7d with 5 min resolution
# 1y with 10 min resolution
# 20y with 1h resolution

directory="/home/pi/rrddata/"
T3topp="tank3topp.rrd"
T3botten="tank3botten.rrd"

# Check i file already exists
if [ ! -f "$directory$T3topp" ]
then
	# File doesn't exist, create new rrd-file
	echo "Creating RRDtool DB for outside temp sensor"
	rrdtool create $directory$T3topp \
		 --step 150 \
		 DS:tank3topp:GAUGE:300:-50:160 \
		 RRA:AVERAGE:0.5:1:576 \
		 RRA:AVERAGE:0.5:2:2016 \
		 RRA:AVERAGE:0.5:4:52560 \
		 RRA:AVERAGE:0.5:24:175200 \
		 RRA:MAX:0.5:1:5760 \
		 RRA:MAX:0.5:2:2016 \
		 RRA:MAX:0.5:4:52560 \
		 RRA:MAX:0.5:24:175200 \
		 RRA:MIN:0.5:1:5760 \
		 RRA:MIN:0.5:2:2016 \
		 RRA:MIN:0.5:4:52560 \
		 RRA:MIN:0.5:24:175200
	echo "Done!"
else
	echo $directory$T3topp" already exists, delete it first."
fi

# Check i file already exists
if [ ! -f "$directory$T3botten" ]
then
	# File doesn't exist, create new rrd-file
	echo "Creating RRDtool DB for Tank 3, botten sensor"
	rrdtool create $directory$T3botten \
		 --step 150 \
		 DS:tank3botten:GAUGE:300:-50:160 \
		 RRA:AVERAGE:0.5:1:576 \
		 RRA:AVERAGE:0.5:2:2016 \
		 RRA:AVERAGE:0.5:4:52560 \
		 RRA:AVERAGE:0.5:24:175200 \
		 RRA:MAX:0.5:1:5760 \
		 RRA:MAX:0.5:2:2016 \
		 RRA:MAX:0.5:4:52560 \
		 RRA:MAX:0.5:24:175200 \
		 RRA:MIN:0.5:1:5760 \
		 RRA:MIN:0.5:2:2016 \
		 RRA:MIN:0.5:4:52560 \
		 RRA:MIN:0.5:24:175200
	echo "Done!"
else
	echo $directory$T3botten" already exists, delete it first."
fi
Get_temp.sh

Kod: Markera allt

#!/bin/bash

T3topp="28.5B146C090000"
T3botten="28.D10791070000"
RRDDataDirectory="/home/pi/rrddata/"
RRDDataFile1="tank3topp.rrd"
RRDDataFile2="tank3botten.rrd"

#Get temps form OWFS
tank3topp=`cat /mnt/1wire/$T3topp/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
sleep 2;
tank3botten=`cat /mnt/1wire/$T3botten/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`


#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile1 N:$tank3topp
sleep 5;
rrdtool update $RRDDataDirectory$RRDDataFile2 N:$tank3botten
echo $tank3topp
echo $tank3botten
graph_temp.pl

Kod: Markera allt

#!/usr/bin/perl

use RRDs;

my $cur_time = time();
my $start_time = $cur_time - 86400;     # set end time to 24 hours ago

RRDs::graph "/var/www/html/tank3topp.png",
                        "--start= $start_time",
                        "--end= $cur_time",
                        "--title= Tank 3",
                        "--height= 300",
                        "--width= 500",
                        "--vertical-label= °C",
                "DEF:tank3topp=/home/pi/rrddata/tank3topp.rrd:tank3topp:AVERAGE",
                "DEF:tank3botten=/home/pi/rrddata/tank3botten.rrd:tank3botten:AVERAGE",
                        "COMMENT:\t\t\t\tNu     Medel    Max    Min\\n",
                        "HRULE:0#0000FF",
              "LINE2:tank3topp#0000FF:Toppen\t\t\t",
                        "GPRINT:tank3topp:LAST:%6.1lf",
                        "GPRINT:tank3topp:AVERAGE:%6.1lf",
                        "GPRINT:tank3topp:MAX:%6.1lf",
                        "GPRINT:tank3topp:MIN:%6.1lf\\n";
                        "HRULE:18#FFFF00",
              "LINE2:tank3botten#00FF00:Inne\t\t",
                        "GPRINT:tank3botten:LAST:%6.1lf",
                        "GPRINT:tank3botten:AVERAGE:%6.1lf",
                        "GPRINT:tank3botten:MAX:%6.1lf",
                        "GPRINT:tank3botten:MIN:%6.1lf\\n";

my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}

print "Done!\n"

Re: Två Grafer i RRDtool

Postat: 13 sep 2018, 08:54
av elf98
Du har ett semikolon i stället för ett komma på den här raden:

Kod: Markera allt

"GPRINT:tank3topp:MIN:%6.1lf\\n";
Om du byter mot komma bör det fungera. Kan tycka att du borde få ett felmeddelande dock.

Re: Två Grafer i RRDtool

Postat: 13 sep 2018, 16:49
av Bizmarck
Tack, förstod attg det var en liten sak jag missade... nu är båda graferna på plats.