# \[APP\]\[Pro\] sysInternals - Shows Homey’s System Internals

**URL:** <https://community.homey.app/t/app-pro-sysinternals-shows-homey-s-system-internals/78650>\
**Category:** Apps\
**Tags:** app, homey-pro, homey-pro-2023\
**Created:** [March 30, 2023, 5:37pm UTC](https://community.homey.app/t/app-pro-sysinternals-shows-homey-s-system-internals/78650 "2023-03-30T17:37:57Z")\
**Posts on this page:** 1\
**Showing post:** 226

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [February 20, 2026, 9:22am UTC](https://community.homey.app/t/app-pro-sysinternals-shows-homey-s-system-internals/78650/226 "2026-02-20T09:22:41Z")

</div>

> [@DoctorBazinga](#):
>
> Is there any way to check the availability and new firmware version (number) by a(n advanced) flow myself ?

Good question, @DoctorBazinga , made me think “want that too”.  
And succesfully tested in the meantime.

 ![1150](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/6/f6749d6891caade3859aa767e046c310ee05973e.jpeg)

The tags are Homeyscript tags and will be created during the first run of the flow.  
Here’s the importable flow incl. script (save the code as _aflowname.homeyadvflow.json_ [to import it](https://community.homey.app/t/web-app-alt-context-menu-export-import-flows/143013/23) using the ALT key):

```auto
{"type":"advanced","name":"Poll for firmware updates (Export)","cards":{"2e0bbb1d-37ae-4651-978d-15880cdb2f50":{"ownerUri":"homey:manager:cron","id":"homey:manager:cron:time_exactly","args":{"time":"15:01"},"type":"trigger","x":0,"y":40,"outputSuccess":["0f05bbb8-f231-47ff-bb5c-e10c0d97b0b6"]},"0f05bbb8-f231-47ff-bb5c-e10c0d97b0b6":{"ownerUri":"homey:app:com.athom.homeyscript","id":"homey:app:com.athom.homeyscript:runCodeReturnsString_v2","args":{"code":"// Poll Homey for new firmware updates\n// by @peter_kawa\n// Filtered out of the great \"System Overview\" script by @Caseda\n\nlet homeyVersion;\nawait Homey.system.getInfo()\n .then(result => {\n tag('Current Homey firmware version', '\"' + result.homeyVersion + '\"');\n })\n .catch(() => tag('Current Homey firmware version', 'Error fetching current firmware version'));\n\nawait Homey.updates.getUpdates()\n .then(result => {\n if(result.length > 0) {\n tag('Update available', `'${result[0].version}'`);\n //log(result[0].version);\n } else {\n tag('Update available', 'No');\n }\n })\n .catch(() => tag('Update available', 'Failed to get update info'));\n\n let undefined = 'true';\n return undefined;\n"},"type":"action","x":100,"y":140,"outputSuccess":["d531b62f-b769-4b2f-bafa-5eed87986926"],"outputError":["d531b62f-b769-4b2f-bafa-5eed87986926","e75059bf-a75c-46b4-8f19-e32f32ac10a3"]},"684655ba-f20c-4e6c-a3ef-3c96a7c948ea":{"ownerUri":"homey:manager:notifications","id":"homey:manager:notifications:create_notification","args":{"text":"﻿Available firmware update: [[homey:app:com.athom.homeyscript|Update available]].﻿\nCurrent version: [[homey:app:com.athom.homeyscript|Current Homey firmware version]]\n\nBackup status: \n[[homey:app:com.athom.homeyscript|Last succesful Backup]]\n.\n[Poll for firmware updates]"},"type":"action","x":660,"y":360},"9952ccde-9a09-411d-bf86-a835276a1628":{"ownerUri":"homey:manager:mobile","id":"homey:manager:mobile:push_text_critical","args":{"user":{"id":" __all_present__","name":"Everyone who's home"},"text":"﻿Available firmware update:\n[[homey:app:com.athom.homeyscript|Update available]].﻿﻿\n(Current version: [[homey:app:com.athom.homeyscript|Current Homey firmware version]])﻿﻿\n\nChangelog: go to Timeline / email.\n\nBackup status: [[homey:app:com.athom.homeyscript|Last succesful Backup]]\n.\n[Poll for firmware updates]"},"type":"action","x":660,"y":720,"outputSuccess":["48a04cfa-26ab-470a-b29e-5bcfe551c612"],"outputError":["48a04cfa-26ab-470a-b29e-5bcfe551c612"]},"82b8cb1d-4c87-4f17-bf05-da71ab9c244a":{"type":"note","value":"Optional / for testing","color":"blue","x":920,"y":520,"width":null,"height":null},"3151ed23-b68f-4b88-8ec7-4f99fc419f30":{"ownerUri":"homey:manager:logic","id":"homey:manager:logic:equal","type":"condition","x":100,"y":420,"outputTrue":["684655ba-f20c-4e6c-a3ef-3c96a7c948ea"],"outputFalse":["db04ad30-2619-405d-aeef-33313bcfc1c1"],"droptoken":"homey:app:com.athom.homeyscript|Update available","args":{"comparator":"No\n"},"inverted":false},"db04ad30-2619-405d-aeef-33313bcfc1c1":{"ownerUri":"homey:manager:logic","id":"homey:manager:logic:http_advanced","type":"action","x":120,"y":640,"outputSuccess":["35b9ec1a-5517-4ec3-b29d-e08660bd99c2"],"args":{"method":"get","url":"https://ota-api.homeypro.net/api/v1/changelog"}},"defa349e-98bd-49ab-8843-3b7ccd765bca":{"type":"note","value":"Changelog Pro 2023 and up:\nhttps://ota-api.homeypro.net/api/v1/changelog","color":"green","x":0,"y":540,"width":null,"height":null},"025baa89-4cb7-4931-afaf-9bde9baca8f1":{"ownerUri":"homey:manager:logic","id":"homey:manager:logic:http_advanced","type":"action","x":1280,"y":960,"args":{"method":"get","url":"https://firmware.athom.com/api/update/changelog/"}},"66e3b7f2-002f-4c94-841c-62dd9585bd6e":{"type":"note","value":"Changelog Pro 2019 and earlier:\nhttps://firmware.athom.com/api/update/changelog/","color":"green","x":1160,"y":880,"width":null,"height":null},"35b9ec1a-5517-4ec3-b29d-e08660bd99c2":{"ownerUri":"homey:manager:logic","id":"homey:manager:logic:get_string_from_json","type":"action","x":120,"y":820,"droptoken":"action::db04ad30-2619-405d-aeef-33313bcfc1c1::response","args":{"path":"$.0"},"outputSuccess":["69d67232-4e6a-4287-9eaa-7979c972da9e"]},"48a04cfa-26ab-470a-b29e-5bcfe551c612":{"ownerUri":"homey:manager:notifications","id":"homey:manager:notifications:create_notification","args":{"text":"Firmware update available.\nChangelog: [[action::69d67232-4e6a-4287-9eaa-7979c972da9e::string]]\n\nCurrent version: [[homey:app:com.athom.homeyscript|Current Homey firmware version]]\n\n[Poll for firmware updates]"},"type":"action","x":660,"y":1060},"d531b62f-b769-4b2f-bafa-5eed87986926":{"ownerUri":"homey:app:com.athom.homeyscript","id":"homey:app:com.athom.homeyscript:runCodeReturnsString_v2","args":{"code":"// backup results\n\nconst lAstbackup = await Homey.backup.getOptionLastSuccessfulBackup();\nawait tag ('Last succesful Backup', `'${lAstbackup.value}'`);\n\nreturn String(lAstbackup.value);"},"type":"action","x":100,"y":260,"outputSuccess":["3151ed23-b68f-4b88-8ec7-4f99fc419f30","f7fc550d-0b8e-49c9-a3e6-ec7d55c574a1","e68be1ac-87a9-45ab-9207-03d2d579a38e"],"outputError":["fab7f485-1793-41cd-8868-c92d3db07373"]},"e68be1ac-87a9-45ab-9207-03d2d579a38e":{"ownerUri":"homey:manager:logic","id":"homey:manager:logic:contains","droptoken":"action::d531b62f-b769-4b2f-bafa-5eed87986926::string","args":{"comparator":"﻿null"},"type":"condition","x":660,"y":260,"outputTrue":["16c20741-5cca-4621-a95d-9d55b5cc880e"],"outputFalse":[]},"16c20741-5cca-4621-a95d-9d55b5cc880e":{"ownerUri":"homey:manager:mobile","id":"homey:manager:mobile:push_text_critical","args":{"user":{"id":"6b333a3e-288a-4099-a0fb-f3903a605c74","name":"Peter Kawa","image":"https://api.athom.com/user/5f5748a6f5b9f00c9af4ee2a/avatar","athomId":"5f5748a6f5b9f00c9af4ee2a"},"text":"Backup errors: [[homey:app:com.athom.homeyscript|Last succesful Backup]]\n\n[Poll for firmware updates]"},"type":"action","x":1280,"y":180},"69d67232-4e6a-4287-9eaa-7979c972da9e":{"ownerUri":"homey:app:com.athom.homeyscript","id":"homey:app:com.athom.homeyscript:runCodeWithArgReturnsString_v2","args":{"code":"//Cut HTML tags\nvar htmllogNotagsA = (args[0]).replace(/<[^>]*>/g, '');\nvar htmllogNotagsB = htmllogNotagsA.replace(/\\\\r|{|}|[|]|[[|]]/g, '');\nvar htmllogNotagsC = htmllogNotagsB.replace(/\\\\n\\\\n/g, ' - ');\nvar htmllogNotags = htmllogNotagsC.replace(/\\\\n/g, '');\nlog(htmllogNotags);\n//console.log(args[0]);\n\nreturn String(htmllogNotags);","argument":"[[action::35b9ec1a-5517-4ec3-b29d-e08660bd99c2::created_tag]]"},"type":"action","x":120,"y":940,"outputSuccess":["9952ccde-9a09-411d-bf86-a835276a1628"]},"f7fc550d-0b8e-49c9-a3e6-ec7d55c574a1":{"ownerUri":"homey:manager:logic","id":"homey:manager:logic:contains","droptoken":"action::d531b62f-b769-4b2f-bafa-5eed87986926::string","args":{"comparator":"failed﻿"},"type":"condition","x":660,"y":180,"outputTrue":["16c20741-5cca-4621-a95d-9d55b5cc880e"],"outputFalse":[]},"9d33d26f-476d-4c11-bee4-89b2751aba66":{"ownerUri":"homey:app:com.athom.homeyscript","id":"homey:app:com.athom.homeyscript:runCodeReturnsString_v2","args":{"code":"// backup status 2016-2019 models\nconst sTate = await Homey.backup.getState();\nlet ePoch = sTate.$lastUpdated;\nlet dAte = new Date(ePoch);\n// make it readable\nlet jSon1 = JSON.stringify(sTate).replace(/{|}|\\\"/g, \"\");\nlet jSon2 = jSon1.replace(/,/g, \"\\; \");\nlet lastBackup = jSon2.replace(/:/g, \"\\: \");\nawait tag('Last Backup Status', `'${lastBackup}; Date: ${dAte}'`);\n\nreturn String(`'${lastBackup}; Date: ${dAte}'`);"},"type":"action","x":1280,"y":1160,"outputSuccess":[]},"b5c8ec0b-f426-4330-83d1-99560c77a60a":{"type":"note","value":"Backup results for Pro 2019 and earlier","color":"green","x":1160,"y":1080,"width":null,"height":null},"fab7f485-1793-41cd-8868-c92d3db07373":{"ownerUri":"homey:manager:notifications","id":"homey:manager:notifications:create_notification","args":{"text":"Backup ﻿(script) error: [[card::d531b62f-b769-4b2f-bafa-5eed87986926::error]]\n[Poll for firmware updates]"},"type":"action","x":1280,"y":560},"e75059bf-a75c-46b4-8f19-e32f32ac10a3":{"ownerUri":"homey:manager:notifications","id":"homey:manager:notifications:create_notification","args":{"text":"﻿Poll for updates ﻿(script) error: [[card::0f05bbb8-f231-47ff-bb5c-e10c0d97b0b6::error]]\n[Poll for firmware updates]"},"type":"action","x":1280,"y":420}}}

```

Find the used script

> **in here**
>
> ```auto
> // Poll Homey for new firmware updates
> // by @peter_kawa
> // Filtered out of the great "System Overview" script by @Caseda
> 
> let homeyVersion;
> await Homey.system.getInfo()
> .then(result => {
> tag('Current Homey firmware version', '"' + result.homeyVersion + '"');
> })
> .catch(() => log('Current Homey firmware version', 'Error fetching current firmware version'));
> 
> await Homey.updates.getUpdates()
> .then(result => {
> if(result.length > 0) {
> tag('Update available', result[0].version);
> } else {
> tag('Update available', 'No');
> }
> })
> .catch(() => tag('Update available', 'Failed to get updates'));
> 
> let undefined = 'true';
> return undefined;
> 
> ```

_Full “Homey Overview Script” [here](https://community.homey.app/t/homey-pro-overview-script/77459)_.

@J.W_Hoogervorst To email:

 ![880](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/6/a63f9b10908d041d6eb0b466cf608b768a0a6c58.jpeg)

---

_[View the full topic](https://community.homey.app/t/app-pro-sysinternals-shows-homey-s-system-internals/78650)._
