[APP][Pro] Flow Checker

Afternoon @martijnpoppen, been having problems with several aspects of Homey of late but this one has appeared with Flow Checker, 45 flows broken being reported but Homey as no red X’s anywhere
c20f0c9c-2b2c-420e-afe6-398ed86ba01d

1 Like

Hey @Philip_Montgomery
The flows show as unused. Can you check that? :slight_smile:
Looks like theres 1 broken and 1 disabled flow on your system.

My TL shows Event: Broken for flows that I use frequently, Flow Checker is showing 45 broken flows and 23 unused

Have just run again and broken flow count now 1. Unused 23 but I’m not worried about those. Weird

Hi @martijnpoppen

Since (quite) a few days several advanced flows are reported as being broken. Sometimes 2x per day, sometimes 4 or 5 days apart. Usually they are the same 4 to 7 flows. But not all advanced flows. I have taken quite some time to check those flows, but I never see anything wrong with any of the flows.

Does Flow Checker somewhere make a note/log why it thinks a flow is broken? So I can investigate what is going on?

Hey @Twan_Veugelers
It depends. Probably its a broken variable?
Then its quite hard to check what is broken.

The advanced flow check might miss some features. I noticed some issues myself.

Nope no broken variable, at least the flow does not show it.

So I would indeed guess that the advanced flow is missing something.
I would be useful, if I can see what it is that makes FC decide a flow is broken.

@Twan_Veugelers will have a look if that would be possible

Found a minor (but annoying :stuck_out_tongue:) issue, in the flow checker settings when trying to open an Advanced Flow (ctrl+click), it won’t open as the URL is slightly different from a regular flow
an additional /advanced, IE:
normal: https://my.homey.app/homeys/*[ID]*/flows/*[ID]*
advanced: https://my.homey.app/homeys/*[ID]*/flows/advanced/*[ID]*

2 Likes

@Caseda hehe good one. Completely forgot about that :slight_smile:
Will fix

Hi @martijnpoppen , another challenge for you and your fantastic app :wink: Do you think it would be possible to report such broken flows ? Something has happened with those conditions marked (we discussed in the relevant app thread) and flow are broken - but it’s not reported and the flow itself almost do not indicate any problem until launched / tested - then it throws error :
obrazek

Related flow :

Fixed flow :
obrazek

Diag. : ebea0af4-5e61-4575-8044-439d342bb44c

What is dangerous about that, without reading forum, I would not notice it’s broken… now I have to search all relevant flows manually and check. But thinking about those that have no idea…

Thank you for even just thinking about that :wink:

Note : I will be not repairing flows for today, just in case you will say you gonna take a look and will be searching for test rabbit.

@Sharkys floechecker wont see those cards as broken as they still have a value. However that value is not in the manifest of that app.
I could check if a flow could be tested. Theres a option for that. Not sure if that will fix it.

I can have a look this weekend

1 Like

Thank you Martijn, just in case it makes sense actually. Not sure how many such broken flows could appear for others as it’s linked with specific app / development change that triggered that. So if it’s unique, it is probably not worth the effort. Richard already explained how this happened …

1 Like

@Sharkys you still have that broken flow? :smiley:
If possible can you check it in the api playground?

Homey.flow.getFlows();

I’m curious if the triggerable returns true or false

1 Like

Will check, currently it crashes my mobile browser :slight_smile:

So Firefox took 4.5GB RAM to display details of 620 flows :slight_smile: It got frozen, unresponsive…no wonder on mobile any browser I had used, crashed :wink:

Unfortunately ;-(

"broken":boolfalse
"triggerable":booltrue

Btw the condition I see in the GUI as non existing, is displayed fine …

"id":string"chargerStatus"
"args":{1 item
"status":string"Charging"

I’m afraid such errors would be probably undetectable…

@Sharkys you have to many flows :stuck_out_tongue:

Yeah it is undectable. Has the capability is valid and has a value. Unless the app creator keeps it and uses deprecated. Then Flowchecker can check the deprecated cards

1 Like

Yep, with 200 devices it’s not so bad ratio :wink: Still waiting for some option for “easy” migration from Flows to AdvancedFlows, so that I would not have to copy everything and every flow manually. :wink: But true is I need to start optimizing, as I’m not over yet :wink:

Indeed, but this was un-intended error, already fixed in the meantime, after I realized actually what one of the user wrote, I think at that time also developer realized it as well… it’s already fixed in the next version, yet - it’s pretty un-detectable/nasty error . Possibly also something that would/could be addressed by Athom as maybe that should be prevented “by design” but not an expert here … anyway, maybe will not happen again (like with other app, other developer).

** update ** … I checked again, it’s not fixed yet, I will fix it manually then.

1 Like

Btw speaking about flow optimisation, seems that I would probably use output of

Homey.flow.getFlows().then(f => Object.values(f).reduce((r,b)=>Object.assign(r, {[b.name]:b.triggerCount}), {}));

…somehow sort it by nr. of triggerCount … already see there some good candidates not sure however how much I would help to lower the load.

Compared with this idea from Peter and Robert Detect a flow has run - #5 by robertklep maybe some kind of heat map could be created :wink:

Anyway, probably it’s “out of scope” for Flow Checker or at-least this thread :wink: … and anyway, seems that AdvancedFlows do not include “triggersCount” anymore.

LOL, I just ran the script, and it tells me also about who really I am :rofl:
And it tells you Homey can fire flows millions of times and it does not affect the load too bad.

Clickme
* FLOW: "Oven AANgezet",
   Triggercount: 3293008
 
  * FLOW: "Oven UITgegaan",
   Triggercount: 3247033
 
  * FLOW: "K1-6 Koffie - WarmUp",
   Triggercount: 1441455
 
  * FLOW: "K2-6 Melkschuimen",
   Triggercount: 1441246

  * FLOW: "K3-6 Koffie+Melk",
   Triggercount: 1441228

True, probably while we can use multiple triggers inside one A.flow