Die Home-Automation Bridge (oder kurz HA Bridge) simuliert eine Philips hue Bridge im Netzwerk, auf deren virtuelle Geräte man per Sprache mit Geräten wie dem Amazon Echo zugreifen kann: So lassen sich viele zusätzliche Geräte und auch einfache Funksteckdosen aus dem Baumarkt von Alexa per Sprache steuern.
Stürzt das Programm ab oder läuft aus einem anderen Grund nicht, findet Alexa den Hub nicht mehr. Dann lassen sich die Geräte nicht mehr steuern – Alexa meldet dann, dass sie den Hub nicht finden kann und dass man Strom- und Netzwerkverbindung prüfen soll. Im Test kam das bei uns mit der HA Bridge leider regelmäßig vor: Daher hilft dieses kurze Skript. Es erkennt, dass das Programm nicht mehr läuft und startet es automatisch bei einem Absturz neu. Das Skript funktioniert dabei nur bei Programmen, die die Konsole auch während der Laufzeit blockieren und nicht im Hintergrund laufen: so wie die Home Automation Bridge!
SH Skript, um Linux Programm automatisch neu zu starten
Zunächst meldet man sich auf dem Linux-Rechner, auf dem die Home Automation Bridge (oder ein anderes Linux-Programm!) automatisch neu gestartet werden soll, an: Entweder direkt oder per SSH. Anschließend öffnet man einen Text-Editor, zum Beispiel dem nano Editor oder dem vi Editor und erstellt eine Datei in seinem User-Ordner (auf dem Raspberry Pi ist das /home/pi/):
nano /home/pi/ha-bridge-restart.sh
Hier gibt man diese Zeilen ein: Das startet das auszuführende Programm (in unserem Beispiel die HA Bridge im Ordner /home/pi/habridge/):
while :
do
java -jar /home/pi/habridge/ha-bridge-3.5.1.jar
sleep 10
done
Jetzt muss man dem Programm noch Ausführungsrechte geben:
chmod +x /home/pi/ha-bridge-restart.sh
…und kann es anschließend starten:
/home/pi/ha-bridge-restart.sh
Funktioniert das Starten nicht und der Server bricht mit Meldungen wie “ignite failed” oder “permission denied” ab, sollte man sich als Superuser su anmelden, und das Skript erneut ausführen – dann sollte man, wenn man das Skript per Cronjob starten möchte, es auch als Root-Cronjob einrichten: Dazu ebenfalls als Root anmelden, bevor man die Crontab bearbeitet!
HA Bridge direkt mit dem Raspberry Pi starten
Soll das neue Skript direkt mit dem Raspberry Pi gestartet werden, hilft mit dem Befehl “crontab -e” ein Eintrag in die Cronjob-Tabelle: Dort muss am Ende die folgende Zeile angefügt werden, gefolgt von einer neuen Leerzeile:
@reboot sh /home/pi/ha-bridge-restart.sh
Eine ausführliche Erklärung zu den Linux Cronjobs, und wie dort die einzelnen Befehle funktionieren, haben wir hier in unserem Cronjob-Artikel.