saladtestingbox/salad/chtemphum.sh

63 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
cd /salad
DATETIME=`date "+%Y-%m-%d-%H-%M"`
COUNT=0
while (!(echo "$TEMP" | grep -E -q "^-?[0-9]+([.][0-9]+)?$"))
do
COUNT=`expr $COUNT + 1`
TEMP=`dht22 -p 38 -s temp`
sleep 2
if [ "$COUNT" -eq 10 ]
then
break
fi
done
COUNT=0
while (!(echo "$HUM" | grep -E -q "^-?[0-9]+([.][0-9]+)?$"))
do
COUNT=`expr $COUNT + 1`
HUM=`dht22 -p 38 -s hum`
sleep 2
if [ "$COUNT" -eq 10 ]
then
break
fi
done
echo "99" > /dev/ttyUSB0
WATER=`dd if=/dev/ttyUSB0 count=1`
WATERTEMP="$(echo "${WATER}" | tr -d 't')"
if [ "$COUNT" -eq 10 ]
then
echo "Couldn't read temp/hum"
else
echo "$DATETIME HUM = $HUM TEMP = $TEMP WATER = $WATERTEMP" >> SALAD_log.txt
fi
# air heater:
TEMPINT=${TEMP%.*}
if [ "$TEMPINT" -gt 21 ]
then
echo "224" > /dev/ttyUSB0
echo "ST $DATETIME 224 - AIR HEAT OFF" >> SALAD_log.txt
fi
if [ "$TEMPINT" -lt 19 ]
then
echo "214" > /dev/ttyUSB0
echo "ST $DATETIME 214 - AIR HEAT ON" >> SALAD_log.txt
fi
# water heater:
if [ "$WATERTEMP" -gt 21 ]
then
echo "227" > /dev/ttyUSB0
echo "ST $DATETIME 227 - WATER HEAT OFF" >> SALAD_log.txt
fi
if [ "$WATERTEMP" -lt 19 ]
then
echo "217" > /dev/ttyUSB0
echo "ST $DATETIME 217 - WATER HEAT ON" >> SALAD_log.txt
fi
cp /salad/SALAD_log.txt /var/www/html/sys/log.txt