Concurrency in flows

Hi, do flows execute cards sequentially or in parallel? Do Homey wait for previous card to finish before executing next one?

If I define a flow card “set variable X to 5” and then second card “set variable X to 10” - do I have guarantee that the variable will be set to “10”, because that flow card is the last one?

If I send zigbee commands to different devices (like “set dim level of bulb A to 100%”, “set dim level of bulb B to 100%”, “set dim level of bulb C to 100%”) - will all of them dim in the same time, of will brightness of A be set first, then B and then C?

flows get executed in parallel (at the same time), but can finish executing in different timings (usually we are talking in milliseconds here though), so you can never know if a value will be set to 10 or 5 unless you add a delay to the flow card that sets the value to 10.

With zigbee (and z-wave, or any other wireless protocol for that matter) can’t send multiple values at the same time, so those are send sequentially, but can still be activated in a different order then you put your flow cards unless added delay(s).
Zigbee does have the ability to combine signals, but that isn’t implemented, maybe after the zigbee rewrite, but no information has been given about that at all if it is added or not.

2 Likes