ALL option with Error path

Would it be possible when the ALL option is used in a flow and not ALL conditions are met, that we would get an Failure option at the bottom, so that we can log this failure.

This way you can troubleshoot a bit easier.

Interesting question!

Just to be sure : the flow card that does not go to the AND part, is that card doing nothing at all or does it fails and therefor it won’t go to the AND part ?

If not all conditions are met, then this ALL option will fail, but you have no idea that it did fail.

So an error out option below the ALL would be very handy I think.

Does this explain it better? with the image ?

I don’t think there is a way to check if the ALL receives all the conditions and if not send an error message. As far as I know, Homey does not see this as an error, they don’t know if condition A will be met at a later time than condition B for example.

You could create an error messages for all the conditions separately, but that only works if the logic, Rainrader or Sonoff card really fails and is perhaps not really a nice and clean way to check it.

Could you perhaps explain the situation when you had an issue with this ALL flow ? Does this part of the flow have issues often ?

The Flow Gadget app has flow cards that let you check all conditions on a single flow card:


(Example)

Perhaps this would make it possible to create a notification indicating which condition was not met.

I’d check the relevant app thread (link) and ask if that’s possible, or try it out yourself first using 2-3 conditions.

Well see in my case, say that the wind force = 6, but all other conditions are met, then this ALL option, would not pass through !, Which is great, it does what it is suppose to do, but then i would like to know that this didnt pass, so i might send myself a message of add something in the timeline

I dont see the ALL failure as an error, bot just like when Nobody is home, YEs or NO

Are all the ALL conditions met, YES or NO, that would be so handy i think.

Thanks for the info, i’m going to check this option out aswell.

I see, so not a real issue with the flow, but you want to have a “FYI” message.

Sorry for the confusion I had about the situation.

I agree that it could be nice to have a message if not all the conditions are met, but I understand as well that it could be difficult to implement this based on the rules Homey uses for this ALL option. But I could be mistaken, and you could make a suggestion to Athom to add this option if you would like that.

Or perhaps the app that @DirkG provided in the previous comment solves it already, that would be nice!

If you could keep us informed if the app solves this point, I would really appreciate that!

I think the problem is that the “all” card is just a wrapper around the js function promise.all.
This means the “all” card is bound to the same possibilities of that function.
The promise.all function simply waits for all passed promises to resolve. It has a catch function that will be called in case one of the promises is rejected, but it cannot catch all errors thrown inside those promises. A new function is added to the Promise class called Promise.try, that does exactly this, but it is only supported in the latest version of nodejs. I think Homey runs on version 22. I’m not sure if this version already supports that.

Connect the opposite side of those conditions to an ANY card, that will run when one of the conditions is not met. Example:

Two of the conditions failed, so the Any block triggered

All of the conditions met, so the ALL block triggers

Thank for this insight !! Didn;t think about this and this will fix my problem, or keep me informed if not all conditions are met. !!!

really helpfull

@Ritsjert_Sure

Flow Gadgets might do the trick here. Its cards are mainly designed to make Flows shorter, clearer, and more powerful.

You can combine all the conditions from your Flow into a single card. The blue path runs when the complete condition is true, while the orange path runs when at least one required condition is not met. In your case, the blue path would replace the current ALL path.


Note: “Turned on” are the tag names for two different devices.

You can add multiple expressions and connect them with the AND and OR keywords. Parentheses are also supported, for example:
(Expression1 = true AND Expression2 = false) OR Expression2 = true
This allows you to build a more compact Flow that is easier to read, understand, and adapt later.
The complete documentation of Flow Gadgets is here: Pascal Nohl