If I were guessing, I would say you are using a cloud service (Tuya?) and that is the delay. Since you are using device_id it is impossible to tell from here, though.
As stated in the docs, using the parallel action means the action will be started at the same time, not that they will be completed at the same time. @Sir_Goodenough mentioned cloud services, but this can also affect local integrations because the actual radio signals end up being sent in the sequence the integration processes them.
If you are using Zigbee or ZWave, you may want to create groups within the integration. Since only a single “message” is needed for the whole group to respond, this can result in more synchronized light changes. Using groups can also cut down traffic over the mesh.
Because the lighting technology employed by those three lights can only transmit commands sequentially.
That’s true for most lighting technologies; they can’t transmit commands in parallel.
If the transmission speed is very fast, and there aren’t many lights to turn on, they may appear to turn on simultaneously (almost). Otherwise you get what has been described as the “popcorn” effect where each light turns on with a noticeable delay from each other.
I suggest you follow Didgeridrew’s recommendation and create a native Zigbee/z-wave group (not a Home Assistant lighting group). When you instruct Home Assistant to turn on a native group, a single command is transmitted and all members receive it simultaneously. This is normally the best way to prevent the “popcorn” effect
Ahh, a ZigBee group, that makes sense. Is that something that could be done from the ZigBee Home Assistant integration that I have in HA, though? I’m not sure where the grouping feature is there. I had an HA group, but I understand now why that wouldn’t help.
If you’re using ZHA in HA, go to your Integrations, click on ZigBee (not the entities link), then Configure, and then Groups should be the 2nd tab where you can define groups. Put your lights in a group, and then toggle the group on - it’s also much better for Zigbee itself to use control groups than call individual devices.
I appreciate both of your answers and that’s super helpful for me in the future. I just realized that I confused my Lutron on WiFi for ZigBee for some reason. So I guess I am really just at the mercy of the Lutron hub, right?
In that case, you may wish to consider using a Lutron scene. You create it using the Lutron app and it will appear in Home Assistant as a scene entity. Turn on the scene and it will do whatever you configured it to in the app.
Will this eliminate the “popcorn” effect? Maybe; I have no experience with how Lutron manages commands in its native scenes. Try it and see how it performs.