#!/bin/sh 
##-----------------------------------------------------------------------------
## /opt/files/sbin/best/upsmsg - OPT_BESTPOWER				1.0
##
## Creation:     16.04.2003  Marcus Herleb <herleb@herleb.de>
## Last Up/bin/date:  11.05.2003  Marcus Herleb <herleb@herleb.de>
##-----------------------------------------------------------------------------
 
. /var/run/bestpower.conf
 
PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/files/sbin:/opt/files/sbin/best:

if [ $# -gt 0 ]
then
    case $1 in
        retry )
          /bin/date > /dev/tty$ttypar
          /usr/local/bin/colecho "USV Kommunikationsversuch, bitte berprfen Sie das serielle Kabel .." br x br > /dev/tty$ttypar
          /usr/local/bin/colecho "... und vergewissern Sie sich, dass kein anderer Prozess die Schnittstelle belegt" br x br > /dev/tty$ttypar
          
          /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
          echo "USV Kommunikationsversuch, bitte berprfen Sie das serielle Kabel .." >> $BESTPOWER_LOGDIR/bestpower.log
          echo " .. und vergewissern Sie sich, dass kein anderer Prozess die Schnittstelle belegt" >> $BESTPOWER_LOGDIR/bestpower.log
          exit 1
        ;;
        resume )
          /bin/date > /dev/tty$ttypar
          /usr/local/bin/colecho "Kommunikation wiederhergestellt - CheckUPS II Protokolliert den USV Zustand." gn n br > /dev/tty$ttypar
          
          /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
          echo "Kommunikation wiederhergestellt - CheckUPS II Protokolliert den USV Zustand." >> $BESTPOWER_LOGDIR/bestpower.log
          
          exit 1
        ;;
        alarm )
          /bin/date > /dev/tty$ttypar
          /usr/local/bin/colecho "WARNUNG: CheckUPS II fhrt das System in 1 Minute herunter !!!" rd n br > /dev/tty$ttypar 
          
          /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
          echo "WARNUNG: CheckUPS II fhrt das System in 1 Minute herunter !!!" >> $BESTPOWER_LOGDIR/bestpower.log
          exit 1
        ;;
        lowbat )
          /bin/date > /dev/tty$ttypar
          /usr/local/bin/colecho "ALARM: CheckUPS II hat einen schwachen USV AKKU erkannt !!!" rd n br > /dev/tty$ttypar 
          /usr/local/bin/colecho "ALARM: Das System wird JETZT!! heruntergefahren !!!" rd n br > /dev/tty$ttypar 
          
          /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
          echo "ALARM: CheckUPS II hat einen schwachen USV AKKU erkannt !!!" >> $BESTPOWER_LOGDIR/bestpower.log
          echo "ALARM: Das System wird JETZT!! heruntergefahren !!!" >> $BESTPOWER_LOGDIR/bestpower.log
          exit 1
        ;;
        down )
          /bin/date > /dev/tty$ttypar
          /usr/local/bin/colecho "Starte USV initialisierten Shutdown..." cy n br > /dev/tty$ttypar
          
          /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
          echo "Starte USV initialisierten Shutdown..." >> $BESTPOWER_LOGDIR/bestpower.log
          exit 1
        ;;
        rst )
##   ----- 230 V ~ WIEDERHERGESTELLT -------------------  
          /bin/date > /dev/tty$ttypar
          /usr/local/bin/colecho "Herkmmliche Wechselstromversorgung wiederhergestellt." cy n br > /dev/tty$ttypar
          /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
          echo "Herkmmliche Wechselstromversorgung wiederhergestellt." >> $BESTPOWER_LOGDIR/bestpower.log
         i=1
            while [ $i -le 4 ]
                do 
                   eval event='$ev'$i'_back'
                      if [ "$event" != '' ] 
                        then
                            /usr/local/bin/colecho "Der Befehl $event wird ausgefhrt." w n br > /dev/tty$ttypar
                              $event & > /dev/tty$ttypar
             		    /usr/local/bin/colecho "Der Befehl $event wurde ausgefhrt." gn > /dev/tty$ttypar
             		    echo "Der Befehl $event wurde ausgefhrt." >> $BESTPOWER_LOGDIR/bestpower.log
                      fi       
         i=`expr $i + 1`
            done   
            exit 1
        ;;
        -i* )
            minutes=`expr "$1" : '-i\(.*\)'`
            /bin/date > /dev/tty$ttypar
            /usr/local/bin/colecho "Das System luft auf Notstrom. " cy n br > /dev/tty$ttypar
            /usr/local/bin/colecho "USV verbleibende Laufzeit: $minutes Minuten..." br x br > /dev/tty$ttypar
            
            /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
            echo "Das System luft auf Notstrom. USV verbleibende Laufzeit: $minutes Minuten." >> $BESTPOWER_LOGDIR/bestpower.log
            echo "USV verbleibende Laufzeit: $minutes Minuten..." >> $BESTPOWER_LOGDIR/bestpower.log
        ;;
    esac
    case $2 in
        -t* )
 ##   ------ NOTSTROM MODUS  ------------------------       
          minutes=`expr "$1" : '-t\(.*\)'`
          seconds=`expr "$2" : '-t\(.*\)'`
          /bin/date > /dev/tty$ttypar
                      /usr/local/bin/colecho "Das System luft auf Notstrom !!" cy n br > /dev/tty$ttypar
             if [ "$minutes" = 01 ]  
               then        
	         /usr/local/bin/colecho "Verbleibende Zeit bis zum Shutdown: $minutes Minute, $seconds Sekunden." br x br > /dev/tty$ttypar
	     else
	         /usr/local/bin/colecho "Verbleibende Zeit bis zum Shutdown: $minutes Minuten, $seconds Sekunden." br x br > /dev/tty$ttypar
	     fi    
	   i=1
            while [ $i -le 4 ]
                do 
                   eval eventn='$ev'$i''
                   eval eventtime='$evtime_'$i''
                    if [ "0$c" = "$minutes" ] && [ "$eventtime" = 0 ]
                       then
                            /usr/local/bin/colecho "Der Befehl $eventn wird ausgefhrt." w n br > /dev/tty$ttypar
                            $eventn & > /dev/tty$ttypar
            		    /usr/local/bin/colecho "Der Befehl $eventn wurde unmittelbar" gn > /dev/tty$ttypar
            		    /usr/local/bin/colecho "nach Stromausfall ausgefhrt." gn > /dev/tty$ttypar
             		    echo "Der Befehl $eventn wurde unmittelnar nach Stromausfall ausgefhrt." >> $BESTPOWER_LOGDIR/bestpower.log
                     elif [ "$seconds" = 00 ] && [ "0$eventtime" = "$minutes" ]
             	       then 
             	           /usr/local/bin/colecho "Der Befehl $eventn wird ausgefhrt." w n br > /dev/tty$ttypar
                            $eventn & > /dev/tty$ttypar
            		    /usr/local/bin/colecho "Der Befehl $eventn wurde $eventtime Min." gn > /dev/tty$ttypar
            		    /usr/local/bin/colecho "vor USV Shutdown ausgefhrt." gn > /dev/tty$ttypar
                            echo "Der Befehl $eventn wurde $eventtime Min." >> $BESTPOWER_LOGDIR/bestpower.log
                            echo "vor USV Shutdown ausgefhrt." >> $BESTPOWER_LOGDIR/bestpower.log
                     fi       
           i=`expr $i + 1`
         done   
	  /bin/date >> $BESTPOWER_LOGDIR/bestpower.log
	  echo "Das System luft auf Notstrom." >> $BESTPOWER_LOGDIR/bestpower.log
	  echo "Verbleibende Zeit bis zum Shutdown: $minutes Minute(n), $seconds Sekunden." >> $BESTPOWER_LOGDIR/bestpower.log
        ;;
    esac
fi