The script below collect the temperature data from the webswitch and saves it in a file. After that the data is plotted with the gnuplot scripts.
The script is named temp_webswitch in the example below.
#!/bin/bash
#
# Small script to read and plot temperature
#
# 1)Save timestamp
# 2)Retrieve Outdoor temperature
# 3)Retrieve Indoor Temperature
# 4)Save time, outdoortemp, indoor temp to file tempdata
# 5)plot three figures
#
DATE=$(date +"%s" )
UTE=$(curl -s "http://xxxxxx.shacknet.nu:xxxx/temp.egi" | perl -e 'foreach (<>){if(/Current Temp B/){($x)=/Current Temp B.+TD> (.+) C</;print "$x\n";}}')
INNE=$(curl -s "http://xxxxxx.shacknet.nu:xxxx/temp.egi" | perl -e 'foreach (<>){if(/Current Temp A/){($x)=/Current Temp A.+TD> (.+) C</;print "$x\n";}}')
echo "$DATE $UTE $INNE" >> /home/sm3sgp/temp/tempdata
/usr/bin/gnuplot "/home/xxxxx/temp/plot.gnu"
/usr/bin/gnuplot "/home/xxxxx/temp/plot24.gnu"
/usr/bin/gnuplot "/home/xxxxx/temp/plotweek.gnu"
The scripts plot.gnu, plot24.gnu and plotweek.gnu can be modified to plot a specific time period per figure. It generates a small .png file.
# # Plot the number of lines specified in the tail command below. # set terminal png set output "/home/xxxxx/temp/tempweek.png" set grid set ytics 5 set xdata time set timefmt "%s" set format x "%R" set yrange [-10:35] plot "< tail -550 /home/xxxxx/temp/tempdata" using 1:2 with lines title "Temperatur utomhus", "< tail -550 /home/xxxxx/temp/tempdata" using 1:3 with lines title "Temperatur inomhus"
Edit the crontab file with command: crontab -e
# m h dom mon dow command 1-59/2 * * * * /home/xxxxx/temp/temp_webswitch &> /dev/null