Hi ho,
da ich gerade mal wieder mein System optimiere, habe ich festgestellt, dass der Artikel "Homebridge Start und Status in FHEM" aus dem Wiki (https://wiki.fhem.de/wiki/Homebridge_Start_und_Status_in_FHEM) überarbeitet wurde und nun vereinfacht wurde.
Jedoch habe ich hier noch einen Verbesserungsvorschlag:
Im aktuellen Code werden keine Telnetverbindungen mit Passwortabfrage berücksichtigt. Da ich jedoch meine Zugänge (auch Telnet) mit Passwörtern abgesichert habe, ist das nicht optimal.
Daher hier nun eine erweiterter Code, der auch Passwörter beinhaltet:
Start Script anlegen
sudo nano /etc/init.d/homebridge
#!/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="fhem" #Homebridge-User
fhemHost=127.0.0.1 #FHEM-Server (Masterinstanz)
fhemHostTelnetPort=7072 #Telnet-Port der FHEM Instanz
fhemHostTelnetPassword="Passw0rt" #Telnet-Passwort der FHEM Instanz
fhemDefine="SYS_Homebridge" #Homebridge Device in FHEM
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 $fhemHostTelnetPassword "setreading $fhemDefine info Homebridge is already running"
else
su - $homeBridgeUser -c "homebridge > /dev/null 2>&1 &"
echo "Homebridge starting"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort $fhemHostTelnetPassword "setreading $fhemDefine info Homebridge starting"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort $fhemHostTelnetPassword "set $fhemDefine on"
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 $fhemHostTelnetPassword "setreading $fhemDefine info Homebridge is not running"
else
kill $PID
echo "Homebridge stopping"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort $fhemHostTelnetPassword "setreading $fhemDefine info Homebridge stopping"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort $fhemHostTelnetPassword "set $fhemDefine off"
sleep 2
$0 status
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 $fhemHostTelnetPassword "setreading $fhemDefine info Homebridge running as PID $PID"
else
echo "Homebridge is not running"
perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort $fhemHostTelnetPassword "setreading $fhemDefine info Homebridge is not running"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
Den Rest, wie im Wiki beschrieben durchführen.
Vielleicht noch eine Anmerkung: Wenn nach dem homebridge-Artikel im Wiki, "Homebridge einrichten" (https://wiki.fhem.de/wiki/Homebridge_einrichten), vorgegangen wurde, dann ist der homeBridge-User nicht "fhem", sondern auf einem Raspberry Pi "pi". Das muss dann oben noch geändert werden.
Hallo, gibt es eine Möglichkeit eine 2. Instanz von Homebridge über Fhem zu steuern?
mittlerweile haben sich bei mir über 50 Geräte angesammelt und jedesmal wenn ein Mapping nicht ganz sauber ist, mag HomeKit meine Homebridge nicht mehr.
Daher würde ich gerne mehrere Instanzen laufen lassen um Geräte zu verteilen und im Fehlerfall nicht alles zu verlieren.
Ich weiß leider nicht wie ich das Script anpassen kann um das zu erreichen.
Hilfe ist Wilkommen :)
Hallo zusammen,
leider bringe ich es nicht zusammen. Der Dummy übernimmt zwar den Status, wenn ich Homebridge im Terminal starte oder stoppe. Vom Dummy aus kann ich jedoch nicht starten oder stoppen.
Hat jemand eine Idee?
odie13690