#! /bin/sh
#
# EMS collector daemon init script
#
# Author: Danny Baumann <dannybaumann@web.de>
#
### BEGIN INIT INFO
# Provides:          ems-collector
# Required-Start:    mysql $time $local_fs $remote_fs
# Required-Stop:     mysql $time $local_fs $remote_fs
# Should-Start:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: EMS collector daemon
# Description:       Starts and stops the EMS collector daemon,
#		     used to collect data from a Buderus heating
### END INIT INFO

PROGNAME="collectord"
PROG="/usr/local/sbin/$PROGNAME"
DESCR="EMS collector daemon"

### exit if program is missing
[ -x "$PROG" ] || exit 0

### LSB functions
. /lib/lsb/init-functions

### Default configuration
SYSCONFIG="/etc/default/ems-collector"
[ -r "$SYSCONFIG" ] && . "$SYSCONFIG"

start() {
    log_daemon_msg "Starting $DESCR" "$PROGNAME"
    $PROG --pid-file $PIDFILE -c $CONFIGFILE $OPTIONS $SERIALDEVICE
    RETVAL=$?
    log_end_msg $RETVAL
}

stop() {
    log_daemon_msg "Stopping $DESCR" "$PROGNAME"

    if [ -r "$PIDFILE" ]; then
        pid=`cat $PIDFILE`
        kill -s 3 $pid
        RETVAL=$?

        if [ $RETVAL -eq 0 ]; then
            # remove pidfile that may be left stale
            rm -f $PIDFILE
        fi
        log_end_msg $RETVAL
    else
        log_progress_msg "already stopped"
        log_warning_msg
        RETVAL=0
    fi
}

restart() {
    stop
    start
}

RETVAL=0

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    condrestart)
        if [ -e "$PIDFILE" ]; then
            stop
            start
        fi
        ;;
    status)
        status_of_proc -p $PIDFILE $PROG $PROGNAME || RETVAL=$?
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        RETVAL=1
esac

exit $RETVAL

