Looks to me more for a Device Capabilities or Virtual Devices App.
Don’t think this is something I want to add.
Am thinking about something else to add / improve in sysInternals.
Looks to me more for a Device Capabilities or Virtual Devices App.
Don’t think this is something I want to add.
Am thinking about something else to add / improve in sysInternals.
Guess that is only possible to do when fe sysInterals restarts the App, else we have to pol the status continu, not efficient and creating unnecessary load.
Hi Ria,
Is this still an issue? Can you restart the App and send a Log from the App.
Finding some new motivation to (make some time to) continue development
Too bad, but thanks anyway for this wonderful app!
Is that possible? Via sysinternals? (cannot find that option)
Nope, not yet.
But I check starting of apps only after a Homey restart.
After that it isn’t monitoring the apps.
So once you restart the app sysInternals doesn’t notice.
The only way to see if an app is restarted is when sysInternals knows you want to restart or when I let it subscribe to all these events.
Would be great if that can be added: restart an app and monitor if is has restarted.
My car charger sometimes has hickups, that require a restart to fix.
I have build a flow that can detect the hickups, and it already restarts the app (standard homey funtionality). I need to restart the charging when the app is up again..
All values are present now. Thanks for your work
Imho nothing to do with the app, just how the appstore works.
It is only promoted from test to live version 2 days ago.
Ah sontest started in 2024? I get it
Great app! Used it on Homey Pro 2019 for years. Can this be updated for Homey Self-Hosted Server as well?
Hi @Dijker,
Would it be possible to add the Homey Pro (2026) to the app? I tried installing the “early 2023” model, but the storage information is missing.
Hi Dirk,
Hmm it should work. On top of my head it can take a while for storage data to appear.
I installed it as new app on a Pro 2026, after migrating from a Pro 2019:
I installed the app on my HP26 on January 27, so no migration. Until yesterday, when I published my post here, no data was displayed.
Yesterday afternoon, I installed the new Homey firmware v12.11.0. Now the data is displayed.
A restart of the app or Homey might have solved the problem earlier, but who knows.
Thank you very much for your feedback @SunBeech and @Peter_Kawa. ![]()
Dear Developers if this app
Thank you very much for this masterpiece.
My suggestion is to add a Boolean and/or tekst value that shows if there is a new firmware update available for a Homey Device. And maybe specify in the advanced settings of the homey device the time period of hours inbetween a check for an available update is done with the minimum of 4 hours. Because like me there might be enough users that have disabled the automatic update function to assure the they can choose when to update their device.
The 2nd/additional text field/value coud shiw the current firmware version against the new available firmware version like for example “12.11.0 / 12.12.0”.
I don’t know if its possible but just a suggestion to make your 95% perfect app maybe 97% ? ![]()
![]()
P.s : Is there any way to check the availability and new firmware version (number) by a(n advanced) flow myself ?
For now, I am using trackly.io for tracking the firmware page for updates.
It would be nice to be able to receive an email when there’s an firmware-update.
Good question, @DoctorBazinga , made me think “want that too”.
And This isn’t tested , whilst there’s no pending update at this time in the meantime.![]()
![]()
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 using the ALT key):
{"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}}}
// 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.
@J.W_Hoogervorst To email: