Advanced flows: multiple simultaneous flows arriving to ANY

The Any-block continues when any of the preceding cards are done.

Does ANY act like a filter?
a) will it pass all flows that arrive at the ANY card simultaneously (see 1: double hit)
b) will it pass only one flow if multiple flows arrive at the ANY card simultaneously (see 2: single hit)

Every regular flow card will only run ones in that flow run, no matter how many lines go to them.
If it is both a trigger card now in front of your 0 second delay cards, then it is counted as 2 separate flow runs (see it as 2 regular flows), and it will activate the logic flow card twice (once for every flow run), that is also with the any card.
The any card is mostly for decoration purposes (to keep the amount of connected lines together), as in the alpha team it was noticed that people started to use the 0 second delay card for this purpose (like you are doing now? :confused:)

Thanks!

I am trying to understand, so bear with me. I should have shown triggers so I have updated the picture.
Can you refer to 1 and 2?

These are technically 4 separate flows (each trigger is its own flow, that only share the same cards in their line), no matter the ANY card, so it will both trigger twice, in this case even 4 times as the trigger is the same.

Thanks.

So if one has one trigger (it’s dark) and multiple scenarios (each having multiple AND cards) that could lead to lights to be turned on, how to avoid the lights being “turned on” multiple times?

Well the same as with regular flows, just add a “light is off” condition in the line, just before turning the light on.

1 Like

You are very right.

A golden rule for Homey users.

This will avoid broadcasting zwave, zigbee and Hue commands multiple times and causing radio overload and other side effects, Homey load, etc.

I wish there would be an automated checker to ensure mistakes like this (simultaneous hits) are caught.

Or ask Homey for a new card: filter/1 active flow

I think that is very hard to implement, cause how long would you make the other flows wait for running again.
Flows usually only run for several milliseconds, not full seconds, so it can’t be just when a advanced flow is currently already running.

Right