python-limitlessled icon indicating copy to clipboard operation
python-limitlessled copied to clipboard

Support for LS2 RGB-CCT led strip controller

Open mvanveen82 opened this issue 7 years ago • 1 comments

Recently I installed a RGB CCT ledstrip over the full length of my living room. The dream is to use an Amazon echo dot with a harmony hub so I can start a movie activity by voice and the tv, receiver, firetv are all turned on, as well as the led strip. I'm trying to control the ledstrip with Home Assistant through the build-in python-limitlessled library. But can't get it to work. After lots of browsing I found out the LS2 controller I'm using talks a different protocol.

My hardware:

  • Milight LS2 ledstrip controller
  • Milight FUT089 remote
  • Milight iBox 2 wifi bridge
  • Raspberry Pi 3B

I found a Java bridge emulator with which I can log the traffic between the app and the bridge. Hopefully you guys can use this to update the library with support for the new milight components.

Traffic log between app and bridge

On Zone 1
22 Bytes From App (192.168.2.8) Tue Jan 02 18:39:12 CET 2018
80 00 00 00 11 B9 01 00 12 00 31 00 00 0A 06 01 00 00 00 01 00 43 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:39:12 CET 2018
88 00 00 00 03 00 12 00 

Off Zone 1
22 Bytes From App (192.168.2.8) Tue Jan 02 18:39:53 CET 2018
80 00 00 00 11 B9 01 00 15 00 31 00 00 0A 06 02 00 00 00 01 00 44 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:39:53 CET 2018
88 00 00 00 03 00 15 00 

On Zone 2
22 Bytes From App (192.168.2.8) Tue Jan 02 18:41:02 CET 2018
80 00 00 00 11 B9 01 00 17 00 31 00 00 0A 06 01 00 00 00 02 00 44 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:41:02 CET 2018
88 00 00 00 03 00 17 00 

Off Zone 2
22 Bytes From App (192.168.2.8) Tue Jan 02 18:41:42 CET 2018
80 00 00 00 11 B9 01 00 18 00 31 00 00 0A 06 02 00 00 00 02 00 45 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:41:42 CET 2018
88 00 00 00 03 00 18 00 

On Zone All
22 Bytes From App (192.168.2.8) Tue Jan 02 18:42:57 CET 2018
80 00 00 00 11 B9 01 00 1B 00 31 00 00 0A 06 01 00 00 00 00 00 42 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:42:57 CET 2018
88 00 00 00 03 00 1B 00 

Off Zone All
22 Bytes From App (192.168.2.8) Tue Jan 02 18:43:10 CET 2018
80 00 00 00 11 B9 01 00 1C 00 31 00 00 0A 06 02 00 00 00 00 00 43 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:43:10 CET 2018
88 00 00 00 03 00 1C 00 

Keep alive (every 10s)
7 Bytes From App (192.168.2.8) Tue Jan 02 18:44:18 CET 2018
D0 00 00 00 02 B9 01 

12 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:44:18 CET 2018
D8 00 00 00 07 AC CF 23 F5 7A D4 01 

Change color Blue Zone 1
22 Bytes From App (192.168.2.8) Tue Jan 02 18:45:41 CET 2018
80 00 00 00 11 B9 01 00 20 00 31 00 00 0A 01 AB AB AB AB 01 00 E9 

22 Bytes From App (192.168.2.8) Tue Jan 02 18:45:41 CET 2018
80 00 00 00 11 B9 01 00 21 00 31 00 00 0A 01 AB AB AB AB 01 00 E9 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:45:42 CET 2018
88 00 00 00 03 00 20 00 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:45:42 CET 2018
88 00 00 00 03 00 21 00 

Change color Red Zone 1
22 Bytes From App (192.168.2.8) Tue Jan 02 18:46:20 CET 2018
80 00 00 00 11 B9 01 00 22 00 31 00 00 0A 01 FD FD FD FD 01 00 31 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:46:20 CET 2018
88 00 00 00 03 00 22 00 

22 Bytes From App (192.168.2.8) Tue Jan 02 18:46:21 CET 2018
80 00 00 00 11 B9 01 00 23 00 31 00 00 0A 01 FD FD FD FD 01 00 31 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:46:21 CET 2018
88 00 00 00 03 00 23 00 

Change Saturation Zone 1 full warm
22 Bytes From App (192.168.2.8) Tue Jan 02 18:48:01 CET 2018
80 00 00 00 11 B9 01 00 24 00 31 00 00 0A 03 00 00 00 00 01 00 3F 

22 Bytes From App (192.168.2.8) Tue Jan 02 18:48:01 CET 2018
80 00 00 00 11 B9 01 00 25 00 31 00 00 0A 03 00 00 00 00 01 00 3F 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:48:01 CET 2018
88 00 00 00 03 00 24 00 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:48:01 CET 2018
88 00 00 00 03 00 25 00 

Change Saturation Zone 1 full bright
22 Bytes From App (192.168.2.8) Tue Jan 02 18:48:34 CET 2018
80 00 00 00 11 B9 01 00 26 00 31 00 00 0A 03 60 00 00 00 01 00 9F 

22 Bytes From App (192.168.2.8) Tue Jan 02 18:48:34 CET 2018
80 00 00 00 11 B9 01 00 27 00 31 00 00 0A 03 60 00 00 00 01 00 9F 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:48:34 CET 2018
88 00 00 00 03 00 26 00 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:48:34 CET 2018
88 00 00 00 03 00 27 00 

Change Brightness Zone 1 least bright
22 Bytes From App (192.168.2.8) Tue Jan 02 18:49:37 CET 2018
80 00 00 00 11 B9 01 00 28 00 31 00 00 0A 04 01 00 00 00 01 00 41 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:49:37 CET 2018
88 00 00 00 03 00 28 00 

22 Bytes From App (192.168.2.8) Tue Jan 02 18:49:37 CET 2018
80 00 00 00 11 B9 01 00 29 00 31 00 00 0A 04 01 00 00 00 01 00 41 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:49:38 CET 2018
88 00 00 00 03 00 29 00 

Change Brightness Zone 1 most bright
22 Bytes From App (192.168.2.8) Tue Jan 02 18:50:04 CET 2018
80 00 00 00 11 B9 01 00 2A 00 31 00 00 0A 04 61 00 00 00 01 00 A1 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:50:04 CET 2018
88 00 00 00 03 00 2A 00 

22 Bytes From App (192.168.2.8) Tue Jan 02 18:50:04 CET 2018
80 00 00 00 11 B9 01 00 2B 00 31 00 00 0A 04 61 00 00 00 01 00 A1 

8 Bytes From Bridge (192.168.2.21) Tue Jan 02 18:50:04 CET 2018
88 00 00 00 03 00 2B 00 

mvanveen82 avatar Jan 02 '18 18:01 mvanveen82

Found out the node library node-milight-promise has support for the LS2 and other 8 zone equipment. See this javascript implementation look for RgbFullColor8ZoneCommand.

Tested it with on a raspberry pi with good results. But no integration with Home Assistant. Would be really nice if support could be added to this library

mvanveen82 avatar Jan 02 '18 19:01 mvanveen82