Letztens beim Durchstöbern der HomeBridge Plugins bin ich über die Erweiterung Homebridge-WoL gestoßen. Mit dieser ist es möglich, Windows-Computer, Laptops, MacBooks oder andere Geräte, die WoL unterstützen, mit der Home App deines iOS Devices zu starten. Außerdem kannst du den Status (an- oder ausgeschaltet) überwachen und das Gerät über eigene Kommandos herunterfahren. Ziemlich coole Sache, oder?
Okay, kein weltveränderndes Plugin. Aber gerade die Funktion zum herunterfahren finde ich doch sehr cool. Einfach von unterwegs mal kurz checken, ob der Windows 10 Rechner noch läuft und bei Bedarf mit einem einfachen Tippen auf der Apple Watch herunterfahren. Schon ziemlich praktisch 😉
Computer über HomeBridge WOL starten oder runterfahren
Vorbereitungen
Ganz allgemein brauchst du natürlich eine HomeBridge. Diese muss bzw. sollte in diesem Fall, auf einem Raspberry Pi laufen. Warum? Du musst das Samba Common Paket nachinstallieren, auf Containern (Docker) ist das nicht ohne weiteres möglich. Außerdem sollte dein Raspberry über LAN-Kabel und nicht über WLAN verbunden sein, da die Wake on Lan Pakete so zuverlässiger übermittelt werden.
Raspberry Pi
Auf deinem Raspberry brauchst du abgesehen von der Hombridge nur das oben angesprochenen Paket. Dieses liefert Funktionalitäten der Windows-RPC Schnittstelle, mit der wir die Kiste später runterfahren können.
sudo apt-get install samba-common
Falls die Performance deines Raspberry inzwischen unter den unzähligen Plugins leiden sollte, kannst du übrigens versuchen den Kartenleser zu übertakten 🔥.
Windows PC mit Homebridge starten
Hinweis: Wenn du nur deinen Fernsehr und nicht deinen Computer starten bzw. steuern willst, gibt es dafür i.d.R. besser Plugins direkt für den jeweiligen Hersteller, wie z.B. auch für meinen LG Fernseher 😉
Auf dem Windows PC gibt es einiges mehr zu tun. Hier musst du, um deinen Computer starten zu können, erstmal sicherstellen:
- Das der Windows 10 Schnellstart abgeschaltet ist
- Das Wake on Lan aktiviert ist ⏰
Wake on Lan ist ein kleines Netzwerkpaket, das von deinem Raspberry Pi zu deinem Computer geschickt wird und der Netzwerkkarte befiehlt, den Computer einzuschalten.
Folgendes muss du in Windows 10 bei deiner Netzwerkkarte konfigurieren, um WoL zu aktivieren:
- Öffne deinen Gerätemanager
- Suche deinen Netzwerkkarte
- Doppelklick auf deinen Netzwerkadapter
- Reiter “Erweitert” öffnen
- Folgende eigenschaften auf “Enabled” stellen:
- Wake on Pattern Match
- Wake on Magic Packet
- SWOI
- Danach oben im Reiter “Energieverwaltung”, alle 3 Haken setzten.

Windows PC über Homebridge herunterfahren
Okay, soweit so gut. Nun gehts an die vorbereitungen zum runterfahren, angefangen bei der Firewall.
Firewall Konfiguration
Prüfe zuerst mal den Status (an oder aus) indem du im Startmenü nach “Firewallstatus überprüfen” suchst.

Wenn diese bei dir deaktiviert ist, überspringe diesen Schritt. Falls nicht (so wie oben zu sehen) musst du eine neue Regel erstellen. Diese Regel wird benötigt, da Windows im Standard keine Ping und RPC-Anfragen an deinen Computer “durchlässt”. Für unseren Anwendungsfall müssen wir das aber, zumindest von der Hombridge aus, erlauben.
Ich empfehle dir, einfach eingehenden Netzwerkverkehr von deiner Homebridge generell zu vertrauen. (Wenn du weißt was du tust, kannst du alternativ nur die benötigten Protokolle aktivieren)
Öffne zuerst mal mit einem Klick auf “Erweiterte Einstellungen” die Firewallregeln.

Nun mache einen Rechtsklick auf “Eingehende Regeln” und dann Linksklick auf “Neue Regel…”

Wähle in dem Assistent für neue eingehende Regeln nun folgende Einstellungen:
- Regeltyp: Benutzerdefiniert
- Programm: Alle Programme
- Protokolle und Ports: Alle
- Bereich:
- lokale IP-Adressen = Beliebige IP-Adresse
- Remote Adressen = Diese IP-Adressen -> Hinzufügen -> IP-Adresse deiner Homebirdge (des Raspberry Pi)
- Aktion: Verbindung zulassen
- Profil: Alle 3 Haken rein oder den Netzwerktyp deines Heimnetzwerks auswählen
- Name: Von Homebridge alles erlauben
Reg-Key LocalAccountTokenFilterPolicy
Okay, fast geschafft. Nun müssen wir nur noch einen Registry Key anlegen, damit wir uns auch per RPC Anmelden können.
Öffne den Windows-Registrierungs-Editor indem du im Startmenü nach “Regedit” suchst und erstelle unter Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System einen neuen DWORD-Wert (32 Bit) mit dem Namen LocalAccountTokenFilterPolicy und dem Wert 1.

Homebridge Plugin installieren
Die Vorbereitungen sind abgeschlossen, nun zum spaßigen Teil. Installiere auf deiner Homebridge das Plugin homebridge-wol und schon kannst mit der Konfiguration losgehen:
npm install -g homebridge-wol

config.json zum herunterfahren und starten des Computers
Okay, nun gehts weiter mit dem Konfigurieren deiner Geräte. Das ganze kann man auch gut auf der GitHub-Seite des Plugins nachlesen, aber hier ist ein Ausschnitt meiner accessories der config.json für das Wake on Lan Plugin:
"accessories": [
{
"accessory": "NetworkDevice",
"name": "Simons Computer",
"mac": "4C:CC:6A:24:1B:4E",
"ip": "192.168.1.3",
"pingInterval": 45,
"wakeGraceTime": 30,
"shutdownGraceTime": 45,
"shutdownCommand": "net rpc shutdown --ipaddress 192.168.1.3 --user BENUTZERNAME%KENNWORT"
}
],
Die Mac- und IP-Adresse, sowie die Platzhalter BENUTZERNAME und KENNWORT musst du natürlich noch austauschen, aber ansonsten sollte das Snippet bei dir funktionieren und schon kannst du deinen Computer mit Siri oder der Home App herunterfahren 😉
Computer über Homebridge in Ruhezustand versetzen
Dem Computer in den Ruhezustand zu versetzen, indem man lediglich ein Siri Kommando sagt, ist ein traum. Aber leider ist dieser Traum auch nicht ohne weiteres zu realisieren, hat mich echt einiges an zeit und nerven gekostet… Aber für euch tu ich doch alles 😉Fangen wir einfach mal an:
SSH Server auf Windows 10 installieren
Damit das ganze bei dir funktioniert brauchst du ein aktuelles, aktuelles Windows 10 (mind. 1809). Wenn alle Updates bei dir installiert sind, kann es auch schon losgehen

Nun solltest du folgende Kommandos der Reihe nach ausführen:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Hier sollten nun 2 Einträge ausgegeben werden. OpenSSH.Client als Installed und OpenSSH.Server als NotPresent.
Das bedeutet, bei dir ist der SSH Server nicht installiert. Genau das holen wir jetzt nach.
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Hier etwas Geduld haben, die Installation des SSH Server Dienstes auf Windows 10 kann etwas dauern. Sobald Online : True ausgegeben wird, kannst du weitermachen.
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Das machen wir nur zur Kontrolle. Hier sollten nun wieder 2 Einträge ausgegeben werden, aber unter beiden sollte stehen Installed.
Okay, fast geschafft. Jetzt noch 3 Kommandos um den Dienst zu starten und den Autostart zu aktivieren 👇
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Get-NetFirewallRule -Name *ssh*

Usernamen herausfinden
Da du die Powershell sowieso grade offen hast, schauen wir noch kurz nach wie dein Benutzername zum anmelden ist. Der kann sich nämlich von deinem angezeigten Namen unterscheiden. Nicht verwirren lassen, einfach das PowerShell kommando ausführen und die Ausgabe nach dem \ in ein Textdokument kopieren bzw. abtippen 👇

expect nachinstallieren
Auf deinem Raspberry brauchst du abgesehen von der Hombridge und dem oben angesprochenen Paket Homebridge WOL nur noch das excrept Paket. Einfach per SSH zur Homebridge verbinden und das Kommando ausführen:
sudo apt-get install expect
config.json zum aktivieren des Ruhezustands und starten des PCs
Okay, das Snippet hier (starten und Ruhezustand) unten ist dem zum herunterfahren und starten von oben natürlich sehr ähnlich. Aber in der 3ten Zeile von unten unterscheidet sich der Code deutlich.
"accessories": [
{
"accessory": "NetworkDevice",
"name": "Simons Computer",
"mac": "4C:CC:6A:24:1B:4E",
"ip": "192.168.1.3",
"pingInterval": 45,
"wakeGraceTime": 30,
"shutdownGraceTime": 45,
"shutdownCommand": "expect -c 'spawn ssh -o \"StrictHostKeyChecking=no\" BENUTZERNAME@192.168.1.3 \"shutdown -h\"; expect \"assword:\"; send \"KENNWORT\\r\"; interact'"
}
],
Die Mac- und IP-Adresse, sowie die Platzhalter BENUTZERNAME und KENNWORT musst du natürlich noch austauschen!
Computer stattdessen in den Energiesparmodus versetzen
Wenn lieber in den Energiesparmodus als in den Ruhezustand möchtest, dann musst du folgendes tun:
Zuerst musst du den Ruhezustand (hibernation) auf deinem Computer deaktivieren. Führe dazu den folgenden Code in einer als Administrator gestarteten Powershell auf deinem Windows 10 Computer aus.
powercfg -hibernate off
Okay, fast geschafft. Nun musst du in dem Snippet von oben für die Config.json nur noch die dritte Zeile wie folgt ersetzen:
"shutdownCommand": "expect -c 'spawn ssh -o \"StrictHostKeyChecking=no\" BENUTZERNAME@192.168.1.3 \"rundll32.exe powrprof.dll,SetSuspendState 0,1,0\"; expect \"assword:\"; send \"KENNWORT\\r\"; interact'"
Wenn du es bis hierher geschafft hast, vielen Dank für dein Interesse und ich hoffe dir hat der Artikel gefallen! Bei Fragen oder Anregungen gerne ein Kommentar dalassen 🙏