MagicHue/MagicHome WiFI LED Controller

IP 10.10.123.103

Default Port: 5577

MAC: DC:4F:22:??:??:??

Hostname: ZENGGE-33-<last 6 digits of MAC)

Unclear: Does it support IPv6?

 

 

Initial pairing:

Connect to LED WLAN.

(example destination 10.10.123.3)

Send UDP Package to all 10.10.123.X:48899

1. SEND TEXT: "HF-A11ASSISTHREAD"

2. RECEIVE TEXT: "<ip>,<mac>,<model?>"

(example: 2. RECEIVE TEXT: "10.10.123.3,D8F15BABCDEF,AK001-ZJ2101" )

Send TCP to device:5577

3. SEND HEX: 81 8a 8b 96

4. RECEIVE HEX: 81 33 24 61 23 07 ff ff ff 00 08 00 f0 58

5. SEND HEX: 10 14 14 05 1c 11 37 28 04 00 0f dc

6. RECEIVE HEX: 81 33 24 61 23 07 ff ff ff 00 08 00 f0 58

 

Send UDP Package to device:48899

7. SEND TEXT: "HF-A11ASSISTHREAD"
8. SEND TEXT: "AT+Q"
9 SEND TEXT: "HF-A11ASSISTHREAD"

 

Device replies with

10. RECEIVE TEXT: "<ip>,<mac>,<model?>"
11. RECEIVE TEXT: "<ip>,<mac>,<model?>"

 

Send UDP Package to device:48899

12. SEND TEXT: "HF-A11ASSISTHREAD"
13. SEND TEXT: "HF-A11ASSISTHREAD"

14. RECEIVE TEXT: "<ip>,<mac>,<model?>"

12. SEND TEXT: "+ok"
13. SEND TEXT: "AT+MACID"

14. RECEIVE TEXT: "<ip>,<mac>,<model?>"

15. SEND TEXT: "AT+Q"
16. SEND TEXT: "AT+Q"

 

Send TCP to device:5577

17. SEND HEX: 81 8a 8b 96

18. RECEIVE HEX: 81 33 24 61 23 07 ff ff ff 00 08 00 f0 58

 

Send UDP Package to device:48899

19. SEND TEXT: "HF-A11ASSISTHREAD"
20. SEND TEXT: "HF-A11ASSISTHREAD"

21. RECEIVE TEXT: "<ip>,<mac>,<model?>"
22. RECEIVE TEXT: "<ip>,<mac>,<model?>"

23. SEND TEXT: "+ok"
24: SEND TEXT: "AT+WSSSID=<SSID>"

example: 24: SEND TEXT: "AT+WSSSID=wlanssid"

25. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+WSKEY=WPA2PSK,AES,<wlan password>"

example 26: SEND TEXT: "AT+WSKEY=WPA2PSK,AES,wlankey"

27. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+WMODE=STA"

27. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+SOCKB=TCP,8816,ra8816eu02.magichue.net"

27. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+Z"

27. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+Z"

27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+Z"

27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="
27. RECEIVE TEXT: "+ok="

26: SEND TEXT: "AT+Q"
26: SEND TEXT: "AT+Q"

Now the module is expected to be in the new wlan

 
Data structure:
  • 31 is the ID of the command
  • RR is red
  • GG is green
  • BB is blue
  • WW is white
  • XX is whether to use the white value or not
  • CC is the checksum

Booleans such as XX are represented as 0xf0 for True and 0x0f for False. There is no response.

Possible Commands:

  • 31: Colour
  • 61: Programme
  • 71: Enable/Disable

This command queries the state of the bulb:

818a8b96

It is possible to send multiple commands in one package. Checksum is per command, not per package. So just line them all up.

 

Checksum = byte1 + byte2 + byte3 + ... + byteN

If checksum > ff, use the last two digits.

Sources:

https://github.com/vikstrous/zengge-lightcontrol

https://raw.githubusercontent.com/ph4r/SmartThings-2/master/devicetypes/ledridge/wifi-370-led-strip-controller.src/wifi-370-led-strip-controller.groovy

https://www.schlaue-huette.de/lightmanager/air/howtos/ld382-led-controller-und-der-lightmanager-air/

 

Set up WLAN configuration (system must be in factory state):

Log into the LED WIFI

 

Remove WLAN configuration:

<todo>

Remove and add power 4 times (around 3-5 seconds break between each action)