Continuing the discussion from Building a LIFX packet:
The protocol documentation includes a section on workflows including how to do discovery. Essentially it works like this:
- Send a Device::GetService packet to the broadcast address (
255.255.255.255) on port 56700
- Each bulb will respond with a list of service they support as a Device::StateService message. The only service currently documented is
UDPwhich has its
typefield set to 1.
- When your application receives one of these messages it should store the sender address and the service port internally. This will constitute the list of LIFX devices that you have found.