create_rrd.sh
#!/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/"
RRDDataFileOut="outside_temp.rrd"
RRDDataFileIn="inside_temp.rrd"
RRDDataFileKbin="kbin_temp.rrd"
RRDDataFileKbout="kbout_temp.rrd"

# Check if file already exists
if [ ! -f "$directory$RRDDataFileOut" ]
then
        # File doesn't exist, create new rrd-file
        echo "Creating RRDtool DB for outside temp sensor"
        rrdtool create $directory$RRDDataFileOut \
                 --step 150 \
                 DS:outsidetemp:GAUGE:300:-50:60 \
                 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 "Out Done!"
else
        echo $directory$RRDDataFileOut" already exists, delete it first."
fi
# Check if file already exists
if [ ! -f "$directory$RRDDataFileIn" ]
then
        # File doesn't exist, create new rrd-file
        echo "Creating RRDtool DB for inside temp sensor"
        rrdtool create $directory$RRDDataFileIn \
                 --step 150 \
                 DS:insidetemp:GAUGE:300:-50:60 \
                 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 "In Done!"
else
        echo $directory$RRDDataFileIn" already exists, delete it first."
fi
# Check if file already exists
if [ ! -f "$directory$RRDDataFileKbin" ]
then
        # File doesn't exist, create new rrd-file
        echo "Creating RRDtool DB for inside temp sensor"
        rrdtool create $directory$RRDDataFileKbin \
                 --step 150 \
                 DS:kbintemp:GAUGE:300:-50:60 \
                 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 "In Done!"
else
        echo $directory$RRDDataFileIn" already exists, delete it first."
fi
# Check if file already exists
if [ ! -f "$directory$RRDDataFileKbout" ]
then
        # File doesn't exist, create new rrd-file
        echo "Creating RRDtool DB for inside temp sensor"
        rrdtool create $directory$RRDDataFileKbout \
                 --step 150 \
                 DS:kbouttemp:GAUGE:300:-50:60 \
                 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 "In Done!"
else
        echo $directory$RRDDataFileIn" already exists, delete it first."
fi

get_temp.sh
#!/bin/bash
OutsideTempSensor="10.27AD18020800"
InsideTempSensor="10.407D18020800"
KbinTempSensor="10.407D18020800"
KboutTempSensor="10.407D18020800"
RRDDataDirectory="/home/pi/rrddata/"
RRDDataFileOut="outside_temp.rrd"
RRDDataFileIn="inside_temp.rrd"
RRDDataFileKbin="kbin_temp.rrd"
RRDDataFileKbout="kbout_temp.rrd"
# Get temps from OWFS
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk $
sleep 1
InsideTemp=`cat /mnt/1wire/$InsideTempSensor/temperature|sed -e s/" "//g|awk '{$
sleep 1
Kbintemp=`cat /mnt/1wire/$KbinTempSensor/temperature|sed -e s/" "//g|awk '{$
sleep 1
Kbouttemp=`cat /mnt/1wire/$KboutTempSensor/temperature|sed -e s/" "//g|awk '{$
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFileOut N:$OutsideTemp
rrdtool update $RRDDataDirectory$RRDDataFileIn N:$InsideTemp
rrdtool update $RRDDataDirectory$RRDDataFileKbin N:$Kbintemp
rrdtool update $RRDDataDirectory$RRDDataFileKbout N:$Kbouttemp
echo $OutsideTemp
echo $InsideTemp
echo $Kbintemp
echo $Kbouttemp

graph_temp.sh
#!/bin/bash
/usr/bin/rrdtool graph \
        /var/www/graph_temp.png \
        --start -24h \
        --end now \
        --title="Tempraturer °C" \
        --vertical-label="°C" \
        --height=300 \
        --width=500 \
        -E \
        --slope-mode \
        DEF:OutsideTemp=/home/pi/rrddata/outside_temp.rrd:outsidetemp:AVERAGE \
        DEF:InsideTemp=/home/pi/rrddata/inside_temp.rrd:insidetemp:AVERAGE \
        DEF:KbinTemp=/home/pi/rrddata/kbin_temp.rrd:kbintemp:AVERAGE \
        DEF:KboutTemp=/home/pi/rrddata/kbout_temp.rrd:kbouttemp:AVERAGE \
        COMMENT:"\t\t\t\tNu Min Medel Max\\n" \
        HRULE:0#0000FF \
        LINE2:OutsideTemp#0000FF:"Ute\t\t" \
        GPRINT:OutsideTemp:LAST:%6.1lf \
        GPRINT:OutsideTemp:MIN:%6.1lf\ \
        GPRINT:OutsideTemp:AVERAGE:%6.1lf \
        GPRINT:OutsideTemp:MAX:%6.1lf\\n \
        HRULE:0#FFFF00 \
        LINE2:InsideTemp#00FF00:"Inne\t\t" \
        GPRINT:InsideTemp:LAST:%6.1lf \
        GPRINT:InsideTemp:MIN:%6.1lf \
        GPRINT:InsideTemp:AVERAGE:%6.1lf \
        GPRINT:InsideTemp:MAX:%6.1lf\\n
        HRULE:0#8BBFFF \
        LINE2:KbinTemp#8BBFFF:"KBin\t\t" \
        GPRINT:KbinTemp:LAST:%6.1lf \
        GPRINT:KbinTemp:MIN:%6.1lf \
        GPRINT:KbinTemp:AVERAGE:%6.1lf \
        GPRINT:KbinTemp:MAX:%6.1lf\\n
        HRULE:0#749EB5 \
        LINE2:KboutTemp#749EB5:"KBut\t\t" \
        GPRINT:KboutTemp:LAST:%6.1lf \
        GPRINT:KboutTemp:MIN:%6.1lf \
        GPRINT:KboutTemp:AVERAGE:%6.1lf \
        GPRINT:KboutTemp:MAX:%6.1lf\\n

echo "Done!"

crontab
*/2.5 * * * *           /home/pi/bin/get_temp.sh
*/2.5 * * * *           export LANG=sv_SE.utf8 && /home/pi/bin/graph_temp.sh