Diskussion:Homebridge Start und Status in FHEM: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Ich hätte ein angepasstes Startscript. Dabei lässt sich dieses durch die Parameter im oberen Abschnitt für Anfänger ggf. besser auf die eigenen Bedürfniss…“) |
Krikan (Diskussion | Beiträge) K (Syntaxhervorhebung) |
||
Zeile 2: | Zeile 2: | ||
Falls die Homebridge nicht auf dem selben System wie FHEM läuft, funktioniert die Rückmeldung des Status an FHEM auch in diesem Szenario. | Falls die Homebridge nicht auf dem selben System wie FHEM läuft, funktioniert die Rückmeldung des Status an FHEM auch in diesem Szenario. | ||
<source lang=bash> | |||
#!/bin/sh | #!/bin/sh | ||
### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
Zeile 76: | Zeile 74: | ||
esac | esac | ||
exit 0 | exit 0 | ||
</source> |
Version vom 7. Februar 2017, 09:11 Uhr
Ich hätte ein angepasstes Startscript. Dabei lässt sich dieses durch die Parameter im oberen Abschnitt für Anfänger ggf. besser auf die eigenen Bedürfnisse anpassen. Falls die Homebridge nicht auf dem selben System wie FHEM läuft, funktioniert die Rückmeldung des Status an FHEM auch in diesem Szenario.
#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for homebridge
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof homebridge`
homeBridgeUser="User hier"
fhemHost=127.0.0.1 #FHEM Server (Masterinstanz)
fhemHostTelnetPort=7072 #TelnetPort der FHEM Instanz
fhemDefine="FHEM.Homebridge.Status"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
echo "Homebridge is already running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge is already running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine on"
else
su - $homeBridgeUser -c "homebridge > /dev/null 2>&1 &"
echo "Homebridge starting"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge starting"
sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Homebridge is not running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge is not running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine off"
else
kill $PID
echo "Homebridge closed"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge closed"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Homebridge is running PID $PID"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge running as PID $PID"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine on"
else
echo "Homebridge is not running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge is not running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0