I’ve been interested in the Milight LED lighting system for sometime now. Its a chinese based system that also goes under another couple of names (limitless LED and Easy Bulb). Its cheap and offers a huge range of devices from white and RGB bulbs of various kinds to LED strip controllers, and a myriad of different types of remote controls.
The main issue people have with the system is that its controller or gateway, called the WiFi Box, only supports 4 channels. You can have a huge number of bulbs connected to a channel, but one 4 distinct channels. In reality this isn’t very helpful.
The easiest way to solve this is to use multiple WiFi Boxes, however these are around £20 a pop, so its not a very cost efficient solution.
A number of very clever people on the Internet have been reverse engineering the Milight protocols since the system came to market. This is quite a convoluted process as the protocol itself isn’t very well defined and changes constantly as they release new kit. This isn’t like Philips Hue, where standards are set and they keep to them, this is the cheap-Chinese wild-west of hardware design!
Anyway, I’ve tried a couple of projects that use the reverse-engineered protocol to create gateways that can talk to multiple bulbs, however up to this point I’ve not had a great deal of success.
A little while back I cam across a project by a guy called Chris Mullins. His Milight controller runs on cheap NodeMCU hardware, has some really cool features and more importantly, the project is very actively developed. At the time I was having some issues with it talking to some of the newer LED strip controllers, and due to time constraints I put the whole thing on the back burner.
I picked up the project again last week and immediately updated my NodeMCU gateway to the latest version 1.6.3. I was pleasantly surprised to find that the previous issues I had been having had since been resolved and I could control all of my LED strips perfectly!
Chris’s controller has some really useful features. Firstly it has its own REST API / control interface mechanism that totally blows away the 4 channel limit from the original gateways. Its relatively straight forward to build your own interface to use the API from your HA controller of choice if you have the coding ability.
Secondly, for those of us who aren’t the best of coders, Chris’s system can also emulate an unlimited number of WiFi Box gateways. This means that you can still get around the 4 channel limit and that you can have immediate compatibility wit your existing HA controller (if it has a built in Milight option or a plugin, in my scenario this is Domoticz). Each emulated gateway runs on a separate port, so when you add it to your controller you just use add each gateway with its associated port.
Last thing to mention, Chris is a really helpful guy and was very responsive to my support requests via his Github page.
The controller also offers some other cool features which I will cover in later post.