|
|
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| 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.
| | 09.02.2017 |
| Falls die Homebridge nicht auf dem selben System wie FHEM läuft, funktioniert die Rückmeldung des Status an FHEM auch in diesem Szenario.
| |
|
| |
|
| '''Leider gibts im Kommentar keine Syntax-Formatierung, daher wird das hier so zerstückelt angezeigt'''
| | Artikel Überarbeitet, im Rahmen meiner Umsetzung die ich mit dem Artikel vorgenommen hatte. |
|
| |
|
| | Inhaltlich habe ich den Artikel textuell hoffentlich lesbarer und verständlicher gestaltet. |
|
| |
|
| #!/bin/sh
| | Alle Schritte sind getestet und funktionieren (hoffentlich) bei Nachahmern genauso. |
| ### 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`
| | Erweitert wurde der Artikel um die Betrachtung das FHEM und Homebridge nicht auf dem selben Server laufen muss. |
| 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
| |
09.02.2017
Artikel Überarbeitet, im Rahmen meiner Umsetzung die ich mit dem Artikel vorgenommen hatte.
Inhaltlich habe ich den Artikel textuell hoffentlich lesbarer und verständlicher gestaltet.
Alle Schritte sind getestet und funktionieren (hoffentlich) bei Nachahmern genauso.
Erweitert wurde der Artikel um die Betrachtung das FHEM und Homebridge nicht auf dem selben Server laufen muss.