Dieses Projekt ermöglicht es, Szenen des IKEA Dirigera Hubs lokal und ohne Cloud-Abhängigkeit (wie Alexa oder SmartThings) direkt über das Elgato Stream Deck zu steuern.
Es generiert automatisch fertige Windows-Verknüpfungen (.lnk), die vom Stream Deck nativ und fehlerfrei als Programme akzeptiert werden.
- Ein Windows-PC oder Mac mit installiertem Python 3.x
- Die Elgato Stream Deck Software
- Ein IKEA Dirigera Hub im selben lokalen Netzwerk wie der PC
- Lade dir dieses Projekt in einen Ordner deiner Wahl herunter.
- Füge der Datei
requirements.txtdas Modulpywin32hinzu, falls du Windows nutzt. Sie sollte so aussehen:dirigera python-dotenv pywin32 - Öffne die Windows-Eingabeaufforderung (CMD) oder das Terminal in genau diesem Ordner.
- Installiere die benötigten Python-Bibliotheken mit folgendem Befehl:
pip install -r requirements.txt
---
## ⚙️ Schritt 1: Token erzeugen und Hub verknüpfen
Damit deine Skripte den Hub steuern dürfen, müssen sie sich authentifizieren. Dafür benötigst du die IP-Adresse deines Hubs und musst einen sogenannten **Token** (einen digitalen Schlüssel) generieren.
1. **IP-Adresse finden:** Öffne die IKEA Home smart App auf deinem Handy. Gehe auf das Profil/Zahnrad-Symbol -> *Hub-Einstellungen* und notiere dir die angezeigte IP-Adresse (z.B. `192.168.178.50`).
2. **Token generieren:** Das installierte `dirigera` Paket bringt ein eingebautes Werkzeug dafür mit. Tippe im Terminal folgenden Befehl ein (ersetze die IP mit deiner!):
```bash
generate-token 192.168.178.50
-
Hub bestätigen: Auf dem Bildschirm erscheint nun die Aufforderung, den physischen Aktions-Knopf an deinem IKEA Dirigera Hub (die kleine Taste am Gerät) zu drücken.
-
Token speichern: Sobald du den Knopf gedrückt hast, spuckt das Terminal eine lange Zeichenkette aus. Das ist dein Token.
-
Die
.envDatei anlegen: Erstelle in deinem Projektordner eine neue Datei namens.env(ohne Dateiendung) und trage deine Daten so ein:DIRIGERA_IP=192.168.178.50 DIRIGERA_TOKEN=dein_langer_generierter_token_hier
Da das Stream Deck keine direkten Argumente an Python-Skripte übergeben kann, nutzen wir ein Generator-Skript. Dieses erstellt für jede deiner IKEA-Szenen vollautomatisch eine klickbare Verknüpfung.
Führe dieses Skript in deinem Terminal aus:
python generate_streamdeck_scripts.pyWas dieses Skript macht:
- Es verbindet sich mit deinem Hub und lädt alle deine erstellten Szenen herunter.
- Es erstellt (oder leert) automatisch einen Ordner namens
streamdeck_scriptsin deinem Projektverzeichnis. - Es generiert für jede Szene eine saubere
.lnkWindows-Verknüpfung (bzw..shfür Mac). Diese Verknüpfungen enthalten bereits den perfekten Code, um stumm im Hintergrund (pythonw.exe) ausgeführt zu werden, ohne dass ein störendes Konsolenfenster aufblitzt.
Das ist der einfachste Teil, da das Stream Deck .lnk Dateien nativ unterstützt:
- Öffne die Stream Deck Software.
- Ziehe aus der rechten Seitenleiste unter der Kategorie System die Aktion Öffnen auf eine leere Taste.
- Klicke bei der Aktion auf den Button mit den drei Punkten (
...). - Navigiere in deinen neuen Ordner
streamdeck_scriptsund wähle einfach die.lnkDatei für die gewünschte Szene aus (z.B.Gaming_Licht.lnk).
Fertig! Ein Knopfdruck auf dem Stream Deck aktiviert nun verzögerungsfrei deine IKEA-Szene. Wenn du in der IKEA App neue Szenen hinzufügst, führe einfach Schritt 2 erneut aus.