OpenKNX Funktionsmodul zur Integration von Philips Hue Geräten in KNX-Systeme.
🧪 Beta-Kandidat - Version 0.2.x
- RGB/Farbtemperatur-Funktionen hängen von den Fähigkeiten der gewählten Hue-Leuchte ab.
- Der Polling-Fallback ist funktional, liefert aber keine Echtzeit-Updates wie der Event-Stream.
- Die Stabilität hängt von einem korrekt funktionierenden lokalen Netzwerk (mDNS/HTTP) ab.
- Automatische Hue Bridge Discovery (mDNS)
- Button-Press Authentifizierung
- Lampen & LED Stripes
- Schalten (Ein/Aus)
- Dimmen (0-100%)
- Farbtemperatur (2000-6500K)
- RGB Farben
- Bidirektionale Status-Updates (Event Stream)
- ETS-Konfiguration
git clone https://github.com/estebanri87/OFM-HueGatewayModule
cd OFM-HueGatewayModule
pio runSyncDirsteuert die Datenrichtung pro Kanal:0= nur KNX → Hue1= nur Hue → KNX2= bidirektional
PollIntervalgilt pro Kanal für Hue → KNX Status-Übernahme:0= deaktiviert (kein Polling auf diesem Kanal)>0= Pollingintervall in Sekunden
MinBrightnesswird bei KNX → Hue Helligkeitswerten erzwungen (Switch-On, absolut, relativ), solange der Wert > 0 ist.
- Vorbereitung
- Einen Hue-Kanal aktivieren und einer realen Leuchte zuordnen (UUID gesetzt).
- Für den Test dieselbe Leuchte in der Hue App sichtbar lassen.
SyncDir = 0(nur KNX → Hue)
- ETS senden: Schalten, Helligkeit, Dimmen.
- Erwartung: Leuchte reagiert in Hue.
- Änderung in Hue App (manuell):
- Erwartung: keine Status-Rückmeldung nach KNX (Status-KOs bleiben unverändert).
SyncDir = 1(nur Hue → KNX)
- ETS senden: Schalten/Helligkeit.
- Erwartung: wird ignoriert (keine Änderung an der Leuchte).
- Änderung in Hue App (manuell):
- Erwartung: Status-KOs werden gemäß
PollIntervalaktualisiert.
SyncDir = 2(bidirektional)
- ETS und Hue App abwechselnd verwenden.
- Erwartung: beide Richtungen funktionieren.
PollInterval
PollInterval = 0:- Erwartung: Hue → KNX Polling für diesen Kanal deaktiviert.
PollInterval = 5:- Erwartung: Hue-seitige Änderungen erscheinen innerhalb von ca. 5-10s in KNX.
MinBrightness
MinBrightness = 30setzen.- ETS Helligkeit auf 1..29% senden.
- Erwartung: Leuchte fährt mindestens auf ~30%.
- ETS Helligkeit = 0%:
- Erwartung: Leuchte AUS (MinBrightness greift nicht bei AUS).
- Das Modul prüft Hue→KNX in 1s-Ticks, damit auch kleine
PollInterval-Werte korrekt aufgelöst werden. - Der Abruf von
/clip/v2/resource/lighterfolgt nur, wenn mindestens ein Kanal wirklich fällig ist. - Damit sinkt unnötige Last auf der Hue Bridge bei deaktivierten oder langen Kanal-Intervallen.
Commissioning: Discovery start
Start der Bridge-Suche.Using saved IP: ...+Reachability check passed
Gespeicherte Bridge-IP ist gültig und erreichbar.No Hue Bridge found via mDNS+Falling back to N-UPnP
mDNS erfolglos, Cloud-Discovery wird versucht.N-UPnP HTTP begin failed (TLS/connection)
TLS/Netzwerkproblem beim Discovery-Endpunkt.Commissioning: Discovery failed
Keine Bridge gefunden.
No stored App-Key found, entering pairing workflow
Erstinbetriebnahme / kein Key in NVS.Awaiting Hue Bridge link button...
Modul wartet auf Button an der Hue Bridge.Pairing attempt at t=... (remaining=...)
Zyklische Pairing-Versuche laufen.Bridge reports button not pressed yet (error 101)
Erwartetes Verhalten, Button noch nicht gedrückt.Authentication successful
App-Key wurde akzeptiert.Authentication timeout after ...
Pairingfenster abgelaufen.
EventStream initial start: ok
Echtzeit-Events aktiv.EventStream initial start: failed (fallback polling active)
EventStream fehlgeschlagen, Polling übernimmt.Polling fallback active (EventStream disconnected)
Fallback aktiv.EventStream active, polling fallback suspended
EventStream wieder aktiv, Polling-Fallback aus.Event applied -> channel ...
Hue-Event wurde auf KNX-Kanal gemappt und verarbeitet.
- Discovery scheitert sofort: Netzwerk/IP/Gateway prüfen.
- Pairing läuft, aber kein Erfolg: Bridge-Button innerhalb Fenster drücken.
- Auth erfolgreich, aber keine Updates:
SyncDir, Kanal-UUID und Event-/Polling-Logs prüfen.
- Firmware starten und auf Log warten:
Commissioning: Bridge setup start. - Prüfen, ob Discovery erfolgreich war (
Using saved IPoderFound via mDNS/N-UPnP). - Falls kein Key vorhanden: auf
Awaiting Hue Bridge link button...achten und Bridge-Button drücken. - Erfolg prüfen:
Authentication successfulund danachHueGatewayClient ready. - Laufmodus prüfen:
- bevorzugt
EventStream initial start: ok - alternativ
fallback polling active(funktional, aber nicht Echtzeit)
- End-to-End prüfen: Hue App ändern und auf
Event applied -> channel ...bzw. Polling-Update im Log achten.
GPL-3.0 (wie alle OpenKNX Module)
- OpenKNX: https://openknx.de
- Hue API: https://developers.meethue.com/develop/hue-api-v2/