Script
Posted: Mon 28 Nov 2011, 15:26
Om någon Linux-kunnig person har möjlighet att hjälpa till med att skapa någon form av skript för att fixa automatisk uppstart osv av Switch King på Linux så vore det fantastiskt trevligt 

Kraftfull och enkel lösning för hemautomation
http://www.switchking.net/forum/
Code: Select all
#!/bin/sh
### BEGIN INIT INFO
# Provides: switchking
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop Switch King
# Description: Switch King init script. This script starts and stops Switch King daemon.
### END INIT INFO
set -e
export MONO_LOG_LEVEL=info
export MONO_LOG_MASK="dll,config"
# Must be a valid filename
NAME=switchking
PIDFILE=/var/run/$NAME.pid
#This is the command to be run, give the full pathname
DAEMON=/usr/bin/mono
DAEMON_OPTS="/usr/local/switchking/bin/SwitchKing.exe daemon 192.168.69.5 8080 192.168.69.5 8800"
case "$1" in
start)
echo -n "Starting daemon: "$NAME
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
echo "."
;;
stop)
echo -n "Stopping daemon: "$NAME
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
echo "."
;;
restart)
echo -n "Restarting daemon: "$NAME
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS
echo "."
;;
*)
echo "Usage: "$1" {start|stop|restart}"
exit 1
esac
exit 0
Code: Select all
Unhandled Exception: SwitchKing.Server.BusinessAccess.PlatformStore.PlatformStateException: Failed to turn off device. Error: Could not connect to the Telldus Service
at SwitchKing.Server.BusinessAccess.Invocation.Engines.InvocationEngine.TurnOff (SwitchKing.Common.Entities.Device d) [0x00000] in <filename unknown>:0
at SwitchKing.Server.BusinessAccess.Invocation.Engines.InvocationEngine.PerformAction (DeviceActionEntry entry) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: SwitchKing.Server.BusinessAccess.PlatformStore.PlatformStateException: Failed to turn off device. Error: Could not connect to the Telldus Service
Code: Select all
DAEMON=/usr/bin/mono-service2
Code: Select all
sudo nano /etc/init.d/switchking
Code: Select all
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON_NAME=SwitchKing
DAEMON_PATH=/usr/local/switchking/bin/$DAEMON_NAME.exe
DAEMON_ARGS="daemon 192.168.69.5 8080 192.168.69.5 8800"
LOCKFILE=/tmp/$DAEMON_NAME.exe.lock
PIDFILE=/tmp/$DAEMON_NAME.exe.pid
start()
{
echo -n "Starting daemon: "
if [ -a $LOCKFILE ]; then
PID=`cat $LOCKFILE`
echo Daemon already running: $PID
exit 2;
else
mono-service2 -l:$LOCKFILE $DAEMON_PATH $DAEMON_ARGS
while [ ! -f $LOCKFILE ]
do
sleep 1
echo "Waiting for lock file creation"
done
cat $LOCKFILE > $PIDFILE
echo "started."
exit 0;
fi
}
stop()
{
echo -n "Stopping daemon: "
if [ -f $LOCKFILE ]; then
kill `cat $PIDFILE`
# Sometimes the mono-service2 does not die properly
# To avoid a zombie process we make sure it is dead
kill -9 `cat $PIDFILE`
sleep 2
if [ -f $LOCKFILE ]; then
rm $LOCKFILE
fi
echo "Stopped."
exit 0;
else
echo "Daemon is not running"
exit 2;
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
Code: Select all
sudo chmod +x /etc/init.d/switchking
Code: Select all
sudo update-rc.d switchking defaults 40
Code: Select all
cat /var/log/boot.log
Code: Select all
sudo update-rc.d switchking defaults
Code: Select all
sudo update-rc.d switchking defaults 30
Code: Select all
sudo update-rc.d switchking remove