Två Grafer i RRDtool

I detta forum hör diskussioner gällande teknik i största allmänhet och hemautomation i synnerhet hemma.

Moderator: elf98

Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Bizmarck
Wannabe
Inlägg: 7
Blev medlem: 20 aug 2018, 13:21

Två Grafer i RRDtool

Inlägg av Bizmarck » 12 sep 2018, 21:42

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"
Bilagor
tank3topp.png
grafen
tank3topp.png (20.09 KiB) Visad 24 gånger

Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5169
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Två Grafer i RRDtool

Inlägg av elf98 » 13 sep 2018, 08:54

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.
Driver m.nu och temperatur.nu

Bild Bild

Bizmarck
Wannabe
Inlägg: 7
Blev medlem: 20 aug 2018, 13:21

Re: Två Grafer i RRDtool

Inlägg av Bizmarck » 13 sep 2018, 16:49

Tack, förstod attg det var en liten sak jag missade... nu är båda graferna på plats.

Skriv svar