[APP][Pro] Flow Checker

@daniel3 Fixed, see above :slight_smile:

There are a few basic flows but most of them advanced. Though I don’t have very complicated flows. Hope this helps

1 Like

Great @martijnpoppen , thank you so much. You fixed it before I woke up!

1 Like

New app update (:orange_square: TEST: 1.35.0.):

Changelog:

NEW:
1. NEW: prevent cached data during check to prevent memory build up

FIXES:
1. FIX: decrease memory usage when checking variables.



:collision: If you find any issues, send a diagnostic report

:warning: Note: Before sending a report make sure to reproduce the issue so the issue will be visible in the report

  1. :mobile_phone: Via Homey Mobile app:
    More - apps - Flow Checker - settings wheel right top - send diagnostic report (add your email to the description)

  2. :laptop: Via Homey Webapp:
    Settings wheel bottom left - Select Flow Checker - Click on send diagnostic report (add your email to the description)



You can install this version by clicking the link (version number) above and press install

:fast_reverse_button: Don’t want to be part of a test version? Install the live version → Flow Checker | Homey


1 Like

Hi @martijnpoppen, You fixed the issue related to multiples variables in a flow card in a prior version that resulted in 2 variables being reported as unused (in my case). After this latest test version (1.35.0), FlowChecker now reports that I have 25 unused variables, while all are in use.

I created the following log: 8019416e-ac89-42dc-a6cf-3801b5e05de3

1 Like

@SunBeech thanks will check, had to take some actions to prevent memory overflow for users with lots of variables.

Will check where this went wrong :smiley:

1 Like

@SunBeech can you share the JSON of one of the flows which has these variables? So I can use that to reproduce

Yes, no problem. The following flow contains the IMG ID TV variable, that FlowChecker reports as not in use.

JSON of flow
{
  "id": "dc9f0823-5679-4a22-8312-d8662067fd40",
  "uri": "homey:advancedflow:dc9f0823-5679-4a22-8312-d8662067fd40",
  "name": "Sessie-einde TV: Stel widget EDW in",
  "folder": "4141c2b3-21b4-42fa-ba95-d4f1941c3a2d",
  "triggerable": false,
  "enabled": true,
  "broken": false,
  "cards": {
    "5a288969-4840-46a9-8e4e-cd970c5de4cb": {
      "type": "note",
      "value": "Deze flow werkt de sessieresultaten van de TV-kijksessie bij die de Enhanced Device Widgets' status widget toont op het dashboard.",
      "color": "yellow",
      "x": 0,
      "y": 0,
      "width": null,
      "height": null
    },
    "b161d15c-91b8-4e0f-b92f-cfa29ddf12e1": {
      "ownerUri": "homey:manager:logic",
      "id": "homey:manager:logic:create_string_tag_from_text",
      "args": {
        "text": "<tr><td ><img class=\"pict\" src=\"[[homey:manager:logic|564e5c84-7532-4120-a840-1479548fdc30]][[homey:manager:logic|d13853c1-c3c8-43ae-a7f1-f2961f889d4a]]\"></td><td ></td><td>[[action::8ab6cf9f-e34b-4bcd-9bb2-3c442a0ecb9a::number]]&nbsp;<span class=\"txtNiveau2\">h</span>&nbsp;[[action::3924c9b5-0a99-417e-ac63-a190503a821c::number]]&nbsp;<span class=\"txtNiveau2\">min</span>&nbsp;[[action::50f6a91c-2e88-49e7-922b-23bb7268f10a::number]]&nbsp;<span class=\"txtNiveau2\">s</span></td><td>[[action::a325b941-4aa4-4376-9271-2f38e4410f47::result]]&nbsp;<span class=\"txtNiveau2\">kWh</span></td> <td style=\"text-align: right;\"><span class=\"txtNiveau2\">€</span>&nbsp;&nbsp;[[action::e7813ec6-de5f-4f44-9d15-0b7d29d92154::result]]</td></tr>"
      },
      "type": "action",
      "x": 940,
      "y": 740,
      "outputSuccess": [
        "25cb4340-db8b-4667-8612-8a2f96d32fac"
      ]
    },
    "02ccebac-b192-4eaa-95b0-7dc9d1d89bbf": {
      "type": "note",
      "value": "Body > Rij: Sessie duur/verbruik/kosten",
      "color": "yellow",
      "x": 940,
      "y": 660,
      "width": null,
      "height": null
    },
    "7177ed4c-7292-404a-9186-3373d3d0eb91": {
      "ownerUri": "homey:app:ady.enhanced_device_widget",
      "id": "homey:app:ady.enhanced_device_widget:set-status2",
      "args": {
        "widgetID": "EDW Status Sessie TV",
        "title": " ",
        "status": "<!DOCTYPE html><html><head>[[homey:manager:logic|c5d5c722-abe3-49e5-a7a1-2021325fae4f]]</head><body><table>[[homey:manager:logic|b7a70edd-efb1-49f9-8395-26f04dbc5d1a]][[action::b161d15c-91b8-4e0f-b92f-cfa29ddf12e1::created_tag]]<tr class=\"trSpacer\"></tr>[[action::25cb4340-db8b-4667-8612-8a2f96d32fac::created_tag]]</table></body></html>",
        "backColour": "[[homey:manager:logic|bf123f72-e7a6-49fc-85b2-21cf7cb15f8d]]",
        "textColour": "[[homey:manager:logic|1683fc41-963d-4fb6-8c21-cc0cabbbc1c0]]"
      },
      "type": "action",
      "x": 940,
      "y": 1340
    },
    "10952fd3-956c-495c-a352-b6351c61d0ab": {
      "type": "note",
      "value": "Opmaken statuswidget",
      "color": "yellow",
      "x": 940,
      "y": 1260,
      "width": null,
      "height": null
    },
    "458ff59c-9a29-4d51-9111-ace9c48f3e45": {
      "type": "note",
      "value": "Body > Rij: Sessie tijdstempel",
      "color": "yellow",
      "x": 400,
      "y": 1260,
      "width": null,
      "height": null
    },
    "25cb4340-db8b-4667-8612-8a2f96d32fac": {
      "ownerUri": "homey:manager:logic",
      "id": "homey:manager:logic:create_string_tag_from_text",
      "args": {
        "text": "<tr><td  colspan=\"5\" class=\"txtNiveau2\">Laatste kijksessie op [[action::08fda68b-32c8-47f7-980c-2031d6c8b3a6::text]]</td></tr>"
      },
      "type": "action",
      "x": 400,
      "y": 1340,
      "outputSuccess": [
        "7177ed4c-7292-404a-9186-3373d3d0eb91"
      ]
    },
    "2a0c921a-17a6-4995-be82-1c4f098f722e": {
      "ownerUri": "homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a",
      "id": "homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a:alarm_running_false",
      "type": "trigger",
      "x": 0,
      "y": 240,
      "outputSuccess": [
        "9ec9a8cf-3fe3-46ce-bedf-4f1483fbddbc"
      ]
    },
    "a325b941-4aa4-4376-9271-2f38e4410f47": {
      "ownerUri": "homey:app:net.i-dev.betterlogic",
      "id": "homey:app:net.i-dev.betterlogic:format_number",
      "args": {
        "number": "[[homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a|meter_power]]",
        "style": "decimal",
        "decimals": 2,
        "locale": {
          "id": "en-US",
          "name": "English",
          "description": "en-US"
        }
      },
      "type": "action",
      "x": 400,
      "y": 480,
      "outputSuccess": [
        "e7813ec6-de5f-4f44-9d15-0b7d29d92154"
      ]
    },
    "08fda68b-32c8-47f7-980c-2031d6c8b3a6": {
      "ownerUri": "homey:app:net.i-dev.betterlogic",
      "id": "homey:app:net.i-dev.betterlogic:execute_bl_expression_tag",
      "args": {
        "expression": "date('d-M-yyyy H:mm', [[homey:app:net.i-dev.betterlogic|bllDTSessieEindeTV]])"
      },
      "type": "action",
      "x": 940,
      "y": 240,
      "outputSuccess": [
        "a325b941-4aa4-4376-9271-2f38e4410f47"
      ]
    },
    "9ec9a8cf-3fe3-46ce-bedf-4f1483fbddbc": {
      "type": "delay",
      "args": {
        "delay": {
          "number": "1",
          "multiplier": 1
        }
      },
      "x": 520,
      "y": 260,
      "outputSuccess": [
        "08fda68b-32c8-47f7-980c-2031d6c8b3a6"
      ]
    },
    "e7813ec6-de5f-4f44-9d15-0b7d29d92154": {
      "ownerUri": "homey:app:net.i-dev.betterlogic",
      "id": "homey:app:net.i-dev.betterlogic:format_number",
      "args": {
        "number": "[[homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a|measure_monetary]]",
        "style": "decimal",
        "decimals": 2,
        "locale": {
          "id": "en-US",
          "name": "English",
          "description": "en-US"
        }
      },
      "type": "action",
      "x": 940,
      "y": 480,
      "outputSuccess": [
        "8ab6cf9f-e34b-4bcd-9bb2-3c442a0ecb9a"
      ]
    },
    "8ab6cf9f-e34b-4bcd-9bb2-3c442a0ecb9a": {
      "ownerUri": "homey:app:net.i-dev.betterlogic",
      "id": "homey:app:net.i-dev.betterlogic:execute_bl_expression_tag",
      "args": {
        "expression": "math.floor([[homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a|measure_duration_seconds]]/3600)"
      },
      "type": "action",
      "x": 400,
      "y": 740,
      "outputSuccess": [
        "3924c9b5-0a99-417e-ac63-a190503a821c"
      ]
    },
    "3924c9b5-0a99-417e-ac63-a190503a821c": {
      "ownerUri": "homey:app:net.i-dev.betterlogic",
      "id": "homey:app:net.i-dev.betterlogic:execute_bl_expression_tag",
      "args": {
        "expression": "math.floor(([[homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a|measure_duration_seconds]]-([[action::8ab6cf9f-e34b-4bcd-9bb2-3c442a0ecb9a::number]]*3600))/60)"
      },
      "type": "action",
      "x": 400,
      "y": 880,
      "outputSuccess": [
        "50f6a91c-2e88-49e7-922b-23bb7268f10a"
      ]
    },
    "50f6a91c-2e88-49e7-922b-23bb7268f10a": {
      "ownerUri": "homey:app:net.i-dev.betterlogic",
      "id": "homey:app:net.i-dev.betterlogic:execute_bl_expression_tag",
      "args": {
        "expression": "[[homey:device:890e09c3-465a-426f-bdd3-87f36b2f886a|measure_duration_seconds]]-([[action::8ab6cf9f-e34b-4bcd-9bb2-3c442a0ecb9a::number]]*3600)-([[action::3924c9b5-0a99-417e-ac63-a190503a821c::number]]*60)"
      },
      "type": "action",
      "x": 400,
      "y": 1040,
      "outputSuccess": [
        "b161d15c-91b8-4e0f-b92f-cfa29ddf12e1"
      ]
    },
    "d1ed02b9-5a21-42ad-9536-8b4b977131a1": {
      "type": "note",
      "value": "Opsplitsen sessieduur in h / min / s.",
      "color": "yellow",
      "x": 400,
      "y": 660,
      "width": null,
      "height": null
    },
    "5369966f-c8ed-4416-9dbc-3865a61d88b4": {
      "type": "note",
      "value": "Opmaken verbruik en kosten.",
      "color": "yellow",
      "x": 400,
      "y": 400,
      "width": null,
      "height": null
    },
    "0217858c-c6a2-49df-b339-4eb9ff10a7ef": {
      "type": "note",
      "value": "Tijdstempel sessie-einde opmaken.",
      "color": "yellow",
      "x": 940,
      "y": 160,
      "width": null,
      "height": null
    },
    "8e4b584d-44c4-4d17-8fd2-57ba11bcbb4b": {
      "type": "note",
      "value": "Wacht tot verbruikscijfers en tijdstempel berekend zijn.",
      "color": "yellow",
      "x": 400,
      "y": 160,
      "width": null,
      "height": null
    },
    "26265917-5433-4b58-a45b-17e4f0e8d4c1": {
      "type": "note",
      "value": "Zorg dat:\n- Style tags zijn ingesteld via flow 'Stel HTML style tags in: Sessies'\n- Kolombreedtes zijn ingesteld via flow 'Stel HTML kolombreedtes in: Sessies'",
      "color": "red",
      "x": 400,
      "y": 0,
      "width": null,
      "height": null
    }
  }
}

New app update (:orange_square: TEST: 1.35.1.):

Changelog:

NEW:
1. NEW: prevent cached data during check to prevent memory build up

FIXES:
1. FIX: decrease memory usage when checking variables.
2. FIX: false-positives for unused logic



:collision: If you find any issues, send a diagnostic report

:warning: Note: Before sending a report make sure to reproduce the issue so the issue will be visible in the report

  1. :mobile_phone: Via Homey Mobile app:
    More - apps - Flow Checker - settings wheel right top - send diagnostic report (add your email to the description)

  2. :laptop: Via Homey Webapp:
    Settings wheel bottom left - Select Flow Checker - Click on send diagnostic report (add your email to the description)



You can install this version by clicking the link (version number) above and press install

:fast_reverse_button: Don’t want to be part of a test version? Install the live version → Flow Checker | Homey


@SunBeech can you check the latest TEST version ? :slight_smile:

1 Like

Yes! You fixed it :grinning_face:. FlowChecker now reports 0 unused variables again, and reports the example variable to be linked to the flow for which I shared the JSON:

1 Like

@SunBeech Nice! Also app should be lower on memory now :crossed_fingers:

That’s a nice extra bonus :wink:.
Thanks for the quick fix!

1 Like

my homey just got V 1.34.9
and it says about 10 flows with broken varables I have been through everyone and there is no issue.
I have any flows with broken varables with the previous version, does that mean this version is seeing something new, or the previous version didn’t

@Ronwell yes there were improvements to check more variables. Some were neve checked and now are. Can you share a flow which is indicated as broken?

Possibly the latest test version (1.35.1) fixes this issue for you as well (as it did for me).

@Ronwell do need some help from your side :smiley:

I actually want to get the json of your flow.
when you go to your flow in the homey web app:

Windows: press right click while holding ALT. click copy json
Macos: right click, then press option. click copy json

paste the JSON here so i can check :slight_smile: (or via DM)

image for reference:

it wont let me send it too many characters

the test version found way too many false broken flows and crashed homey looking for them.

1 Like