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:

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.
Netzwerkkarte WoL aktivieren Windows 10

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.

Windows 10 Firewall Status aktiviert
Aktivierte Windows Firewall

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.

Windows 10 Firwall einstellungen öffnen

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

Neue Firewall Regel in Windows 10 anlegen

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.

Registry enable Local Token Filter Policy for Shutdown

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
homebridge-wol Plugin für Homekit

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:

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

Windows PowerShell als Administrator starten
Zuerst musst du die Windows PowerShell als Administrator starten.

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*
1
Hier nochmal alle Kommandos, um den OpenSSH Server auf Windows 10 zu installieren als Screenshot der PowerShell.

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 👇

Windows benutzernamen herausfinden mit whoami Kommando
Wir brauchen alles nach dem \, in meinem Fall also simon

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.

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:

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 🙏