# \[HomeyScript\] Regular system overview by email with a change summary

**URL:** <https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768>\
**Category:** Tutorials\
**Tags:** homey-pro, system-about, system\
**Created:** [August 26, 2026, 8:40am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768 "2026-08-26T08:40:17Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 26, 2026, 8:40am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/1 "2026-08-26T08:40:17Z")

</div>

# [HomeyScript] Schedule a system overview by email and include a summary of what has changed

**TL;DR:** A HomeyScript that emails you a clean HTML overview of your whole Homey system: apps, flows, devices, Z-Wave, Zigbee, backup/storage/memory health, moods, alarms, and more, with a “Summary & Actions” section up top that only shows what _changed_ since the last run (new broken flows, apps that started crashing, WiFi drops, throttling, a firmware update, a stale backup, etc.), so you don’t have to read the whole report every time. No recipient hardcoded; you set your email via a flow argument.

**Script + setup instructions:** see below

Hi all,

I wanted a quick way to keep an eye on my Homey Pro without manually clicking through apps, flows, and devices every week, so (together with Claude 😉 ) I put together a HomeyScript that builds an HTML “system overview” and emails it to me. Since it’s grown into something reasonably polished, I figured it might be useful to others too.

## What it does

- Pulls together everything HomeyScript can see: system info & uptime, update availability, last backup, storage & memory usage, throttling/under-voltage status, users, apps (incl. channel and disabled/crashed breakdown), basic + advanced flows, logic variables, HomeyScript scripts, devices (virtual, infrared, other, group devices), moods, alarms, Z-Wave, and Zigbee.
- Builds a clean HTML report (table of contents, collapsible-feeling sections, back-to-top links) and emails it to you via any app that provides a “send email” flow action card.
- The best part, in my opinion: it remembers the previous run’s state (in a logic variable it manages for you) and puts a **“Summary & Actions”** section at the top with just what _changed_: new broken or disabled/crashed flows and apps, WiFi/Ethernet/throttling status changes, new users added, devices added/removed, a firmware update or Homey rename, a stale backup, and so on. Item names are shown in bold, so you know exactly what to look at without reading the whole report every time.
- Runs whenever you want: daily, weekly, whatever your own flow trigger dictates. It doesn’t assume a schedule.
- A setting to send a short Summary-only email on runs where nothing changed, and only include the full detail report when something actually needs attention.
- A couple of settings near the top you’ll likely want to change: your fallback email address and your timezone (so the date/time in the email matches your local time rather than the sandbox’s default).
- Optional: also get the Summary on WhatsApp via the community CallMeBot app, alongside the email; off by default, see the README.

## **What it looks like**

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/f/af3c26af4bb7739b2483a60473d46b561428128f.jpeg)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/8/28153ab771c18add7f6c6cd5fe5720011f42fb83.jpeg)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/0/70265987ad31d5f2d9237de6fd85b7c4d5f71f87.jpeg)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/0/30919d0ab7c62a282133595e7f919db3cd70a3fa.jpeg)

## What you need

- **A Homey 🙂** (Homey Pro, or Homey Self-Hosted).
- The **[HomeyScript](https://homey.app/nl-nl/app/com.athom.homeyscript/HomeyScript/)** app.
- Any app that provides a **“send email”** flow action card. I use the “[Email Sender](https://homey.app/nl-nl/app/email.sender/Email-versturen/)” app, but anything with a `sendmail`-style card works (or a small tweak if yours differs; see the gist’s README).
- A basic flow: time trigger → “Run script with argument” → your email address as the argument. That’s it: no recipient hardcoded in the script itself, so it’s easy to reuse.
- _(Optional)_ The **CallMeBot** app with a WhatsApp device added, if you also want the Summary sent to WhatsApp. Not needed for the email report; see the README.

## Where to get it

- **[Homey Overview - current version (v1.7.2)](https://raw.githubusercontent.com/dgalama-dotcom/HomeyOverview/refs/heads/main/Homey%20Overview%20v1.7.2.js)**
- **[README / setup instructions](https://raw.githubusercontent.com/dgalama-dotcom/HomeyOverview/main/README.md)**
- **[Changelog](https://github.com/dgalama-dotcom/HomeyOverview/blob/main/CHANGELOG.md)**

## Feedback welcome

I’ve been running this for a while and it’s caught a few things I would’ve otherwise missed (a flow that quietly broke, an app that started crashing after an update). If you spot something odd for your setup, or have ideas for what else would be worth surfacing in the summary, let me know; happy to keep improving it.

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [August 26, 2026, 9:11am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/2 "2026-08-26T09:11:11Z")

</div>

Nice start of a wrapper for the overview script from Caseda

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [August 26, 2026, 10:13am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/3 "2026-08-26T10:13:29Z")

</div>

Okay, not wrapper but adaptation. Would like it to be more compact. Some listings cry for multi columns.

---

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 26, 2026, 10:21am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/4 "2026-08-26T10:21:33Z")

</div>

Thanks for the remark! I will check if I can integrate some of Caseda’s output that is now lacking in my overview.  
My primary goal with this script is to track and record changes, not necessarily to send the overview.  
I may include an option to include the detailed overview only in case of a change, to keep things clean and simple.

---

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 26, 2026, 2:45pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/5 "2026-08-26T14:45:01Z")

</div>

Updated to v1.1 with your remarks. Thanks again!

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [August 27, 2026, 2:47pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/6 "2026-08-27T14:47:16Z")

</div>

Tried your script. It always says: first run.  
Am using a homey pro 2023

---

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 27, 2026, 3:17pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/7 "2026-08-27T15:17:46Z")

</div>

Thanks for reporting this, indeed a bug.

The comparison snapshot (a Logic variable the script manages called `Overview_previous_snapshot`) was only ever _updated_ if it already existed (like on my Homey), but the script never actually _created_ it in the first place. So on a fresh install it never got created, the snapshot was never saved, and every run started from scratch and reported “first scan”.

Fixed in **v1.1.1** (link updated in the first post). If you update to the new version: the very next run will still say “first scan” (since there’s genuinely nothing to compare against yet at that point), but the run after that should correctly show a comparison.

Let me know if it works for you now.

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [August 27, 2026, 8:52pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/8 "2026-08-27T20:52:03Z")

</div>

Your fix worked.

---

<div class="post-metadata">

**Author:** ![Jason\_Jackson1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jason_jackson1/32/169158_2.png) [@Jason\_Jackson1](https://community.homey.app/u/Jason_Jackson1)\
**Post date:** [August 28, 2026, 11:57am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/9 "2026-08-28T11:57:38Z")

</div>

Hi

I’m having an issue where the Manual and automatic when run dont apper to send the email, the end of the script says it sent it to my email address.

I’m using emil sender and a gmail email account and when i use the test settings in email sender i get the test email.

I changed the default email to my gmail address i also followed the instructions to creat a flow to trigger the script and i put my email into the argeument.

I’m not sure if ive missed something btw

---

<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:** [August 28, 2026, 12:39pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/10 "2026-08-28T12:39:36Z")

</div>

Please read app page info @ app store, Jason 😉

 ![Screenshot_20260828_143443_Ecosia](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/9/c9b650b47918f175279f0dff797f307e98beefa8.jpeg)

Here’s a direct link for you to create the needed Gmail “app password”:  
[https://support.google.com/accounts/answer/185833?hl=en](https://support.google.com/accounts/answer/185833?hl=en)

---

<div class="post-metadata">

**Author:** ![Jason\_Jackson1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jason_jackson1/32/169158_2.png) [@Jason\_Jackson1](https://community.homey.app/u/Jason_Jackson1)\
**Post date:** [August 28, 2026, 1:06pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/11 "2026-08-28T13:06:36Z")

</div>

Ive managed to do that before i started seting up the script.

It’s now working so i take it something hadent updated or saved..

---

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 28, 2026, 1:51pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/12 "2026-08-28T13:51:33Z")

</div>

Glad it’s working now!  
But your remark triggered me to add an extra check. So, I’ve just pushed **v1.1.2** , which at least makes sure the script reports an error if Email Sender does hand one back, instead of silently saying “sent” either way.

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [August 28, 2026, 4:19pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/13 "2026-08-28T16:19:30Z")

</div>

My five cents:  
When you compare unreachable zwave nodes you don‘t list them. On compare of removed/ added zwave devices the list is a continous comma seperated list like:  
…scan: **Plug 1, Device door! …**.  
Guess the other lists have same layout, or? I prefer a bit easier readable listing.  
And when I use the flag: don’t show battery zwaves the log says: none though it should be at least: not listed. Better skip the header too.

---

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 29, 2026, 6:47am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/15 "2026-08-29T06:47:07Z")

</div>

Thanks for your feedback. Fixed all your points in **v1.2.0** :

1. **Unreachable Z-Wave nodes now list which nodes** , not just a bare count. Same fix applied to “unknown type” nodes.
2. **Names in the Summary now show as a proper bulleted list** instead of one comma/and-joined sentence, so should be much easier to scan.
3. **The battery-devices header (and every other toggle-gated header/list in the report) is now skipped entirely when its setting is off**, instead of staying visible with a misleading “— none —”. While fixing this I found the same bug also silently affected the _comparison_ logic for several other categories (not just the on-screen display), so that should be fixed too.

Let me know if anything still looks off.

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [August 29, 2026, 4:38pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/16 "2026-08-29T16:38:04Z")

</div>

Looks good.

---

<div class="post-metadata">

**Author:** ![Jason\_Jackson1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jason_jackson1/32/169158_2.png) [@Jason\_Jackson1](https://community.homey.app/u/Jason_Jackson1)\
**Post date:** [August 29, 2026, 6:08pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/17 "2026-08-29T18:08:50Z")

</div>

@DGalama Thanks for a very usfull script, but also so very clear instructions

---

<div class="post-metadata">

**Author:** ![telenut](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/telenut/32/12666_2.png) [@telenut](https://community.homey.app/u/telenut)\
**Post date:** [August 29, 2026, 8:27pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/18 "2026-08-29T20:27:24Z")

</div>

Nice.  
But the email option does not work here… I installed the “send mail” app and test mails arrive ( telenet)  
But it looks like no other mails seem to work.  
I guess that is not the problem of your script. Suggestions for other options besides email?

---

<div class="post-metadata">

**Author:** ![DGalama](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dgalama/32/10402_2.png) [@DGalama](https://community.homey.app/u/DGalama)\
**Post date:** [August 30, 2026, 7:27am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/19 "2026-08-30T07:27:13Z")

</div>

Indeed probably nothing to do with the HomeyScript. Have you checked the Troubleshooting section in the README? Also, have your seen [this](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/10) comment by Peter\_Kawa?

And of course, you can always run the script in the Homey app in your browser and check the output there.

---

<div class="post-metadata">

**Author:** ![acaenepeel](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/acaenepeel/32/2113_2.png) [@acaenepeel](https://community.homey.app/u/acaenepeel)\
**Post date:** [August 30, 2026, 11:47am UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/20 "2026-08-30T11:47:28Z")

</div>

I had the same problem, what fixed it for me is to first restart the “Send mail” app after saving the correct settings.

---

<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:** [August 30, 2026, 3:44pm UTC](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768/21 "2026-08-30T15:44:49Z")

</div>

Does it work when you define the correct fallback email address in the script and don’t use the email as argument in the Homeyscript flowcard?

> Near the top of the script, find this line:

> `const DEFAULT_MAIL_TO = 'your.email@example.com';`

Replace `your.email@example.com` with your own email address, leave the single quotes around it.

[Next page](https://community.homey.app/t/homeyscript-regular-system-overview-by-email-with-a-change-summary/158768.md?page=2)
