Undocumented LAN messages

I’m working on a suite of tools and APIs for LIFX in Golang, found here: https://github.com/golifx

Emulifx works by emulating an actual LIFX device on the network for testing purposes and the like. Upon listening on and opening the LIFX Android app, the emulated device does show up, but is not claimed (to be expected). Once I try to claim it, however, it fails. I noticed on the network that there’s some messages being sent from actual LIFX devices on the LAN that aren’t documented.

I found this resource: https://github.com/magicmonkey/lifxjs/blob/master/Protocol.md, a reverse engineering of the LAN protocol and additional messages that remain undocumented. However, as stated in the project’s README, it could be inaccurate or simply wrong in some places, and it’s also not completely updated for the newer versions. I’m wondering if there’s any plans on documenting all of these, as it would be immensely helpful for implementing devices that are fully compatible with the protocol.

There are plans for documenting more messages, but not all. In particular we don’t want to encourage people to write device emulators, and the future releases will be targeted more at controlling our devices, than building your own devices.

I understand that this is not what you want to hear, but unfortunately thats the way it is.

Yeah, I understand completely. My goal was to be able to control my LED bias light strip from the LIFX app on my Android. I did get it to work (mostly) by implementing ownership getting/setting/stating, but that doesn’t allow cloud connectivity and the like, which I’m fine with. I suppose a third-party Android app would have to deal with supporting both LIFX devices and custom ones like my LED lights, and I know there’s a million apps like that, so no problem there (I just like LIFX’s Android app so much that I want to be able to control everything from there, but it’s not something I expect to be officially supported/documented).

Anyway, thanks for the response. Loving my 3 Color 1000’s :slight_smile:

Edit: In case you’re looking for suggestions, I think docs for setting color via RGBW would be nice, along with a possible duration value.

@bionicrm FYI, I already have a package called golifx :confused:

Ah, I see. I can do a quick rename to avoid future confusion.

Yeah, that’s all I was concerned about.