Licht automatisch einschalten beim PC-Start – So geht’s mit ioBroker und Home Assistant

Technisch aufgeräumter Schreibtisch mit PowerShell-Code auf dem Bildschirm und eingeschalteter Schreibtischlampe – Symbolbild für Lichtautomatisierung beim PC-Start.

Licht automatisch einschalten beim PC-Start – genau das ist das Ziel dieses Beitrags. Wenn dein PC hochfährt, soll automatisch das Licht am Schreibtisch angehen? Klingt erstmal wie Magie – ist aber mit PowerShell, ioBroker oder Home Assistant in wenigen Minuten realisierbar. In diesem Beitrag zeige ich dir Schritt für Schritt, wie du genau das umsetzt. Alles lokal, ohne Cloud, dafür mit extra Nerd-Faktor und ein paar praktischen PowerShell-Tricks.


Was du brauchst, um beim PC-Start das Licht automatisch einzuschalten

  • Einen Windows-PC mit PowerShell (ab Windows 10)
  • Eine smarte Lampe oder Steckdose (z. B. Tapo Nano Smart WLAN Steckdose* (bezahlter Link) oder Philips Hue* (bezahlter Link))
  • Eine laufende ioBroker- oder Home Assistant-Installation
  • Einen gemeinsamen Netzwerkzugang
Aufgeräumter Technik-Arbeitsplatz mit drei Monitoren, PowerShell-Code und Smart-Home-Zubehör – der PC wird gestartet und das Licht geht automatisch an.
Beim Start des PCs aktiviert ein PowerShell-Skript automatisch das Licht – so einfach kann Smart Home mit ioBroker oder Home Assistant sein.

Variante 1: Beim PC-Start das Licht automatisch einschalten mit ioBroker

ioBroker vorbereiten

  1. Stelle sicher, dass der web-Adapter in ioBroker läuft.
  2. Aktiviere die Simple-API (Standardport ist meist 8087).
  3. Lege einen Datenpunkt für dein Licht an, z. B. licht.schreibtisch.on (Typ: Boolean).

PowerShell-Skript auf dem Windows-PC

Erstelle z. B. in C:\Scripts\light-on.ps1 folgendes Skript – kommentiert, damit du weißt, was was macht:

# URL zur ioBroker-Simple-API, um das Licht einzuschalten
$ioBrokerUrl = "http://192.168.0.100:8087/set/licht.schreibtisch.on?value=true"

try {
    # HTTP-Request an ioBroker senden
    Invoke-WebRequest -Uri $ioBrokerUrl -UseBasicParsing
    Write-Output "Lichtsignal an ioBroker gesendet."
} catch {
    # Falls etwas schiefgeht, gib den Fehler aus
    Write-Error "Fehler beim Senden des Signals: $_"
}

Hinweis: Wenn du Authentifizierung in ioBroker aktiviert hast, brauchst du einen Auth-Header (Basic Auth oder Token).

Autostart einrichten (mit ExecutionPolicy!)

Windows blockiert standardmäßig das Ausführen von PowerShell-Skripten – außer du erlaubst es explizit. Dazu nutzt du ExecutionPolicy Bypass, und zwar so:

So geht’s mit Verknüpfung im Autostart-Ordner:

  1. Erstelle eine Verknüpfung zu powershell.exe.
  2. Gib bei Ziel folgendes ein:
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\light-on.ps1"

  1. Schieb die Verknüpfung in den Autostart-Ordner:

Pfad: C:\Users\<DEINNAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Oder über die Aufgabenplanung:

  • Öffne „Aufgabenplanung“ (taskschd.msc)
  • Neue Aufgabe → Trigger: „Beim Start“ oder „Bei Anmeldung“
  • Aktion: powershell.exe
  • Argumente: -ExecutionPolicy Bypass -File "C:\Scripts\light-on.ps1"

So umgehst du elegant die Blockade, ohne dein System unsicher zu machen.


Variante 2: Home Assistant – Licht automatisch einschalten beim PC-Start per REST API

Vorbereitung

  1. Erstelle ein Long-Lived Access Token in deinem Home Assistant-Profil.
  2. Finde die entity_id deiner Lampe (z. B. light.schreibtisch).

PowerShell-Skript

# Dein Home Assistant Token – sicher aufbewahren!
$token = "DEIN_LONG_TOKEN"

# URL zum REST-API-Endpunkt zum Einschalten von Licht
$uri = "http://192.168.0.101:8123/api/services/light/turn_on"

# Header mit Authentifizierung
$headers = @{ Authorization = "Bearer $token" }

# JSON-Daten: Welche Lampe soll eingeschaltet werden?
$body = @{ entity_id = "light.schreibtisch" } | ConvertTo-Json

# Anfrage senden
Invoke-RestMethod -Uri $uri -Headers $headers -Method Post -Body $body -ContentType 'application/json'

Auch dieses Skript kannst du wie oben beschrieben beim Systemstart ausführen lassen.


Bonus: Weitere Ideen zum Licht beim PC-Start

  • Sanftes Aufdimmen: In ioBroker per Script oder in HA per transition-Attribut
  • Präsenz-Erkennung: Kombiniere das mit Bewegungssensor oder Smartphone-Präsenz
  • Mehrere PCs: Unterschiedliche Trigger-Datenpunkte für unterschiedliche Nutzer

Fehlerquellen und Tipps für die Licht-Automatisierung

  • Firewall: Stelle sicher, dass dein ioBroker vom PC aus erreichbar ist
  • ExecutionPolicy: Immer mit -ExecutionPolicy Bypass starten, wenn du Skripte automatisierst
  • Netzwerk: Beide Geräte müssen sich im gleichen Netz befinden (keine VLANs o. ä. dazwischen)
  • API-Schutz: Wenn du von außen zugreifst, nutze Tokens und sichere Ports

Fazit: Licht automatisch einschalten beim PC-Start lohnt sich

„Licht automatisch einschalten beim PC-Start“ ist keine Hexerei, sondern mit ein paar Zeilen PowerShell und etwas Smart-Home-Magie schnell gemacht. Egal ob du ioBroker oder Home Assistant nutzt – dein PC wird zum echten Smart-Home-Mitbewohner.

Genau solche Automatismen machen ein echtes Smart Home aus: Du musst nichts mehr selbst schalten oder daran denken – dein System erledigt es einfach für dich. Wenn dich das Thema interessiert, schau unbedingt in meinen Beitrag Echtes Smart Home: Automatisierung statt Fernbedienung.

Proxmox auf IPv6 umstellen – wie, warum und die Probleme

In diesem Beitrag beschreibe ich meine Erfahrungen bei der Umstellung meines Proxmox-Systems auf IPv6. Dabei gab es einige Herausforderungen, insbesondere im Zusammenhang mit LXC-Containern (CTs), virtuellen Maschinen (VMs) und den Netzwerkeinstellungen meiner Fritzbox* (bezahlter Link). Am Ende konnte ich aber fast mein gesamtes Smart Home auf IPv6 umstellen und alle Probleme lösen. Hier sind die wichtigsten Erkenntnisse!


1️⃣ Warum IPv6 für mein Smart Home?

Die Umstellung auf IPv6 bringt viele Vorteile:

  • Keine NAT-Probleme mehr: Geräte sind direkt erreichbar.
  • Zukunftssicherheit: IPv4-Adressen werden immer knapper.
  • Bessere Adressierung: Kein Ärger mehr mit internen Subnetzen.
  • Matter: Matter benötigt zwingen IPv6

Da mein Smart-Home-System stark auf Proxmox, Home Assistant, ioBroker und Zigbee2MQTT setzt, wollte ich sicherstellen, dass alles reibungslos mit IPv6 funktioniert.


2️⃣ Erste Schritte: IPv6 in der Fritzbox aktivieren

Die Fritzbox war bereits auf Dual Stack konfiguriert, aber um sicherzustellen, dass Proxmox und meine VMs wirklich IPv6 nutzen, habe ich folgendes überprüft:

  • DHCPv6-Server aktiviert → IPv6-Adressen werden zugewiesen
  • DNSv6-Server bekannt gegeben → Damit meine Geräte IPv6 bevorzugen
  • Statische IPv6 für wichtige Geräte (z. B. Proxmox-Host)

Ein schneller Test mit https://www.wieistmeineip.de/ipv6-test/ zeigte, dass ich bereits Dual Stack (IPv4 + IPv6) nutzte.


3️⃣ Proxmox auf IPv6 umstellen

3.1 IPv6 für das Hauptnetzwerk aktivieren

Auf dem Proxmox-Host habe ich geprüft, ob eine IPv6-Adresse vorhanden ist:

ip -6 addr show

Die Fritzbox* (bezahlter Link) hatte eine globale IPv6-Adresse zugewiesen. Falls das nicht der Fall gewesen wäre, hätte ich stattdessen eine statische IPv6-Adresse konfiguriert.

Dann prüfte ich die IPv6-Route:

ip -6 route show default

Falls keine IPv6-Standardroute vorhanden gewesen wäre, hätte ich sie manuell hinzugefügt:

ip -6 route add default via fe80::1 dev vmbr0

3.2 Netzwerkbrücke vmbr0 anpassen

Die interfaces-Datei wurde so angepasst, dass IPv6-Adressen über SLAAC oder DHCPv6 bezogen werden:

auto vmbr0
iface vmbr0 inet static
    address 192.168.0.19/24 # IP des Proxmox Servers
    gateway 192.168.0.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

iface vmbr0 inet6 auto

Dann wurde das Netzwerk neugestartet:

systemctl restart networking

4️⃣ LXC-Container für IPv6 fit machen

Einige meiner LXC-Container bekamen keine IPv6-Adresse. Das lag daran, dass accept_ra deaktiviert war. Die Lösung:

sysctl -w net.ipv6.conf.all.accept_ra=2
sysctl -w net.ipv6.conf.vmbr0.accept_ra=2

Diese Änderungen wurden dauerhaft gemacht:

echo "net.ipv6.conf.all.accept_ra=2" >> /etc/sysctl.conf
sysctl -p

Falls ein LXC-Container eine statische IPv6-Adresse bekommen sollte, wurde dies in der config-Datei des Containers (/etc/network/interfaces) angepasst.

Beispiel für eine statische IPv6-Adresse:

iface eth0 inet6 static
    address 2003:abcd:1234::100
    netmask 64
    gateway fe80::1

5️⃣ VMs und Smart-Home-Systeme auf IPv6 umstellen

5.1 Home Assistant & ioBroker IPv6-fähig machen

Nach der Proxmox-Umstellung mussten Home Assistant und ioBroker IPv6 nutzen. Ich habe die jeweiligen Netzwerkkonfigurationen geprüft und sichergestellt, dass die Dienste auf IPv6 lauschen.

Ein schneller Test:

ping6 google.com

Falls keine Verbindung bestand, wurde geprüft:

ip -6 route show default

Falls nötig, wurde die IPv6-Route manuell hinzugefügt.


5.2 Zigbee2MQTT und MQTT mit IPv6 nutzen

Da mein MQTT-Server (Mosquitto) jetzt auch IPv6 unterstützt, mussten die Verbindungen angepasst werden. Im Container oder in der VM:

cat /etc/mosquitto/mosquitto.conf

Falls Mosquitto nur auf IPv4 lauschte, wurde das geändert zu:

listener 1883 ::

Dann den Dienst neustarten:

systemctl restart mosquitto

6️⃣ ESP8266-Probleme mit IPv6 & Umstieg auf ESP32

Mein Smart-Home nutzt ESP8266* (bezahlter Link)– und ESP32-Boards* (bezahlter Link) für verschiedene Sensoren. Dabei stellte sich heraus, dass ESP8266* (bezahlter Link) kein natives IPv6 unterstützt!

Lösung: Umstieg auf ESP32* (bezahlter Link), der vollständige IPv6-Unterstützung bietet. Dafür musste der Code angepasst werden:

WiFi.enableIPv6();
Serial.println(WiFi.localIPv6());

➡ Danach konnte der ESP32 direkt mit IPv6 arbeiten! 🎉


7️⃣ Fazit: Lohnt sich IPv6 für das Smart Home?

Nach der Umstellung kann ich sagen: Ja!

Mein gesamtes Proxmox-System läuft jetzt mit IPv6Alle LXC-Container & VMs haben funktionierendes IPv6Home Assistant, ioBroker & MQTT arbeiten mit IPv6ESP8266 bleibt problematisch – ESP32 ist die Lösung und danke Matter ist die Umstellung auf IPv& sowieso unumgänglich.

Die Umstellung war nicht ganz trivial, aber hat sich gelohnt! Falls du Fragen hast oder selbst dein Smart Home auf IPv6 umstellen willst, schreib mir gerne einen Kommentar.