CDK2H skrev: ↑07 okt 2016, 11:26 Lyckades inte hitta http://rpi-ipadress/graph_temp.png på grund av att Apache rooten numera är /var/www/html och det är alltså dit jag fick skriva i graph_temp.pl
Dustbunny skrev: ↑29 jan 2014, 18:24 Ah.... Nu sitter jag fast..
ska ha tre st givare i samma diagram. act_temp , acm_temp och acb_temp.
Det går att köra alla create_ac*_temp.sh och graph_acku.pl utan några som helst errors.
Men diagrammet ritar bara act_temp .
Kan någon vänlig själ hjälpa, frun börjar bli lite orolig när jag bara sitter o pillar med mina diagram
Jag har provat typ allt... Vill inte börja köra Logtemp igen.
och jo, går väl säkert o banta bort lite i scripten oxo.
Såhär ser acb_temp ut
directory="/home/pi/rrddata/"
filename="acb_temp.rrd"
# Check i file already exists
if [ ! -f "$directory$filename" ]
then
# File doesn't exist, create new rrd-file
echo "Creating RRDtool DB for Ackumulator botten temp sensor"
rrdtool create $directory$filename \
--step 150 \
DS:acb_temp:GAUGE:600:0:120 \
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$filename" already exists, delete it first."
fi
acm_temp
directory="/home/pi/rrddata/"
filename="acm_temp.rrd"
# Check i file already exists
if [ ! -f "$directory$filename" ]
then
# File doesn't exist, create new rrd-file
echo "Creating RRDtool DB for Ackumulator mitt temp sensor"
rrdtool create $directory$filename \
--step 150 \
DS:acm_temp:GAUGE:600:0:120 \
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$filename" already exists, delete it first."
fi
act_temp
directory="/home/pi/rrddata/"
filename="act_temp.rrd"
# Check i file already exists
if [ ! -f "$directory$filename" ]
then
# File doesn't exist, create new rrd-file
echo "Creating RRDtool DB for Ackumulator top temp sensor"
rrdtool create $directory$filename \
--step 150 \
DS:act_temp:GAUGE:600:0:120 \
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$filename" already exists, delete it first."
fi
get_acb_temp
#!/bin/bash
OutsideTempSensor="28.865F35000000"
RRDDataDirectory="/home/pi/rrddata/"
RRDDataFile="acb_temp.rrd"
# Get temps form OWFS
acb_temp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$acb_temp
echo $acb_temp
get_acm_temp
#!/bin/bash
OutsideTempSensor="28.747335000000"
RRDDataDirectory="/home/pi/rrddata/"
RRDDataFile="acm_temp.rrd"
# Get temps form OWFS
acm_temp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$acm_temp
echo $acm_temp
get_act_temp
#!/bin/bash
OutsideTempSensor="28.728C35000000"
RRDDataDirectory="/home/pi/rrddata/"
RRDDataFile="act_temp.rrd"
# Get temps form OWFS
act_temp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$act_temp
echo $act_temp
Grafen
#!/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/graph_acku.png",
"--start= $start_time",
"--end= $cur_time",
"--title= 5Ackumulatortank",
"--height= 300",
"--width= 500",
"--vertical-label= c",
"DEF:act_temp=/home/pi/rrddata/act_temp.rrd:act_temp:AVERAGE",
"DEF:acm_temp=/home/pi/rrddata/acm_temp.rrd:acm_temp:AVERAGE",
"DEF:acb_temp=/home/pi/rrddata/acb_temp.rrd:acb_temp:AVERAGE",
"COMMENT:\t\t\t\tNu Medel Max Min\\n",
"HRULE:0#0000FF",
"LINE2:act_temp#0000FF:Top\t\t\t",
"GPRINT:act_temp:LAST:%6.1lf",
"GPRINT:act_temp:AVERAGE:%6.1lf",
"GPRINT:act_temp:MAX:%6.1lf",
"GPRINT:act_temp:MIN:%6.1lf\\n";
"HRULE:0#0000FE",
"LINE2:acm_temp#FF0000:Mitt\t\t\t",
"GPRINT:acm_temp:LAST:%6.1lf",
"GPRINT:acm_temp:AVERAGE:%6.1lf",
"GPRINT:acm_temp:MAX:%6.1lf",
"GPRINT:acm_temp:MIN:%6.1lf\\n";
"HRULE:18#800080",
"LINE2:acb_temp#0000FF:Botten\t\t\t",
"GPRINT:acb_temp:LAST:%6.1lf",
"GPRINT:acb_temp:AVERAGE:%6.1lf",
"GPRINT:acb_temp:MAX:%6.1lf",
"GPRINT:acb_temp:MIN:%6.1lf\\n";
my $err=RRDs::error;
if ($err) {print "problem generating the graph: $err\n";}
print "Done!\n"
Crontab
*/2.5 * * * * /home/pi/bin/get_acb_temp.sh
*/2.5 * * * * export LANG=sv_SE.utf8 && /home/pi/bin/graph_acku.pl
*/2.5 * * * * /home/pi/bin/get_acm_temp.sh
*/2.5 * * * * export LANG=sv_SE.utf8 && /home/pi/bin/graph_acku.pl
*/2.5 * * * * /home/pi/bin/get_act_temp.sh
*/2.5 * * * * export LANG=sv_SE.utf8 && /home/pi/bin/graph_acku.pl
Kod: Markera allt
mike@mike-ubuntu:~/bin$ sudo ./get_temp.sh
ERROR: /home/mike/rrddata/outside_temp.rrd: Function update_pdp_prep, case DST_GAUGE - Converted '19,00' to 19,000000, but cannot convert ',00'
19,00
Kod: Markera allt
#!/bin/bash
OutsideTempSensor="28.015791070000"
RRDDataDirectory="/home/mike/rrddata/"
RRDDataFile="outside_temp.rrd"
# Get temps form OWFS
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk >
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$OutsideTemp
echo $OutsideTemp
Kod: Markera allt
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
Kod: Markera allt
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/","/"."/|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
Kod: Markera allt
mike@mike-ubuntu:~/rrddata$ sudo rrdtool lastupdate out*
outsidetemp
1617736081: 20,00
mike@mike-ubuntu:~/rrddata
Kod: Markera allt
echo "debug 1"
Kod: Markera allt
mike@mike-ubuntu:~/bin$ sudo ./get_temp.sh
debug 1OutsideTemp=27,00
debug 1rrdtool update /home/mike/rrddata//outside_temp.rrd N:
Kod: Markera allt
mike@mike-ubuntu:~/bin$ bash -x get_temp.sh
+ OutsideTempSensor=28.015791070000
+ RRDDataDirectory=/home/mike/rrddata/
+ RRDDataFile=outside_temp.rrd
++ cat /mnt/1wire/28.015791070000/temperature
++ sed -e 's/ //g'
++ awk '{$1=$1 + 0.005;printf "%.2f", $1}'
+ OutsideTemp=20,00
+ rrdtool update /home/mike/rrddata//outside_temp.rrd N:20,00
ERROR: opening '/home/mike/rrddata//outside_temp.rrd': Permission denied
+ echo 20,00
20,00
Kod: Markera allt
ls -l /home/mike/rrddata//outside_temp.rrd
Kod: Markera allt
sudo chown mike /home/mike/rrddata//outside_temp.rrd