
#!/bin/sh
# File	: log_bmp180-data.sh
# By	: MaartenDeBoer.nl, 161018
# Subject	: Script to log the BMP180-data to file / direct to Graphite
PGM="`basename $0|cut -d\. -f1`"
VER="0.1"
HOSTNAME="`hostname |cut -d\. -f1`" 
DATADIR="${HOME}/data"

GRAPHITEHOST="nestorix.fritz.box 2003"
GROUPNAME="nl"
# echo "domotica.nl.${HOSTNAME}.${PARTNAME}.temp ${VAL1} ${EPOCH}"|nc nestorix.fritz.box 2003 
FILE=""
GRAPHITE=""

USAGE()
{
  echo "Usage: ${PGM} [options]"
  echo "Options              : "
  echo "     -h              : This help"
  echo "     -v              : Verbose"
  echo "     -V              : Version"
  echo "     -f | --file     : to File"
  echo "     -g | --graphite : to File"
}

while [ ${#} -gt 0 ]
do
  case "${1}" in
    '-h')  USAGE; exit 1 ;;
    '-x')  set -x ;;
    '-V')  echo "Version=${VER}"; exit 1 ;;
    '-f' | '--file') FILE=1 ;;
    '-g' | '--graphite') GRAPHITE=1 ;;
    *) echo "Option ${1} not found." ; USAGE; exit 1 ;;
  esac
  shift
done


# Get the BMP180-data
TEMP="`sudo python ${HOME}/bin/bmp180.py|grep Temperature|cut -d\: -f2|sed 's/C//'`"
PRES="`sudo python ${HOME}/bin/bmp180.py|grep Pressure|cut -d\: -f2|sed 's/mbar//'`"

EPOCH="`date +%s`"
LOGMSG="`date +%Y-%m-%d' '%H:%M:%S`;${TEMP};${PRES};"
echo "${LOGMSG}"

if [ ${FILE} ]; then
# Filename: system-<group>|nl-<hostname>-load_<date>.csv
  DATAFILE="${DATADIR}/system-${GROUPNAME}-${HOSTNAME}-bmp180-data_`date +%Y-%m-%d`.csv"

# If DATADIR does not exist, create this dir
  if [ ! -d ${DATADIR} ]; then
    mkdir -p ${DATADIR}
  fi

# If file does not exist, create by adding header
  if [ ! -f ${DATAFILE} ]; then
    echo "# Date time;hostname;bmp180-temp;bmp180-pres;" > ${DATAFILE}
  fi

  echo "${LOGMSG}"|tee -a ${DATAFILE}
fi  #  FILE

if [ ${GRAPHITE} ]; then
  PARTNAME="bmp180"
  type nc
  EC=${?}
  if [ ${EC} -gt 0 ]; then
    echo "  NO nc found. Exiting ..."
    exit 2
  fi
  VAL="`echo "${LOGMSG}"|awk -F\; '{print $2}'`"
  echo -n " (${EPOCH}) ${VAL} "
  echo "domotica.nl.${HOSTNAME}.${PARTNAME}.temp ${VAL} ${EPOCH}"|nc ${GRAPHITEHOST}
  VAL="`echo "${LOGMSG}"|awk -F\; '{print $3}'`"
  echo -n " (${EPOCH}) ${VAL} "
  echo "domotica.nl.${HOSTNAME}.${PARTNAME}.pressure ${VAL} ${EPOCH}"|nc ${GRAPHITEHOST}
fi

exit 0

