[APP][Pro] Flow Checker

New app update (live: 1.26.11.):

1. NEW: isBroken for HP19/HP23 (HomeyApi V3)
2. FIX: app error
3. FIX: HP version check
4. FIX: add logs to broken flow check
5. OPT: update homey-api to 3.0.18
6 FIX: combine all api calls together
7 FIX: disable screensavers on HP23
8 FIX: link in settings to advanced flows
9 FIX: revert isBroken check



If you find any issues, send a report via the mobile homey app

More - apps - Flow Checker - settings wheel right top - send diagnostic report (put your email in the input field to make it easier)


@Peter_Kawa reverted the isbroken check again. Also informed Athom. But it’s not really (not at all) working :slight_smile:

@Sharkys FYI

2 Likes

Just upgraded to the latest version (1.26.13). Have had the app disabled for a while on my HP23 waiting for some bugs to be fixed.
After upgrading, some of the functionality seems to be working but I can no longer save any settings or filters, as it either gives a message saying ‘Saved’ but reverts to the old setting, or I get the error message ‘Missing implementaion of the api endpoint “settings”’…
Have tried uninstalling and reinstalling the app without success…
Diag. report: 02422c19-a61e-4e7d-881e-5e6c34085ac7

@Patric_Hedin will check today! Athom API is giving me headaches :stuck_out_tongue:

New app update (live: 1.26.18.):

1. OPT: update homey-api to 3.0.20
2 FIX: random crash in app
3: FIX: app settings



If you find any issues, send a report via the mobile homey app

More - apps - Flow Checker - settings wheel right top - send diagnostic report (put your email in the input field to make it easier)


EDIT Owh… you’re already at version .18 :sweat_smile: I’m going to run this version now.
But anyway mss you may have some use for the below:

v1.26.14
I think I have a real error message now anyway, Martijn. To be clear, I haven’t changed anything in the app settings.

[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [flowDiff] UNUSED_FLOWS - flowDiff:  []
[log] [flowDiff] UNUSED_FLOWS - flowDiffReverse:  []
/node_modules/homey-api/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardTrigger.js:12
    item.ownerId = item.uriObj.id;
                               ^

TypeError: Cannot read properties of undefined (reading 'id')
    at Function.transformGet (/node_modules/homey-api/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardTrigger.js:12:32)

--- INFO: com.athom.flowchecker has been killed ---



Here is the entire run from app start to crash (have filtered out flows and such)

─────────────── Logging stdout & stderr ───────────────
[log] [onInit] com.athom.flowchecker - 1.26.14 started...
[log] [initSettings] - Found settings key com.athom.flowchecker.settings
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [onInit] - Loaded settings {
  NOTIFICATION_BROKEN: true,
  NOTIFICATION_DISABLED: true,
  NOTIFICATION_BROKEN_VARIABLE: true,
  NOTIFICATION_UNUSED_FLOWS: true,
  NOTIFICATION_UNUSED_LOGIC: true,
  INTERVAL_ENABLED: true,
  CHECK_ON_STARTUP: false,
  BROKEN: [],
  DISABLED: [
    {
      name: 'BijknActief&PeterSlapen/Weg > AlarmSiren',
      id: '04cab0b7-8db4-44ba-bd00-aafe2254779e',
      folder: '-- Beweging/ Bijkeuken detectie 🚷 🚪',
      advanced: false
    },
    ... hier lijsten met flows en zo ....
  ],
  INTERVAL_FLOWS: '15',
  ALL_FLOWS: 483,
  ALL_SCREENSAVERS: 4,
  ALL_VARIABLES: 916,
  ALL_VARIABLES_OBJ: { logic: 570, device: 263, app: 79, bl: 4, fu: 0, screensavers: 2 },
  FOLDERS: 'LOG',
  FILTERED_FOLDERS: [],
  HOMEY_ID: '610xxxxxxxxxxxxxxxxxxxxxx',
  HOMEY_VERSION: 'Homey2019'
}
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [onPollInterval] 15 900000
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [findFlows] BROKEN - FlowArray:  []
[log] [findFlows] BROKEN - promises:  462
[log] [findFlows] BROKEN - brokenArray:  0 []
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [flowDiff] BROKEN - flowDiff:  []
[log] [flowDiff] BROKEN - flowDiffReverse:  []
[log] [findFlows] DISABLED - FlowArray:  [
  {
      ... hier lijsten met flows en zo ....
]
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [flowDiff] UNUSED_FLOWS - flowDiff:  []
[log] [flowDiff] UNUSED_FLOWS - flowDiffReverse:  []
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [findFlows] BROKEN - FlowArray:  []
[log] [findFlows] BROKEN - promises:  462
[log] [findFlows] BROKEN - brokenArray:  0 []
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [flowDiff] BROKEN - flowDiff:  []
[log] [flowDiff] BROKEN - flowDiffReverse:  []
[log] [findFlows] DISABLED - FlowArray:  [
  {
        ... hier lijsten met flows en zo ....
]
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [flowDiff] DISABLED - flowDiff:  []
[log] [flowDiff] DISABLED - flowDiffReverse:  []
[log] [findFlows] UNUSED_FLOWS - FlowArray:  [
  {
      ... hier lijsten met flows en zo ....
]
[log] [updateSettings] - New settings:
[log] [updateSettings] - Comparing intervals 15 15
[log] [flowDiff] UNUSED_FLOWS - flowDiff:  []
[log] [flowDiff] UNUSED_FLOWS - flowDiffReverse:  []
/node_modules/homey-api/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardTrigger.js:12
    item.ownerId = item.uriObj.id;
                               ^

TypeError: Cannot read properties of undefined (reading 'id')
    at Function.transformGet (/node_modules/homey-api/lib/HomeyAPI/HomeyAPIV2/ManagerFlow/FlowCardTrigger.js:12:32)
    at onEvent (/node_modules/homey-api/lib/HomeyAPI/HomeyAPIV3/Manager.js:516:43)
    at Socket.__onEvent (/node_modules/homey-api/lib/HomeyAPI/HomeyAPIV3.js:569:7)
    at Socket.Emitter.emit (/node_modules/component-emitter/index.js:145:20)
    at Socket.onevent (/node_modules/socket.io-client/lib/socket.js:278:10)
    at Socket.onpacket (/node_modules/socket.io-client/lib/socket.js:236:12)
    at Manager.<anonymous> (/node_modules/component-bind/index.js:21:15)
    at Manager.Emitter.emit (/node_modules/component-emitter/index.js:145:20)
    at Manager.ondecoded (/node_modules/socket.io-client/lib/manager.js:349:8)
    at Decoder.<anonymous> (/node_modules/component-bind/index.js:21:15)

--- INFO: com.athom.flowchecker has been killed ---

Hey @Peter_Kawa ( :uk: :wink: )

But yeah that was the issue which should be fixed in .18 :slight_smile:

2 Likes

Is this something that could be done in Flow checker app?

@To_Lou
It can be done. But i would rather see a overview app instead of putting this in FlowChecker which is already very heavy on memory

In the card ‘There are flows with broken variables’ I get response “1”. Problem is that I don’t have any flow called “1”. How do I troubleshoot this?

@Most were do you see that response?

This flow generates the response to the timeline.

I notice that app settings was also showing the response. But I can’t see any broken variables in the flow. It has a HomeyScript due.
Screenshot_2

@Most the tag you used is showing the amount of broken variables. Not the variable it self.

Ah, ok.
And are there any way I can find the broken variable?

No only the flow which contains that variable

1 Like

@martijnpoppen btw any news from Athom ?

@Sharkys nope still chasing

1 Like

Hi @martijnpoppen

I have a basic question. Maybe the answer is to be found above this message, but I can not find it that quickly. Maybe a "Flowchecker for dummies’ section would help for some of us.

My question refers to the following message:

Event: BROKEN_VARIABLE - Flow: name of a flow* | Folder: name of a folder | Reason: Device variable

I investigate the flow, but there is nothing to see.

Q: what does it mean BROKEN_VARIABLE. Why is it broken, what can break it, how can I fix it, and most important: what can I do to prevent any variable to break?

I know it’s a basic quenstion, but still hope you can quickly help me understand and thus be able to analyze my messages.

Michel

@Michel_Bos broken variable means that a tag in your flow is broken. In your particular case a tag from a device.

What you can do to prevent it… yeah many things but the main reason for this app is that its hard to prevent it and therefore you get a message.

So in your flow theres probably a tag missing or a device doesn’t exist anymore and therefore FlowChecker sees the variable as broken

2 Likes

@martijnpoppen Thx Martijn, for reacting this quickly! Appreciate it!

I will have a look at the flows reported and within those the used tags and devices. First quick look shows all is OK, but let me verify :slight_smile:

Will let you know my findings.