LIFX Developer Zone

Slow LAN Protocol Response time Gen 4

Hi there,

I am working on a project that aims to control 20 LIFX lights to produce various effects, as you can imagine changing colors, brightness, etc.

I went out and bought 16 bulbs and randomly I have one Gen 4 A19 bulb in the bunch, while the rest are Gen 3 A19 bulbs. It behaves differently than the other bulbs. Specifically, it is slower to respond by about a second for the first few commands. I have noticed this with the LIFX app too, turning all bulbs on/off, the Gen 4 lags.

Also, in my project I am not broadcasting, I am sending individual UDP packets to each light. All 16 messages complete in about 6ms or so. All the lights, save the Gen 4 instantly come on, and about a second later the Gen 4 pops on.

What is interesting though, is IF I continually stream commands to the Gen 4 - it will speed up and largely perform as the Gen 3s do. It is almost like it goes to sleep or something. It seems after 3 seconds of now commands, the Gen 4s reaction time slows. If I keep sending a packet ever 500ms, generally it seems to keep up with the Gen 3s.

  1. Am I crazy? Do I have a bad Gen 4 bulb?
  2. Is there something I can do to solve this other than a “keep alive” approach?

My goal is just to have the lights change in sync. The firmware of the Gen 4 is 3.6, my other lights are 2.76 or 2.77 (though I can seem to get the 2.76 ones to update). If it matters - I have an Eero wifi network.

Thanks!

The Gen4 may be going into power save mode. Not sure if the Eero allows you disable this, but on my UniFi gear I can disable Unscheduled Automatic Power Save Delivery (UAPSD) which improves initial response time.

Hi,

How far away from the router are the devices?

If they’re all different distances: if you swap the slow device with one of the other Gen 4 devices, does the problem follow the slow device or is because of it’s physical location? (i.e. the fast device becomes slow in that location)

Actually, sorry I misread your message. If I’m reading correctly you only have one Gen 4 device?

I’ve asked the firmware team for their opinion.

Hi to both of you!

How fast would the device go into power saving mode? I do think I am turning it off so that would make sense when I try to blink it. I will try just changing the color and checking the response time. I did not see that option in my Eero app :frowning:

Router is just across the room. I literally have 10 lights on two power strips on my desk. Nine of them are Gen 3, one of them is Gen 4. Lifx App reports 4-5 bars of signal.

Ok,

The firmware team got back to me. The device does enter a power saving mode after 10 seconds. However it should respond within 300 ms on most networks.

This is because in power saving mode it sees the DTIM setting on your network and will wake up every 100ms * DTIM to see if there is any data for it.

We’ve created a card to try and replicate it in the office.

Thank you Delfick,

I think in testing it feels quicker than 10 seconds. I don’t suppose there is any way this can be configurable? A potential solve is to just keep pumping messages to it.

New question, the Gen 4 bulb isn’t responding to discovery messages either. Specifically, https://lan.developer.lifx.com/docs/workflow-diagrams#discovery

As a test, I am using https://github.com/dotMorten/LifxNet All my other lights, the Gen 3s, Strips, and even my Tile show up almost instantly. The Gen 4 bulb never has yet. I can still ping it via IP, and send it commands, but I don’t know why it isn’t showing up. Any thoughts?

The time it takes before it enters power mode is not configurable unfortunately.

Not responding to discovery is strange, it should definitely respond if all the other lights do.

As a sanity check if you have python3.6 or above can you do

python3 -m venv .photons-core
source .photons-core/bin/activate
pip install lifx-photons-core
lifx lan:find_devices

and see if it shows up.

Interesting little fact, this. It means that lowering the DTIM (which I can do on my UniFi gear) could make the Gen4 bulbs respond faster. I’m going to give that a whirl.

Yes, using Photons, it did show up in the list the second time I called find_devices. Hmm. Do you know if anything changed in the Gen4s regarding discovery? I will take a look at the code and see if I can spot any changes.

Gen4 devices should behave the same as other devices with discovery.