
#!/bin/bash
# File	: upload_sbeam_data_to_graphite.sh
# By	: MaartenDeBoer.nl, 2015-01-17
# Subject	: Script to upload SunnyBream data to Graphite
#(0.3)	: Add; search for SBEAM
#set -x
PGM="`basename $0|cut -d\. -f1`"
VER="0.3"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
RESULT=""
UPLOADED="${HOME}/data/${PGM}.uploaded"
FILENAME=""
DAYFILE=""
MONTHFILE=""
YEARMON="`date +%Y-%m`"

DATADIR="/media/usb1/SBEAM"

USAGE()
{
  echo "Usage: ${PGM} [options]"
  echo "Options        : "
  echo "     -h        : This help"
  echo "     -v        : Verbose"
  echo "     -V        : Version"
  echo "     --day     : Day-file processing (yy-mm-dd.CSV)"
  echo "     --datadir : other DATADIR (${DATADIR})"
}

while [ ${#} -gt 0 ]
do
  case "${1}" in
    '-h')  USAGE; exit 1 ;;
    '-x')  set -x ;;
    '-V')  echo "Version=${VER}" ; exit 1 ;;
    '--day')  DAYFILE=1 ;;
    '--datadir')  DATADIR=${2}; shift  ;;
    *) echo "Option ${1} not found." ; USAGE; exit 1 ;;
  esac 
  shift
done

if [ "${DAYFILE}" == "" ] && [ "${MONTHFILE}" == "" ]; then
  echo "`date` No Day-file of Month-file choise made. Exiting ..."|tee -a ${LOG}
  USAGE
  exit 2
fi

# Search for correct SBEAM dir
DATADIR="`find /media -name SBEAM|grep usb|head -1`"

echo "`date` ${PGM} v${VER} started. (DAYFILE=${DAYFILE}, MONTHFILE=${MONTHFILE})"|tee -a ${LOG}
echo "DATADIR=${DATADIR}"
echo "DAYFILE=${DAYFILE}"
echo "FILENAME=${FILENAME}"
echo "MONTHFILE=${MONTHFILE}"
echo "PGM=${PGM}"
echo "VER=${VER}"

touch ${UPLOADED}

if [ ${DAYFILE} ]; then
  FILENAME="`ls -1r ${DATADIR}/1?-??-??.CSV|egrep -vf ${UPLOADED}| head -1`"
  echo "  FILENAME=${FILENAME}."|tee -a ${LOG}
  if [ "${FILENAME}" == "" ]; then
    echo "Empty FILENAME. Exiting ...  "|tee -a ${LOG}
    exit 1
  fi

  cat ${FILENAME}|grep '0\;'|grep -v '\---'|while read LINE
  do
    echo ${LINE}
    YR="20`basename ${FILENAME}|cut -d\- -f1`"
    MON="`basename ${FILENAME}|cut -d\- -f2`"
    DAY="`basename ${FILENAME}|cut -d\- -f3|cut -d\. -f1`"
    HR="`echo ${LINE}|cut -d\; -f1|cut -d\: -f1`"
    MIN="`echo ${LINE}|cut -d\; -f1|cut -d\: -f2`"
    GEN="`echo ${LINE}|cut -d\; -f2|sed 's/,//g'`"
    EPOCH=`date +%s -d"${YR}-${MON}-${DAY} ${HR}:${MIN}"`
    echo "  ${YR}${MON}${DAY} ${HR}:${MIN} (${EPOCH}) ${GEN}"|tee -a ${LOG}

    echo "domotica.nl.agrarix.solar.generated ${GEN} ${EPOCH}"|nc nestorix.fritz.box 2003
    EC="${?}"
    echo "EC=${EC}"
  done  # cat
  basename ${FILENAME}|tee -a ${UPLOADED}
fi  # DAYFILE

echo "`date` ${PGM} finished."|tee -a ${LOG}

## $0 --day

exit 0

