I use the LIFX bulbs for a light show using the lifxlan library (https://github.com/mclarkk/lifxlan).
Up until a week ago, everything was going well. The bulbs were very responsive. I could update all of them (11) within a small fraction of a second.
However, since the version 2.14 firmware came out, I’ve seen a critical difference in the performance. Sending a quick set of messages to a group of lights usually results in the latter messages being dropped. Delay of up to 0.5 seconds is needed to ensure delivery which destroys the light show.
Has anybody else seen this problem using the LAN protocol with firmware 2.14?
May I ask, how many messages are you sending / second ? Do the messages have response required flag or acknowledgement required flag set?
Here is the message (to one of the lights):
24 00 00 14 00 00 00 00 d0 73 d5 21 8e c5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 75 00 00 00 00 00 00 00 00 00
No required or acknowledgement flag.
I repeat each message 5 times to ensure delivery (default in lifxlan library).
I update a lights nearly simultaneously. I checked Wireshark and it seems like there can be 55 (5 messages/light x 11 lights) within a few tens of milliseconds.
This worked reliably until the last firmware update.
I am not familiar with lifxlan, are those messages broadcasted to all bulbs or are they directed at individual bulbs by ip?
We recommend not sending more than 20 messages / second to a bulb (see https://lan.developer.lifx.com/).
2.14 firmware will start discarding messages as soon as the bufferspace for incoming messages on the light gets scarce.
Good point. I checked and it was broadcasting all of the commands. After switching them to be delivered to individual bulbs by IP, I was able to get the lights to respond quickly.
I’m not sure why the latest firmware update affected this. Perhaps the number of commands was on the border before and the size of the buffer shrunk.
In any case, problem solved for the time being.