TEIL 1 LED-Panel Spezifikationen und Allgemeine Informationen
Als wir 2016 unser Haus gebaut haben, habe ich für meinen Geschmack sehr schöne, von den Werten her, sehr gute und von den Kosten her, sehr effiziente LED-Panels direkt bei Alibaba aus China bestellt. Die Firma nennt sich Lumin Lighting und die Homepage der Firma findet ihr hier verlinkt: http://www.luminlighting.com/
Die Lampen nennen sich „Frameless LED Panel light“ und sie kommen mit einem TIGIDIGITAL LED Controller, der mit einer 2.4 GHz Fernbedienung gesteuert wird, und womit die Helligkeit, sowie die Farbtemperatur eingestellt werden können. Auf der Website findet ihr Datenblätter und auch Licht-Analysen als PDF zum Download.
Beim Kauf hoffte ich, dass das Milight-Protokoll für die Steuerung der LED-Panels verwendet würde, da sich die Fernbedienungen sehr ähneln. Leider erwies sich das als falsch. Somit war klar, dass ich das proprietäre Protokoll würde „reverse-engineeren“ müssen, wenn ich es in meinem Smart-Home nutzen wollen würde. Diese Beitragsreihe soll sich mit den Ergebnissen dieser Arbeit beschäftigen und die Steuerung allen Menschen zugänglich machen.
Nachdem es für mich nicht unbedingt trivial ist, ein 2.4 GHz Protokoll zu entschlüsseln, vor allem, weil ich sehr wenig Erfahrung im Umgang mit SDR-Hard- und Software habe, die Hardware für 2.4 GHz auch nicht so weit verbreitet ist, ich bisher auch wenig bis gar nichts mit Funk-Technologie zu tun hatte und schließlich auch nichts mit bitweisen Berechnungen, welche für die Entschlüsselung des Protokolls nötig waren, zu tun hatte, war es doch eine ziemliche Odysee, bis mich der Weg zum Erfolg führte.
Ich habe sogar im Jahr 2019 schon einmal begonnen und das Projekt nach tagelanger Analyse der Funkübertragungen mittels GNU Radio entnervt wieder aufgegeben, da ich zu keinem Ergebnis gekommen war. Jetzt weiß ich, dass damals nur ein ganz kleiner Irrtum den Erfolg verhindert hat. (1 Bit 😉
Somit habe ich die Panels bisher einfach nur mit Strom ein oder Strom aus via KNX-Schaltaktoren gesteuert, was prinzipiell ja funktioniert hat. Ich konnte jedoch die Vorteile des dynamischen Lichts (Helligkeit und Farbtemperatur) nicht automatisiert nutzen. Per Fernbedienung war es natürlich möglich.
Also habe ich mich dazu entschieden, nocheinmal loszulegen und diesmal war die Aktion mit Erfolg gekrönt.
Ich habe folgende Schritte durchgeführt, wodurch die Panels nun vollständig in meine Hausautomation integriert werden konnten:
- Analyse der Hardware
- Analyse der Funkübertragung
- Analyse des proprietären Protokolls
- Implementierung des Protokolls mittels eines Arduinos und eines RF24-Moduls (genannt TIGIDIGITALbridge)
- Schreiben der FHEM-Module für die TIGIDIGITALbridge („physisches“ Modul – steuert Arduino) und das TIGIDIGITALdevice („logisches“ Modul – repräsentiert ein LED-Panel, bzw. einen LED-Controller)
Aber beginnen wir am Anfang 😉
Spezifikationen der LED-Panels
Die Panels kommen mit folgenden Daten daher:
- 1200×300 Panels und 600×600 Panels:
- CCT 2700K-6500K
- 40w
- CRI>90
- UGR<19
- 75-80 lm/w
- 300×300 Panels:
- CCT 2700K-6500K
- 24W
- CRI>90
- UGR<19
- 75-80 lm/w .
Ich weiß nicht, ob die oberen Werte wirklich stimmen, denn im Datenblatt werden die Panels mit CRI>80 und UGR<22 geführt. Ich habe angefragt ob CRI>90 und UGR<19 möglich wären und erhielt positive Rückmeldung, ein bisschen weniger lm/w und weniger Gesamtleistung mit einem etwas höheren Preis. Vielleicht haben sie aber auch einfach das Standard-Panel verschickt, ich kann es nicht sagen.
So schauen sie montiert aus:
Mir gefällt dieses abgesetzte, schwebende und rahmenlose Design sehr gut und die Qualität des Lichts empfinde ich subjektiv als qualitativ hochwertig.
Hier noch die Kosten für die Panels:
1200×300 ~100$
600×600 ~80$
600×300 ~60$
300×300 ~ 50$
Lieferkosten für insgesamt 12 Stk.: ~150$
So sehen die Fernbedienungen dieser Panels aus:
TEIL 2 Github-Projekt mit all meinen Ergebnissen
Hier meine gesammelten Ergebnisse des TIGIDIGITAL-RF Reverse Engineering und ein Arduino Projekt, mit welchem ihr die LED-Controller mit einem nRF24 steuern könnt:
https://github.com/LichtiMC/TIGIDIGITAL-LED-Controller-RF-Protocol
Ich hab leider keine Zeit, dass ich alles schön beschreibe, was ich gemacht hab, außerdem ist es schon wieder so lange her, dass ich selber nicht mehr alles weiß. 🙄
Im Arduino-Code findet ihr ein paar Kommentare. Seid euch bewusst, dass ich als absoluter Laie da herumgedoktort habe, also keinen Expertencode erwarten bitte. 😊
Schaut euch auch unbedingt die geniale Arbeit von Henryk Plötz an:
https://hackaday.io/project/5888-reverse-engineering-the-milight-on-air-protocol
Ohne seine nRF24 Library, die den PL1167 emuliert, wäre (für mich) gar nichts gegangen!
Wirklich die einzige auffindbare Seite, die den TIGIDIGITAL LED Controller erwähnt, und dann fehlt der interessanteste Teil ;).
Ich wäre für jeden weiteren Hinweis und noch so unkommentierten Spaghetticode dankbar, um nicht selber irgendwo ein SDR ausgraben zu müssen.
Grüße
Jan
Hi Jan,
sorry, ich hab die Beiträge mangels „öffentlichem Interesse“ (dein Kommentar ist der erste in fast 2 Jahren) und Zeitgründen nicht weiterverfolgt. Wenn ich mal ein bisschen Luft habe, werde ich hier alles hochladen, was ich entwickelt hab, das läuft bei mir immerhin seither reibungslos.
lg David
Hi David,
ich stehe vor genau dem selben Problem und konnte meinen Augen nicht glauben, als ich auf deinen Post gestoßen bin.
Wollte auch bereits anfangen mit dem Flipper Zero + NRF24 Modul zu reverse engineeren.
Würde mich ebenfalls über alle noch so zusammengewürfelten Infos oder Code freuen!
Liebe Grüße
Markus
Ich hab jetzt mal einfach alles hochgeladen, was ich habe.
Liebe Grüße!
Hallo kommt da noch mehr 🙂
Weis jemand ob der Schalter hier passen würde? https://www.tigidigital.com/productinfo/25963.html
Ich hab jetzt mal einfach alles hochgeladen, was ich habe.
Liebe Grüße!
Hi, ich bin erstmal begeistert, dass jemand quasi das gleiche Problem schon vor mir hatte. Btw, die Sachen von longlife-led.de (steht auf meiner RF Fernbedienung) scheinen einfach ein Rebranding von lumin-lighting zu sein.
Kommt da noch was? Ein Link zu einer GitHub-repo mit etwas Spagetti-Code würde mir schon reichen. Einfach ein kleiner Anhaltspunkt für das Protokol wäre super, da ich absolut keine Erfahrung mit RF sniffing habe und dankbar wäre wenn ich diesen Schritt überspringen könnten 🙂
VG, Adrian
Ich hab jetzt mal einfach alles hochgeladen, was ich habe.
Liebe Grüße!