﻿#!/bin/bash
# Code mit freundlicher Genehmigung teilweise übernommen von: http://c64-online.com/?page_id=985
#
#
logfile="/var/log/check_sms_in.log"

for (( nr=0; nr<10; nr++ ))
do
sms=$(gnokii --getsms SM $nr 2>&1)
gnokii --deletesms SM $nr


# Ist der Speicherplatz leer, kann das Skript beendet werden.
#
if [ "`echo \"$sms\" | grep \"(Der gegebene Platz ist leer.)\"`" ] || [ "`echo \"$sms\" | grep \"Das Gerät oder die Ressource ist belegt\"`" ]; then
 exit 0
else
#
# Prüfen, ob der Stick eingebucht ist. Ansonsten die PIN senden zum Einbuchen.
#
 if [ "`echo \"$sms\" | grep \"besser als garnichts\"`" ]; then
 echo "PIN-NR" | gnokii --entersecuritycode PIN
 exit 0
 fi
fi


# Absender-Nummer auslesen und den Befehl aus der SMS erkennen.
# Syntax für die SMS ist dann "Start.Befehl". 
#
absender=$(echo "$sms" | grep Absender: | cut -d+ -f2 | cut -d\ -f1)

# SMS von anderen Mobilnummern als Mail weiterleiten

if [ "$absender" != "EIGENE-MOBILNUMMER" ] && [ "$absender" != "" ]; then
  sudo /etc/init.d/sms3 stop
  sudo /usr/bin/modem3g/sakis3g connect --nostorage --pppd APN="MeineAPN, z.B. internet.t-d1.de" APN_USER="MeinNutzername, zB internet" APN_PASS="MeinPasswort, z.B. t-d1" USBINTERFACE="Zahl von ttyUSB, z.B. 3 " USBDRIVER="option" OTHER="USBMODEM" SIM_PIN="MeinePin"
  sudo /etc/init.d/postfix restart  
  echo "$sms" | mail -s "SMS an Raspberry Pi" nutzer@mailprovider.de 
  sudo /usr/bin/modem3g/sakis3g disconnect
  sudo /etc/init.d/sms3 start
  exit 0
else


#
# Den Prefix "Start." vom eigentlichen Befehl trennen
#
cmd=$(echo "$sms" | grep Start | cut -d. -f2)
#

# Abfrage der einzelnen Befehle

case "$cmd" in
 giessen )
 sudo python /usr/bin/giessen.py
 ;;

 eichen )
 sudo python /usr/bin/eichen.py
 ;;


 vpn )

  echo "Die VPN-Verbindung wird gestartet." | gnokii --sendsms +49MOBILNUMMER
  sudo /etc/init.d/sms3 stop
  sudo /usr/bin/modem3g/sakis3g connect --nostorage --pppd APN="MeineAPN, z.B. internet.t-d1.de" APN_USER="MeinNutzername, zB internet" APN_PASS="MeinPasswort, z.B. t-d1" USBINTERFACE="Zahl von ttyUSB, z.B. 3 " USBDRIVER="option" OTHER="USBMODEM" SIM_PIN="MeinePin"
  sudo vpnc-connect 
  ;;
 restart )
echo "Neustart des Raspberry Pi" | gnokii --sendsms +49MOBILNUMMER 
  sudo shutdown -r now 
  ;;

 halt )
echo "Der Rechner wird heruntergefahren" | gnokii --sendsms +49MOBILNUMMER 
  sudo halt
  ;;


# Die folgenden Zeilen bei öffentlicher IP-Adresse auskommentieren
# internet )
# sudo /etc/init.d/sms3 stop
# sudo /usr/bin/modem3g/sakis3g connect --nostorage --pppd APN="MeineAPN, z.B. internet.t-d1.de" APN_USER="MeinNutzername, zB internet" APN_PASS="MeinPasswort, z.B. t-d1" USBINTERFACE="Zahl von ttyUSB, z.B. 3 " USBDRIVER="option" OTHER="USBMODEM" SIM_PIN="MeinePin"
#  GETVPNIP=$(ifconfig tun0 | grep "inet Adresse:" | cut -d: -f2 | cut -d" " -f1)
#  echo "Die externe IP-Adresse ist $GETVPNIP" | mail -s "Die externe IP-Adresse ist $GETVPNIP" nutzer@mailprovider.de 
;;

 esac
fi
done

