# 💤 Wake-on-LAN & Shutdown über Homebridge

Diese Anleitung zeigt, wie du **einen Windows‑PC per Homebridge einschaltest (Wake‑on‑LAN)** und **sauber herunterfährst** – alles direkt aus HomeKit.

---

## ✅ Voraussetzungen

- Homebridge ist installiert und läuft
  > [!ref](install.md)
- Windows 10/11 PC (per Ethernet empfohlen)
- Netzwerk: PC und Homebridge im selben Layer‑2 Netz / VLAN
- BIOS/UEFI: **Wake on LAN** aktiviert (Hersteller‑Menü)

---

## 🔌 Wake on LAN in Windows aktivieren

1. **Geräte-Manager** öffnen
2. **Netzwerkadapter** → Doppelklick auf deinen Adapter
3. Reiter **„Erweitert“** → folgende Eigenschaften auf **Enabled** stellen:
   - **Wake on Pattern Match**
   - **Wake on Magic Packet**
   - **SWOI**
4. Reiter **„Energieverwaltung“** → **alle 3 Haken setzen**
   (Gerät darf den Computer aus dem Ruhezustand aktivieren usw.)

![WOL aktivieren](../images/netzwerkkarte-wol-aktivieren-windows-10.jpg)

---

## 🔥 Windows-Firewall-Regel (eingehend) hinzufügen

- **Regeltyp:** Benutzerdefiniert
- **Programm:** Alle Programme
- **Protokolle/Ports:** Alle
- **Bereich:**
  - Lokale IP-Adressen → Beliebig
  - Remote-IP-Adressen → **Diese IP-Adressen** → **IP der Homebridge** hinzufügen
- **Aktion:** Verbindung zulassen
- **Profil:** Domäne/Privat/Öffentlich (oder passendes Profil wählen)
- **Name:** „Homebridge erlauben“

---

## 🛡️ Registrierungseintrag setzen (Remote‑Shutdown erlauben)

Öffne den Registrierungs-Editor und gehe zu:

```
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
```

Lege einen **DWORD (32‑Bit)**‑Wert an:

- **Name:** `LocalAccountTokenFilterPolicy`
- **Wert:** `1`

![Registry einstellen](../images/registry-enable-local-token-filter-policy-for-shutdown.jpg)

> Dadurch sind Remote‑RPC‑Befehle mit lokalen Accounts möglich (für den Shutdown).

---

## 📦 Zusätzliche Pakete auf der Homebridge (Debian/Ubuntu)

Für den Shutdown-Befehl wird **`net`** benötigt – das steckt im Paket **`samba-common-bin`**:

```bash
sudo apt update
sudo apt install -y samba-common-bin
```

> (Nicht nur `samba-common` installieren – **`samba-common-bin`** liefert das benötigte `net`-Tool.)

---

## 🔌 Homebridge‑Plugin installieren

Installiere das Plugin **„Homebridge WOL“** (NetworkDevice):

![Plugin](../images/homebridge-wol-plugin-fuer-homekit.jpg)

> In der Homebridge UI → **Plugins** → nach **WOL** suchen → installieren.

---

## ⚙️ Homebridge‑Konfiguration

Öffne deine `config.json` und ergänze unter `accessories` den Eintrag.
Ersetze die Platzhalter **MAC**, **IP**, **BENUTZERNAME**, **KENNWORT**.

```json
"accessories": [
  {
    "accessory": "NetworkDevice",
    "name": "Simons Computer",
    "mac": "DEINEMAC",
    "ip": "IP",
    "pingInterval": 45,
    "wakeGraceTime": 30,
    "shutdownGraceTime": 45,
    "shutdownCommand": "net rpc shutdown --ipaddress IP --user BENUTZERNAME%KENNWORT"
  }
]
```

**Hinweise:**

- **MAC‑Adresse** ohne Doppelpunkte/Bindestriche, z. B. `A1B2C3D4E5F6`
- **IP** ist die IPv4 deines Windows‑PCs
- **BENUTZERNAME** → Ausgabe von `whoami` auf dem Windows‑PC verwenden
  - Wenn du `DOMAIN\user` bekommst, ersetze den Backslash durch Slash: `DOMAIN/user`
- **KENNWORT** → **Windows‑Kennwort**, **nicht** den Windows‑Hello‑PIN

---

## 🧰 Nützliche Tests

- **Windows-PC pingen** (Erreichbarkeit prüfen)
- **WOL testen:** In der Home-App „Einschalten“ → PC sollte starten
- **Shutdown testen:** In der Home-App „Ausschalten“ → PC fährt herunter
  - Alternativ Befehl direkt testen:
    ```bash
    net rpc shutdown --ipaddress IP --user BENUTZERNAME%KENNWORT
    ```

---

## ⚠️ Häufige Stolpersteine

- WOL funktioniert meist **nur via LAN**, nicht über WLAN
- Manche Mainboards erlauben WOL **nur aus S3/S4** (Standby/Ruhezustand), nicht aus **G3** (Soft‑Off)
- **Schnellstart** (Windows) kann WOL stören → ggf. in den Energieoptionen deaktivieren
- Firewall/AV‑Suite blockiert RPC → temporär testen oder Ausnahme ergänzen
- BIOS/UEFI: „Deep Sleep“/ErP kann WOL verhindern

---

## 🌐 Zugriff auf Homebridge UI

Standardmäßig unter:

```
http://<IP-der-Homebridge>:8581
```

Dort kannst du das Plugin konfigurieren und testen.

---

## ✅ Zusammenfassung

- WOL in **BIOS/UEFI** und **Windows‑Treiber** aktivieren
- **Registry‑Wert** `LocalAccountTokenFilterPolicy=1` setzen
- Auf Homebridge **`samba-common-bin`** installieren
- **Homebridge WOL**‑Plugin installieren & konfigurieren
- In HomeKit Geräte schalten: **Ein = WOL**, **Aus = Shutdown**
