#!/bin/sh

if [ ! -e "/opt/userdata/devicestack/portal.conf" ]; then
  echo "/opt/userdata/devicestack/portal.conf does not exist" | logger -t dyndns-gira
  exit 1
fi

echo "parsing portal config"  | logger -t dyndns-gira 
while read LINE; do
 varName=$(echo "$LINE" | cut -d "=" -f1)
 varValue=$(echo "$LINE" | cut -d "=" -f2-)
 if [ "${varName}" = "" ] || [ "${varValue}" = "" ]; then
   echo "varName is: ${varName}, varValue is: ${varValue}" | logger -t dyndns-gira 
   exit 1
 fi
 export $varName=$varValue
done < "/opt/userdata/devicestack/portal.conf"
echo "parsing portal config done" | logger -t dyndns-gira

hscode()
{  
  HSCODE1=$(curl --connect-timeout 60 -s "geraeteportal.gira.de/hscode.php?dummy=$(date "+%s")")
  if [ "${HSCODE1}" = "" ]; then
    echo "HSCODE1 is empty" | logger -t dyndns-gira
  fi
  HASCODE_SINGLE="${USER}${PASSWORD}${HSCODE1}"
  HSCODE2_RAW=$(echo -n ${HASCODE_SINGLE}${HASCODE_SINGLE})
  HSCODE2=$(echo -n ${HSCODE2_RAW} | md5sum | cut -d ' ' -f1)
}

RESULT=""
while [ "${RESULT}" = "" ]; do
 hscode
 RESULT=$(curl --connect-timeout 60 -s "geraeteportal.gira.de/hsstop.php?hsid=${USER}&hscode1=${HSCODE1}&hscode2=${HSCODE2}")
 echo "result hsstop: ${RESULT}" | logger -t dyndns-gira

 if [ "${RESULT}" = "OK" ]; then
  echo "Password check okay" | logger -t dyndns-gira 
 else
  echo "password check failed" | logger -t dyndns-gira 
  echo "Result|${RESULT}|" | logger -t dyndns-gira
 fi
 sleep 1
done

while true; do
 hscode
 RESULT=$(curl -s "geraeteportal.gira.de/hslive.php?hsid=${USER}&hscode1=${HSCODE1}&hscode2=${HSCODE2}")
 echo "result hslive: ${RESULT}" | logger -t dyndns-gira
 if [ "$(echo ${RESULT} | grep OK)" = "" ]; then
   echo "error occured" | logger -t dyndns-gira
   exit 1
 fi
 sleep $((${INTERVAL}*60))
done
