With the “old” flows, I ended up with some kind of structure to get a grip on the large number of flows.
I divided them in “actions” and “triggers”. The trigger-flows started one or more action-flows.
Now with the Advanced Flows, it brings nice possibilities to re-structure flows and make things way more insighful.
My first idea would be to combine all flows on a “subject” (for example “sunscreens”) in 1 Advanced Flow. That will work for all flows that are triggered by an event other than a manual start.
I am in doubt what to do with a manual start, as an advanced flow can only have one “start” element. For instance with the sunscreens, if you have multiple sunscreens and would like to manually start a flow to open close only one of them, that would be hard to achieve. Or is there a way to start a flow with an additional parameter? E.g. “start flow Sunscreens action=close item=front-window”?
I am very curious on how you guys structure your flows. All ideas are welcome!
Below is a nice example I think.
Replace the Fibaro switches (they trigger the 2 flows at the bottom) by virtual switches and you can manually control the screens
In case you’d like to use the mobile phone fav flow widgets, you can create flows with “this flow has started” which
control the created virtual switches, one for up and one for down.
Then add them to fav flows.
to start: nice flow on your sunscreen! With Advanced Homey, we can make ‘art’
I had the same idea as yourself, structure per function. SO “Light living room”, “Sonos, follow me” (about Sonos joining when I arrive upstairs with music downstairs and leaving it when I leave again), “TV downstairs” (On and Off, only to keep it simple. The lowering of the temp outside the TV room, I want to place in another flow, as also Pausing Sonos, and dimming lights in other rooms etc).
Hi, I really like the advanced flows.
If I have a flow that can be started with a parameter, is it possible to also add a when-card that triggers at a specific time and gives the parameter (“Start tag”) a value, or would I need to have that timer card in a different flow?
Yes, but can you create a value for the “Start tag” from a timer when-card?
I just tried to start the same flow again using a “Start flow card” with a parameter, and that worked,
but is there a way to do the same thing without doing that?
Nice, I’d missed that there was a way to create constant tags.
But still, it’s then a “Converted tag”. I tried transforming the “Start tag” to a “Converted tag” as well,
but even if they have the same name, they’re not the same tags apparently.
Is there a way to merge tags from different paths into one tag?
Otherwise probably the only way is to convert them to a chosen arrow by duplicating the logic condition.
Still building here, but will keep trigger- and action-flows separately. Action-flows will be merged. For example one flow for lights in one room, instead of one flow for lights on, one for lights off, one for lights in movie-setting, one for lights for reading, and so on.
I’m going to do (try) the samething for sunscreens, Sonos and more.
Triggers I will merge to all the same type of triggers in one advanced flow, from there I will start te action-flows. For example al zone activities on one canvas.
In your first example, you should connect the start tag to all the “And” tags.
So you either connect them parallel (connections from the start to all the And), or you do it serial, like in your second example (which should work).
Testing of all the conditions can only be done if you connect in parallel, because otherwise the cards are only executed one after another. So if the first is false, the flow stops.
Yep, that is the way. Or at least, if you want them to run parallel. Otherwise your other approach would also be good.
I have most of my “and’s” in parallel. Mostly a matter of taste in my opinion, but sometimes it makes more sense to check something first before you check something else, that is where in serial works well.
Correct about parallel, with the addition that you make it an “all have to be true” again by applying an “ALL” to all of them.
And then, I don’t see much difference other that the one or the other way might be slightly faster or slighly better on resources.
Hi @Hamster yes indeed. Most of my rooms are ‘follow me’ rooms. Whenever I enter a room (on movement or on activating zone, I use the latter) and music is playing downstairs in the living room, I join the Sonos in that room. And whenever that zone is unactive for 1 minute, I have the Sonos of the room leave the group.
When I’m working I block it, by ‘checking in’. I press a remote and a variable is set. When that variable is set, I do not join . I canb ‘check-out’ again, or leave the room for at least 15 minutes. Same effect.
(@Hamster Although it is not a part of this topic: it indeed works work when a zone is (de)activated regardless of the number of people present. Maybe you want something else? Then I suggest to create a new topic. This one is about how to structure Advanced flows…so it’s not about content per se ;-))