Simulated bulb not discovered by LIFX app

I wrote a virtual bulb program in Python that behaves like a real LIFX bulb, sending back all the right messages according to the documented LAN protocol. The idea was to get this virtual bulb to show up in the LIFX app.

When I tap discover new bulbs, the app seems to see the Device::StateService, Light::State, and other State-type messages from the virtual bulb, but then the app starts spamming the virtual bulb with recurring sequences of message types 51, 48, 54 that are addressed specifically to the virtual bulb’s fake MAC address. The app then says “No nearby bulbs found.”

My question is, given the information in the LAN protocol V2 documentation, is it possible to implement a virtualized device that can be recognized by the app, or is there not enough information? I just want to know whether I should bother trying to find bugs in my implementation, or whether I need to wait for additional protocol documentation. :smile:

I’m almost completely certain its not possible to implement a virtual bulb that the app would accept given the public documentation. At the moment not everything is documented, since there is no way respond to the app to let it know something is not implemented, and you can’t implement everything the application is going to assume that the packet has gone missing and will just keep trying. If the application can’t get all the information that it expects from the bulb then it will be forced to assume the bulb is not working properly.

The protocol documentation is not finished and we expect to continue evolving it over time to include more and more. Eventually you might be able to implement this virtual bulb, but alas, not now.