
Raspberry Pi Reboot und Shutdown via openHAB
Tags: Nerd, openHAB, Reboot, Shutdown, Sitemap, Smart Home
Aus der Kategorie „kleine Helferlein“ habe ich heute die Steuerung eines Reboot/Shutdown von openHAB oder dem ganzen Raspberry Pi, via openHAB selbst gebaut. Ich hatte bereits einmal das Problem, dass ein Binding in openHAB „ein wenig hängt“ und ich selbst nicht zu Hause war, sodass ich keinen Neustart ausführen konnte. Mit folgendem Trick könnt ihr die Option mit in eure Sitemaps aufnehmen, sodass dies auch von Unterwegs geht.
Vorbereitung
Da einige Systembefehle (gerade die, welche wir brauchen) nur via „sudo“ und mit einem Passwort auszuführen sind, müssen wir dies zunächst umgehen. Dies bzgl. gibt es eine „Sudoers-Datei“, wo wir die Befehle aufnehmen müssen (Erklärung und Tutorial). Der einfachheitshalber habe ich einfach alle Befehle aufgenommen. D.h., mit dem Befehl „sudo vi /etc/sudoers.d/010_pi-nopasswd
“ kann die Datei angelegt/bearbeitet werden und der Eintrag „openhab ALL=(ALL) NOPASSWD: ALL
“ (ohne Anführungszeichen) aufgenommen werden.
Things anlegen

Via Exec-Binding (Dokumentation), werden nun zwei Things angelegt (oben die Steuerung des openHAB selbst). Dabei kann mit „%2$s
“ in dem Command auf den Eingangsparameter des Things zugegriffen werden. Durch das Setzen der „Autorun“-Option läuft das Thing automatisch los, sobald sich der Eingangsparameter ändert. Durch das „automatische Loslaufen“ und den „Platzhalter“ im Command, können wir somit mehrere Befehle (reboot, shutdown etc.) über ein einziges Thing ausführen. Bitte dran denken, die Befehle in die Whitelist des Exec-Binding mit aufzunehmen. Das Thing für den System-Reboot ist ähnlich anzulegen.
Sitemap erweitern
Mit den beiden unten stehenden Schaltern habe ich dann die Sitemap erweitert. Mittels des Mappings habe ich dann die entsprechenden Werte für die Platzhalter in den Befehlen, welche in dem Eingangswert-Item des Things gesetzt werden. Der Rest passiert dann „automatisch“.
Switch icon="switch" item=openHAB_CLI_Eingabewert label="openHAB" mappings=[restart=Restart]
Switch icon="switch" item=System_CLI_Eingabewert label="Raspberry Pi" mappings=[reboot=Reboot,shutdown=Shutdown]
Fazit
Sehr einfache Lösung für das neu Starten des Systems bzw. des openHAB Services. Fühlt sich ein wenig so an wie „ich säge an dem Ast, auf dem ich sitze“, funktioniert aber gut. Unten seht ihr, wie das Ganze in das iOS Sitemap der App aussieht. Viel Spaß beim Nachbauen.

Hinterlasse einen Kommentar/Leserbrief!