Thank you for this! I was wondering how I could control one of these without the app and was curious how the bulb communicated with the phone. I’m glad I checked to see if someone had an article on this.
Using bleak (https://github.com/hbldh/bleak), a bluetooth 4.0 adapter, Windows 10, and Python I can now change the color of the bulb from my desktop. I even wrote a small program that syncs with f.lux to match the bulb’s RGB color to my monitor’s color temperature. I adapted an algorithm someone else came up with to convert the monitor temperature to RGB (http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/). And then converted that to hex and sent that over bluetooth to the RGB characteristic.
This is possible due to an option in f.lux that will send an html POST containing the monitor color temperature and brightness to a URL. I just used python’s http.server and wrote the output of that to a file for the program to read.
tl;dr: this article helped me make a smart LED bulb sync with f.lux to match my monitor’s color temperature.