[APP][Pro] Flow Checker

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

@Sharkys I do have a triggercount feature on the todo list. And to act on it. So if a flow is triggered more than X times then…

So maybe I’ll implement that :wink:

1 Like

Sounds good! Maybe this is optionally possible as well (just nicetohaves):
if a flow is triggered more than X times in the last X s/m/h/d, then...
if a flow was triggered more than X times (whenever), in X s/m/h/d, then...
The last one is to filter on ‘busy’ moments in time

1 Like

New app update (test: 1.19.0.):

1. NEW: Check for broken/missing ledring screensavers (Hopefully this will also work for Homey Pro 2023)
2. NEW: add reason to broken logic (see image below)

Reason types:

  • Logic variable
  • Device variable
  • Screensaver missing
  • BetterLogic variable
  • Flow Utillities
  • Broken app

Screenshot 2022-11-04 at 18.00.30

6 Likes

New app update (live: 1.19.0.):

1. NEW: Check for broken/missing ledring screensavers (Hopefully this will also work for Homey Pro 2023)
2. NEW: add reason to broken logic (see image above)

3 Likes