Difference between revisions of "User talk:Emil"

From HiveTool
Jump to: navigation, search
(Changes to hive.sh: new section)
 
 
(5 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
Have found some changes that should be done in hive.sh
 
Have found some changes that should be done in hive.sh
  
1. Set "LC_NUMERIC" so it works in other country settings than US, the only error is printf output to hivetool.log file
+
- Set "LC_NUMERIC" so it works in other country settings than US, the only error is printf output to hivetool.log file<br>
2. Get TEMPER2 to work
+
- Get TEMPER2 to work<br>
3. Check for wrong readings specially from DHT22
+
- Check for wrong readings specially from DHT22<br>
 
+
<pre>
 
# Set LC_NUMERIC to US so printf works
 
# Set LC_NUMERIC to US so printf works
 
export LC_NUMERIC="en_US.UTF-8"
 
export LC_NUMERIC="en_US.UTF-8"
Line 15: Line 15:
 
#
 
#
 
DATE=`date +"%Y-%m-%d %H:%M:%S"`
 
DATE=`date +"%Y-%m-%d %H:%M:%S"`
 
+
</pre>
  
 
Get TEMPER2 to work
 
Get TEMPER2 to work
 
+
<pre>
 
 
 
case "$HIVE_TEMP_SENSOR" in
 
case "$HIVE_TEMP_SENSOR" in
 
         TEMPerHUM)
 
         TEMPerHUM)
Line 54: Line 53:
 
               ;;
 
               ;;
 
esac
 
esac
 
+
</pre>
 
 
  
 
Check for wrong temp readings
 
Check for wrong temp readings
 
+
<pre>
 
if [ $HIVE_TEMP != "NULL" ]
 
if [ $HIVE_TEMP != "NULL" ]
 
then
 
then
Line 85: Line 83:
 
   HIVE_HUMIDITY="NULL"
 
   HIVE_HUMIDITY="NULL"
 
fi
 
fi
 
+
</pre>
  
 
TEMPER2 outside settings
 
TEMPER2 outside settings
 
+
<pre>
 
 
 
# Read outside temp and humidity
 
# Read outside temp and humidity
 
#
 
#
Line 112: Line 109:
 
               AMBIENT_HUMIDITY=$2
 
               AMBIENT_HUMIDITY=$2
 
               ;;
 
               ;;
          ''TEMPER2)
+
        TEMPER2)
 
               AMBIENT_TEMP=$TEMPER2_TEMP
 
               AMBIENT_TEMP=$TEMPER2_TEMP
 
               AMBIENT_HUMIDITY="NULL"
 
               AMBIENT_HUMIDITY="NULL"
               ;;''
+
               ;;
  
 
           *)
 
           *)
Line 122: Line 119:
 
               ;;
 
               ;;
 
esac
 
esac
 +
</pre>
  
 
Ambient temp checking
 
Ambient temp checking
 
+
<pre>
 
 
 
if [ "$AMBIENT_TEMP" != "NULL" ]
 
if [ "$AMBIENT_TEMP" != "NULL" ]
 
then
 
then
Line 153: Line 150:
 
   AMBIENT_HUMIDITY="NULL"
 
   AMBIENT_HUMIDITY="NULL"
 
fi
 
fi
 +
</pre>

Latest revision as of 05:20, 10 January 2016

Changes to hive.sh

Changes to hive.sh

Have found some changes that should be done in hive.sh

- Set "LC_NUMERIC" so it works in other country settings than US, the only error is printf output to hivetool.log file
- Get TEMPER2 to work
- Check for wrong readings specially from DHT22

# Set LC_NUMERIC to US so printf works
export LC_NUMERIC="en_US.UTF-8"
# Get the date and time
#
DATE=`date +"%Y-%m-%d %H:%M:%S"`

Get TEMPER2 to work

case "$HIVE_TEMP_SENSOR" in
         TEMPerHUM)
              TEMPerHUM=$(/home/hivetool/temperhum.sh -d $HIVE_TEMP_DEV)
              set -- junk $TEMPerHUM
              shift
              HIVE_TEMP=$1
              HIVE_HUMIDITY=$2
              if [ -z "$HIVE_TEMP" ]
              then
                 HIVE_TEMP="NULL"
                 HIVE_HUMIDITY="NULL"
              fi
                # Check TEMPer2
                /home/downloads/hidapi/hidtest/hidtest-hidraw | grep TEMPer2 > /dev/null
                if [ "$?" = "0" ]
                then
                        AMBIENT_TEMP_SENSOR=TEMPER2
                        TEMPER2_TEMP=$HIVE_HUMIDITY
                        HIVE_HUMIDITY="NULL"
                fi

              ;;
         DHT22)
              TEMPerHUM=$(nice --20 /usr/local/bin/Seeed_DHT22  $HIVE_TEMP_DEV S)
              set -- junk $TEMPerHUM
              shift
              HIVE_TEMP=$1
              HIVE_HUMIDITY=$2
              ;;
           *)
              HIVE_TEMP="NULL"
              HIVE_HUMIDITY="NULL"
              ;;
esac

Check for wrong temp readings

if [ $HIVE_TEMP != "NULL" ]
then
  HIVE_TEMP=`echo "scale=2; (($HIVE_TEMP*$HIVE_TEMP_SLOPE)+$HIVE_TEMP_INTERCEPT)" | bc`
fi
if [ $HIVE_HUMIDITY != "NULL" ]
then
  HIVE_HUMIDITY=`echo "scale=2; (($HIVE_HUMIDITY*$HIVE_HUMIDITY_SLOPE)+$HIVE_HUMIDITY_INTERCEPT)" | bc`
fi

# Check for totally wrong temp
if [ `echo $HIVE_TEMP | cut -d. -f1` -lt -50 ]
then
  HIVE_TEMP="NULL"
elif [ `echo $HIVE_TEMP | cut -d. -f1` -gt 100 ]
then
  HIVE_TEMP="NULL"
fi

# Check for totally wrong Humidity
if [ `echo $HIVE_HUMIDITY | cut -d. -f1` -lt -50 ]
then
  HIVE_HUMIDITY="NULL"
elif [ `echo $HIVE_HUMIDITY | cut -d. -f1` -gt 150 ]
then
  HIVE_HUMIDITY="NULL"
fi

TEMPER2 outside settings

# Read outside temp and humidity
#
case "$AMBIENT_TEMP_SENSOR" in
         TEMPerHUM)
              TEMPerHUM=$(/home/hivetool/temperhum.sh -d $AMBIENT_TEMP_DEV)
              set -- junk $TEMPerHUM
              shift
              AMBIENT_TEMP=$1
              AMBIENT_HUMIDITY=$2
              if [ -z "$AMBIENT_TEMP" ]
              then
                 AMBIENT_TEMP="NULL"
                 AMBIENT_HUMIDITY="NULL"
              fi
              ;;
         DHT22)
              TEMPerHUM=$(nice --20 /usr/local/bin/Seeed_DHT22  $AMBIENT_TEMP_DEV S)
              set -- junk $TEMPerHUM
              shift
              AMBIENT_TEMP=$1
              AMBIENT_HUMIDITY=$2
              ;;
         TEMPER2)
              AMBIENT_TEMP=$TEMPER2_TEMP
              AMBIENT_HUMIDITY="NULL"
              ;;

           *)
              AMBIENT_TEMP="NULL"
              AMBIENT_HUMIDITY="NULL"
              ;;
esac

Ambient temp checking

if [ "$AMBIENT_TEMP" != "NULL" ]
then
  AMBIENT_TEMP=`echo "scale=2; (($AMBIENT_TEMP*$AMBIENT_TEMP_SLOPE)+$AMBIENT_TEMP_INTERCEPT)" | bc`
fi

if [ $AMBIENT_HUMIDITY != "NULL" ]
then
  AMBIENT_HUMIDITY=`echo "scale=2; (($AMBIENT_HUMIDITY*$AMBIENT_HUMIDITY_SLOPE)+$AMBIENT_HUMIDITY_INTERCEPT)" | bc`
fi

# Check for totally wrong temp
if [ `echo $AMBIENT_TEMP | cut -d. -f1` -lt -50 ]
then
  AMBIENT_TEMP="NULL"
elif [ `echo $AMBIENT_TEMP | cut -d. -f1` -gt 100 ]
then
  AMBIENT_TEMP="NULL"
fi

# Check for totally wrong Humidity
if [ `echo $AMBIENT_HUMIDITY | cut -d. -f1` -lt -50 ]
then
  AMBIENT_HUMIDITY="NULL"
elif [ `echo $AMBIENT_HUMIDITY | cut -d. -f1` -gt 150 ]
then
  AMBIENT_HUMIDITY="NULL"
fi