Magic Home Controller – Steuerung
Ermöglicht die Ansteuerung von WiFi LED Controllern der Firma Magic Home.

1. Funktionsumfang
Das Modul dient zur Ansteuerung von LED Stripes mittels eines WiFi LED Controllers des Herstellers Magic Home.
- Ein- und Ausschalten des Controllers
- Einstellen von Farbe, Helligkeit und Geschwindigkeit
- Auswahl von vordefinierten Mustern bzw. Effekten (abhängig vom Controller-Typ)
- Auslesen des aktuellen Controller-Zustands (Synchronisieren)
- Steuerung über die Statusvariablen oder eine eigene Kachel (TileVisu)
Folgende Controller werden unterstützt (Typ = Kennung des Controllers, wie sie auch die Gerätesuche anzeigt):
| Typ | Bezeichnung | Effekte | Helligkeit im Effekt |
|---|---|---|---|
| 0x01 | Original LEDENET | Voreingestellt | – |
| 0x04 | UFO LED WiFi Controller | Voreingestellt | – |
| 0x06 | RGBW Controller | Voreingestellt | ✓ |
| 0x07 | RGBCW Controller | Voreingestellt | ✓ |
| 0x08 | RGB Controller with MIC | Voreingestellt | ✓ |
| 0x09 | CCT Ceiling Light | Voreingestellt | – |
| 0x0B | Smart Switch 1c | – (Schalter) | – |
| 0x0E | Floor Lamp | Voreingestellt | – |
| 0x10 | Christmas Light | Voreingestellt | – |
| 0x16 | Magnetic Light CCT | Voreingestellt | – |
| 0x17 | Magnetic Light Dimable | Voreingestellt | – |
| 0x18 | Plant Light | Voreingestellt | – |
| 0x19 | Smart Socket 2 USB | – (Schalter) | – |
| 0x1A | Christmas Light | Voreingestellt | – |
| 0x1B | Spray Light | Voreingestellt | – |
| 0x1C | Table Light CCT | Voreingestellt | – |
| 0x21 | Smart Bulb Dimmable | Voreingestellt | – |
| 0x25 | RGB/WW/CW Controller | Voreingestellt | – |
| 0x33 | RGB Controller | Voreingestellt | – |
| 0x35 | Smart Bulb RGBCW | Voreingestellt | – |
| 0x41 | Single Channel Controller | Voreingestellt | – |
| 0x44 | Smart Bulb RGBW | Voreingestellt | – |
| 0x45 | Unbekanntes Modell | Voreingestellt | – |
| 0x52 | Smart Bulb CCT | Voreingestellt | – |
| 0x54 | Downlight RGBW | Voreingestellt | – |
| 0x62 | CCT Controller | Voreingestellt | – |
| 0x81 | Unbekanntes Modell | Voreingestellt | – |
| 0x93 | Smart Switch 1C | – (Schalter) | – |
| 0x94 | Smart Switch 1c Watt | – (Schalter) | – |
| 0x95 | Smart Switch 2c | – (Schalter) | – |
| 0x96 | Smart Switch 4c | – (Schalter) | – |
| 0x97 | Smart Socket 1c | – (Schalter) | – |
| 0xA1 | RGB Symphony v1 | Original | – |
| 0xA2 | RGB Symphony v2 | Adressierbar | ✓ |
| 0xA3 | RGB Symphony v3 | Adressierbar | ✓ |
| 0xD1 | Digital Light | Voreingestellt | – |
| 0xE1 | Ceiling Light | Voreingestellt | – |
| 0xE2 | Ceiling Light Assist | Voreingestellt | – |
Effekte: Umfang der auswählbaren Muster bzw. Effekte (siehe Darstellungen
).
Helligkeit im Effekt: Nur bei diesen Controllern kann die Helligkeit auch während eines Effekts eingestellt werden.
Erfolgreiche Tests wurden mit den Controllern ‘RGB Controller’, ‘RGB Symphony v1’ und ‘RGB Symphony v2’ durchgeführt. Weiterführende Möglichkeiten und Funktionen wie Warmweiß, Music usw. konnten aus Mangel an Hardware noch nicht implementiert werden. Bei den ‘Original’-Effekten wird nur eine Auswahl der 300 möglichen Modi unterstützt.
2. Voraussetzungen
- Symcon ab Version 8.1
3. Installation
- Über den Modul Store die Bibliothek Magic Home Controller installieren.
- Alternativ über das Modul Control folgende URL hinzufügen.
https://github.com/Wilkware/MagicHomeControllerodergit://github.com/Wilkware/MagicHomeController.git
4. Einrichtung
- Unter ‘Instanz hinzufügen’ ist das Magic Home Controller-Modul (Alias: LED Wifi Controller, LED Strips Controller) unter dem Hersteller ‘Magic Home’ aufgeführt.
- Alternativ können Instanzen bequem über die Magic Home Discovery (Gerätesuche) angelegt werden.
Konfigurationsseite:
Die Konfiguration beinhaltet die Anzeige der Geräteinformationen (IP-Adresse usw.) und die Auswahl der Farbkanal-Reihenfolge (RGB-Pins).
Die Reihenfolge der Pins beginnt immer ausgehend vom GND-Pin (12V Pin).
Einstellungsbereich:
📟 Geräteinformationen …
| Name | Beschreibung |
|---|---|
| Controller-Typ | Typbezeichnung des Controllers |
| Controller-Modell | Modellbezeichnung des Controllers |
| Controller-IP | IP-Adresse des Controllers im lokalen WLAN (z.B. 192.168.0.10) |
| Controller-ID | ID des Controllers (MAC-Adresse des Controllers) |
⚙️ Erweiterte Einstellungen …
| Name | Beschreibung |
|---|---|
| RGB Pin Belegung | Reihenfolge der Farb-Kanäle (Pins), Standard ist RGB |
Aktionsbereich:
🧪 Test …
| Aktion | Beschreibung |
|---|---|
| Ein / Aus | Ein- bzw. Ausschalten des Controllers |
| Synchronisieren | Auslesen des internen Controller-Setups und Abgleich der betroffenen Statusvariablen |
| Modus | Auswahl des Modus (manuell oder Muster/Effekt) |
| Farbe | Einstellen des Farbwertes |
| Helligkeit | Einstellen der Helligkeit |
| Geschwindigkeit | Einstellen der Geschwindigkeit des Musters bzw. Effekts |
5. Statusvariablen
Die Statusvariablen werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.
| Ident | Name | Typ | Beschreibung |
|---|---|---|---|
| Power | Aktiv | Boolean | Ein- bzw. Ausschalten des Controllers |
| Color | Farbe | Integer | Farbwert |
| Speed | Geschwindigkeit | Integer | Geschwindigkeit des Musters bzw. Effekts |
| Brightness | Helligkeit | Integer | Helligkeitswert |
| Mode | Modus | Integer | Manueller Farbmodus oder vordefinierter Funktionsmodus (Muster/Effekte) |
6. Darstellungen
Die Darstellungen werden direkt an den Statusvariablen hinterlegt, es werden keine Profile angelegt.
| Variable | Darstellung | Werte |
|---|---|---|
| Aktiv | Schalter | An / Aus |
| Farbe | Farbe | Farbwert (RGB) |
| Geschwindigkeit | Schieberegler | 0 – 100 % (Schrittweite 1) |
| Helligkeit | Schieberegler | 0 – 100 % (Schrittweite 1) |
| Modus | Aufzählung | abhängig vom Controller-Typ (siehe unten) |
Die Werte der Variable ‘Modus’ richten sich nach dem Controller-Typ:
| Muster | Werte |
|---|---|
| Voreingestellt | Manuell (0), 20 voreingestellte Muster (37 – 56) |
| Original | Manuell (0), 125 ausgewählte Effekte (1 – 300) |
| Adressierbar | Manuell (0), 103 Effekte (1 – 102, 255) |
7. Visualisierung
Man kann sowohl das gesamte Modul (HTML-SDK Support) als auch nur die Statusvariablen direkt in der Visualisierung verlinken.
Die Kachel ist an die Standard-Kacheln (z.B. Klimasteuerung) angelehnt und bündelt alle Funktionen des Controllers:
| Element | Beschreibung |
|---|---|
| Bogenregler | Helligkeit 0 – 100 % (im Effektmodus nur bei dimmbaren Effekten) bzw. Geschwindigkeit |
| Ein/Aus | Schaltet den Controller ein bzw. aus (Mitte des Bogenreglers) |
| Farbrad | Farbauswahl, die Mitte öffnet zusätzlich den Farbwähler (nur im Modus ‘Manuell’) |
| Helligkeit | Zeigt den Bogenregler für die Helligkeit |
| Farbe/Geschwindigkeit | Zeigt das Farbrad (manuell) bzw. den Bogenregler für die Geschwindigkeit (Effekt) |
| Modus | Auswahl zwischen manuellem Farbmodus und vordefinierten Mustern/Effekten |
| Synchronisieren | Liest den aktuellen Zustand des Controllers aus |
Ist der Controller nicht erreichbar, wird dies in der Kachel angezeigt und die Regler sind gesperrt.
8. Befehlsreferenz
void MHC_SetBrightness(int $instanzID, int $brightness);
Setzt die Helligkeit auf $brightness. Die Funktion liefert keinerlei Rückgabewert.
void MHC_SetColor(int $instanzID, int $color);
Setzt den Farbwert auf $color. Die Funktion liefert keinerlei Rückgabewert.
void MHC_SetMode(int $instanzID, int $mode);
Setzt den Anzeigemodus auf $mode. Die Funktion liefert keinerlei Rückgabewert.
void MHC_SetPower(int $instanzID, bool $power);
Schaltet den Controller ein (true) bzw. aus (false). Die Funktion liefert keinerlei Rückgabewert.
void MHC_SetSpeed(int $instanzID, int $speed);
Setzt die Geschwindigkeit auf $speed. Die Funktion liefert keinerlei Rückgabewert.
9. Versionshistorie
v4.0.20261021
- NEU: Kompatibilität auf Symcon 8.1 hoch gesetzt
- NEU: Umstellung auf Darstellungen (keine Profile mehr)
- NEU: Kachel-Visualisierung (TileVisu)
- NEU: Testfunktionen im Aktionsbereich der Konfiguration
- NEU: Statusmeldungen für nicht erreichbaren Controller und unbekannten Controller-Typ
- FIX: Synchronisation von Farbe und Helligkeit korrigiert (u.a. Pinbelegung)
- FIX: Erkennung von Schaltern und Steckdosen beim Synchronisieren
- FIX: Übersetzung der Modi bleibt nach dem Übernehmen erhalten
- FIX: Werte werden bei fehlgeschlagener Übertragung zurückgesetzt
- FIX: Konfigurationsformular vereinheitlicht
- FIX: Interne Bibliotheken überarbeitet
- FIX: Dokumentation überarbeitet
v3.0.20221231
- NEU: Discovery Modul hinzugefügt
- NEU: Erkennen von 27 verschiedene Controllern
- NEU: Neues Profilehandling für Effekte (Mode)
- NEU: Auslesen des aktuellen Controller-Setups (Sync)
- NEU: Kompatibilität auf IPS 6.4 hoch gesetzt
- FIX: Pinbelegung der Farbkanäle erweitert und systemweit angewendet
- FIX: Controller Modul umbenannt
v2.0.20210701
- NEU: Konfigurationsformular vereinheitlicht
- FIX: Berechnung der Geschwindigkeit bei Programmen
- FIX: Code optimiert und Übersetzungen nachgezogen
- FIX: Interne Bibliotheken überarbeitet und vereinheitlicht
- FIX: Debug Meldungen überarbeitet
- FIX: Dokumentation überarbeitet
v1.2.20190812
- NEU: Anpassungen für Module Store
- NEU: Vereinheitlichungen, Umstellung auf Libs
- FIX: Fehler in Profilen korrigiert
v1.1.20190225
- NEU: Umbenennungen, Vereinheitlichungen, StyleCI uvm.
v1.0.20180415
- NEU: Initialversion
Danksagung
Ich möchte mich für die Unterstützung bei der Entwicklung dieses Moduls bedanken bei …
- @Spoosie : Für die Basisarbeit in seinem Modul (KH_LEDWiFiController)
- @Thorsten79 : Für die Unterstützung und Bereitstellung der 2 Controller (‘RGB Symphony v1’ & ‘RGB Symphony v2’)
- @Brutus, @lcnrookie und @uwer : Für die Unterstützung als Tester
Vielen Dank für die hervorragende und tolle Arbeit!
Entwickler
Seit nunmehr über 10 Jahren fasziniert mich das Thema Haussteuerung. In den letzten Jahren betätige ich mich auch intensiv in der Symcon Community und steuere dort verschiedenste Skript und Module bei. Ihr findet mich dort unter dem Namen @pitti ;-)
Spenden
Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.
Lizenz
Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International