# Easy checkup of flows and devices

**URL:** <https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980>\
**Category:** Tutorials\
**Created:** [May 16, 2026, 7:39pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980 "2026-05-16T19:39:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 16, 2026, 7:39pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/1 "2026-05-16T19:39:06Z")

</div>

I wanted to make an addition to [my app](https://homey.app/en-no/app/no.tiwas.booleantoolbox/Smart-(Components)-Toolkit/) , but because of the limitations, I ended up making a web tool called [Flow Doctor](https://tiwas.github.io/SmartComponentsToolkit/tools/flow-doctor.html) . It’s still in beta, but I think it’s getting pretty good.

This is what you can do:

- Scans every flow and flags broken ones, missing apps, missing devices, and deprecated cards.
- Shows each app with a real usage signal — number of devices it owns and number of flows it appears in.
- Issue details use real names (“Stue: Varmepumpe → Turn on”) instead of raw IDs.
- Detects extension apps (like MELCloud extension) and credits them to their parent.
- Flags updates, crashed apps, and genuinely unused apps so you can keep your install tidy.
- Runs entirely in your browser — no backend, no app to install.
- Available in English, Norwegian, German, and Dutch.

If you find anything strange, please use the “report bug” function to let me know. It will copy a lot of device info to your clipboard (needed to debug, along with a good description), but there shouldn’t be any private info there. Make sure you check it out, though.

I hope you like it 🙂

---

<div class="post-metadata">

**Author:** ![Mariomark1541](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mariomark1541/32/178160_2.png) [@Mariomark1541](https://community.homey.app/u/Mariomark1541)\
**Post date:** [May 16, 2026, 8:26pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/2 "2026-05-16T20:26:58Z")

</div>

👍 great

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [May 17, 2026, 10:25am UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/3 "2026-05-17T10:25:16Z")

</div>

Great job! 👍

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 17, 2026, 10:44am UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/4 "2026-05-17T10:44:19Z")

</div>

Best part of making it - it forced me to do a spring cleaning of my Homey 🤣

---

<div class="post-metadata">

**Author:** ![DirkG](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dirkg/32/118897_2.png) [@DirkG](https://community.homey.app/u/DirkG)\
**Post date:** [May 17, 2026, 10:58am UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/5 "2026-05-17T10:58:08Z")

</div>

I also fixed a few bugs right away. But the big cleanup is still ahead. 😩

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 17, 2026, 11:05am UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/6 "2026-05-17T11:05:50Z")

</div>

Don’t blame me! I’m just the messenger! 😁

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 17, 2026, 12:32pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/7 "2026-05-17T12:32:40Z")

</div>

This is a really great tool!  
Thanks for it!  
After fixing some errors:

 ![IMG1055](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/8/a85c0a7d3a22b8606c49aa87276eb44265646fd3.jpeg)  
🥳🥳🥳

Would it also be possible to have an option to filter out disabled flows (in the “info” section)?  
(Or even made into a separate section besides “info” and “healthy”?

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 17, 2026, 1:35pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/8 "2026-05-17T13:35:09Z")

</div>

Thanks for the feedback. I actually had that filter, but removed it. I’ll put it back, but right now I’m trying to create some way of tracing execution.

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 17, 2026, 1:46pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/9 "2026-05-17T13:46:47Z")

</div>

That’s great, thx.  
I also notice that when the tool detects an update for an app and you click the link to the Homey App Store, it redirects to the latest stable version, not the latest testversion.  
Also, it seems that at first it showed testbuild updates as well, but now it doesn’t anymore… 🤔

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 17, 2026, 2:58pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/10 "2026-05-17T14:58:40Z")

</div>

I will see if I can detect if it’s running on test or not, but might have to rely on heuristics. If it’s == stable, then updated. If it’s \< stable, then not updated. If it’s \> stable, then test. If it’s \> stable and \< test, then might need update etc.

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 17, 2026, 3:14pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/11 "2026-05-17T15:14:23Z")

</div>

Isn’t is possible to just compare the latest version number on the Homey App Store (whether stable or test) to the installed version number? And if the installed version is lower, show that there is an update?  
Since the tool doesn’t update an app itself, the user can always decide if hee chooses to update to a testversion or not…

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 17, 2026, 4:59pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/12 "2026-05-17T16:59:43Z")

</div>

Could you try again now?

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 17, 2026, 5:30pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/13 "2026-05-17T17:30:17Z")

</div>

Thanks, I will as soon as my app have updates…  
Will let you know! 👍🏻😃

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 17, 2026, 7:16pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/14 "2026-05-17T19:16:33Z")

</div>

Please do.

I now have added the option to hide disabled flows:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/0/909ae925ba80aabd3eda6f0da072430b818e107d.png)

I’ve also added a badge telling if it’s the test version or not:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/c/8c946a4175cd9a1d41a84d895201d654e9c62220.png)

…and link to the test-version page for those:  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/7/679a9b6d165bb089e66dee9a872ece78a41971e0.png)

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 19, 2026, 4:16pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/15 "2026-05-19T16:16:34Z")

</div>

The option to hide disabled flows is great, thx.

Somehow it still doesn’t detect a new testverion for (i.e.) the Yolink app:

 ![1000038011](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/3/13d411092e754869af32d6edca42448861770e72.jpeg)  
There is currently a v1.0.21 testversion in the App Store, see [LINK](https://homey.app/en-nl/app/com.yolink/YoLink/test/)

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 19, 2026, 6:19pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/16 "2026-05-19T18:19:38Z")

</div>

Are you sure you actually have the test version installed? I install my app locally, so there’s nothing in the manifest to tell where it’s from. I then default to local, but I guess that’s a flaw - if the installed version is \> app store && \<= test, then it should be test. I could even add if it’s \> test, then mark it as local (unless I find something else to use for tagging as local install).

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 19, 2026, 6:39pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/17 "2026-05-19T18:39:53Z")

</div>

Ok, so the manifest shows “appstore” or “devkit”, which translates into “official” or “side-loaded”. I’ll add a badge for side-loaded apps, and add both the app store and test versions for the app and links to both the normal and test versions.

Unfortunately, there doesn’t seem to be any method (that isn’t CORS blocked) to find the store versions if the app is side-loaded (both versions in the manifest are “null”), but at least it’s now marked as “dev” with links to both versions.

Did that help?

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 19, 2026, 8:03pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/18 "2026-05-19T20:03:37Z")

</div>

Sorry, I am afraid I do not understand what you are trying to say. I am not a developer, so forgive me my ignorance. 😉  
I have no sideloaded apps, btw.

Most logical for me would be that if the tool recognizes a higher version in the Homey App Store (whether stable of test) than installed (whether stable of test), it would show that there’s an update available and the user can choose to install it or not… 🤔

---

<div class="post-metadata">

**Author:** ![Tiwas](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tiwas/32/10066_2.png) [@Tiwas](https://community.homey.app/u/Tiwas)\
**Post date:** [May 19, 2026, 8:18pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/19 "2026-05-19T20:18:55Z")

</div>

Oh, sorry.

Well, CORS means I cannot read the information from Athom’s pages, and there doesn’t seem to be an API call to get it unless the app is downloaded from the store. When I develop my app, I load it directly as part of testing and when I discover something didn’t work I continue that circle until it works. I then upload it - but I don’t install it from the store. In that case, there’s no way to find the store versions.

As for apps installed from the store, I can only read the information provided with the app - I still cannot check with the store.

I’m looking into if there are any ways I can proxy the call to get around the CORS limitation. I’ll come back to you 🙂

---

<div class="post-metadata">

**Author:** ![Henk\_Renting](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henk_renting/32/87634_2.png) [@Henk\_Renting](https://community.homey.app/u/Henk_Renting)\
**Post date:** [May 19, 2026, 8:39pm UTC](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980/20 "2026-05-19T20:39:49Z")

</div>

Great, thanks.  
I know the [Changelog](https://homey.app/en-gb/app/com.basmilius.changelogs/Changelogs/test) app from the Homey App Store does the same. I don’t know in which way… The Github is [here](https://github.com/basmilius/homey-changelogs). Perhaps that helps?

Same applies to the App Version Checker; that one is not in the Homey App Store but [here](https://homeycommunity.space/store/com.versionchecker) and Github [here](https://github.com/AdyRock/com.community.store).

Imho the latter works the best and never misses.

[Next page](https://community.homey.app/t/easy-checkup-of-flows-and-devices/154980.md?page=2)
