Diskussion:Homebridge Start und Status in FHEM

Aus FHEMWiki
Version vom 7. Februar 2017, 06:15 Uhr von Svenson08 (Diskussion | Beiträge) (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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.

Leider gibts im Kommentar keine Syntax-Formatierung, daher wird das hier so zerstückelt angezeigt


  1. !/bin/sh
      1. BEGIN INIT INFO
  2. Provides: homebridge
  3. Required-Start: $network $remote_fs $syslog
  4. Required-Stop: $remote_fs $syslog
  5. Default-Start: 2 3 4 5
  6. Default-Stop: 0 1 6
  7. Short-Description: Start daemon at boot time for homebridge
  8. Description: Enable service provided by daemon.
      1. 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