Device Watchdog - Settings Guide
This is a rundown of every setting, what it does, and where the underlying value actually comes from.
Automatic scan
- Automatic interval active - turns background scanning on/off. Off = no periodic scan, but “Run device scan now” (Settings button or Flow action) still always works.
- Scan interval (minutes) - how often the automatic scan runs.
Default thresholds (apply to every device unless overridden per-device under “Details”)
- Hours without update until “offline” - a device is flagged “not reporting” once this many hours pass without a capability value changing. Source: the newest
lastUpdated timestamp across all of a device’s capabilities, as reported by Homey.
- Count Homey’s “last seen” toward “not reporting” (off by default) - when enabled, Homey’s own connectivity confirmation also counts as a sign of life, not just capability changes. Useful for devices (Zigbee routers, pure event sensors) that rarely change a value but are still clearly connected. Source:
lastSeenAt, Homey’s own last-communication timestamp for the device - independent of any specific capability.
- Battery warning at (%) - flags a device once its battery percentage drops to/below this. Source:
measure_battery capability value, or alarm_battery (any true value always flags, regardless of %).
- Delay before “unavailable” counts - grace period before a device going unreachable is treated as a confirmed problem (default 0 = instant). Useful for brief disconnects, e.g. another app updating, or Homey itself restarting. Source:
available flag from Homey, tracked in realtime; the delay only affects when it’s confirmed, not the underlying signal.
Notifications
- Timeline entry on new problems - writes a Homey Timeline entry the moment a device newly becomes a problem. Once per state change, no repeat spam while it persists.
Virtual device alarm
- Three toggles controlling which categories (unavailable / not reporting / low battery) trip the virtual Watchdog device’s
alarm_generic capability. The three count capabilities always show the real numbers regardless - this only filters the combined alarm.
Display
- Increase text contrast (dark mode) - lightens muted/secondary text (hints, timestamps) further for bright ambient light.
Reset
- Reset to factory settings - button at the bottom of Settings that resets all default thresholds and every per-device rule back to defaults in one go. History log and last scan are left untouched (there’s a separate “Clear log” for that).
Per-device overrides (via “Details” on any device)
- Hours until “offline” - per-device override of the global threshold.
- Ignore unavailable - excludes this device from the summary trigger, timeline, and log for the unavailable category specifically. Its own per-device Flow trigger still fires. Good for a flaky device you don’t want spamming the aggregate notifications.
- Delay before “unavailable” counts - per-device override of the global grace period.
- Count “last seen” toward “not reporting” - per-device override of the global setting (Default / Yes / No). Lets you enable it for specific chronically-quiet devices without loosening detection everywhere.
- Battery threshold % - per-device override.
- Only check battery - skips the “not reporting” check entirely for this device (battery-only monitoring).
- Ignore battery - excludes this device from battery checks entirely.
- Apply to same-type devices - once a device has any override set, a button appears to copy those settings onto every other device of the same type (same app + same Homey driver, e.g. all your Aqara motion sensors) in one go - shows a preview of exactly which devices before you confirm.
- Reset - clears all overrides for this device back to defaults.
- Monitoring toggle (switch next to the device) - removes the device from monitoring entirely. Good for virtual devices, mains-powered devices, or anything you just don’t want watched.
- Test button (only shown for devices with
onoff/dim) - re-sends the device’s current value to itself, a non-intrusive way to check it’s actually reachable right now.
Devices tab
- Search - filters by name.
- Sort - “Status first” (problems on top), “Name (A-Z)”, or “Zone + Name (A-Z)” (groups alphabetically by zone instead of Homey’s own zone order).
- Stat tiles (Total / Offline / Low battery / Not monitored / Custom rules) - click any to filter the list.
- Zone group bulk buttons - “Ignore zone” / “Monitor zone” toggles every device in that zone at once.
What the three statuses actually mean
ok - reporting recently, battery fine.
not reporting - Homey still shows it connected, but no new data recently (see the setting above for what counts as “new data”).
unavailable - Homey itself has lost the connection (available: false), tracked in realtime.
Device Watchdog - FAQ
Q: Why is a device marked “not reporting“ even though it seems fine?
A: “Not reporting” tracks the time since a capability last changed value - not whether Homey can still reach the device (that’s “unavailable”). Event-driven devices (contact sensors, some Zigbee routers) only send data when something actually changes, so long gaps are normal for them. If you don’t want it flagged, either raise its threshold above its normal reporting gap, or enable “Count Homey’s ‘last seen’ toward ‘not reporting’” in Settings (globally, or just for that one device).
Q: What's the difference between “not reporting“ and “unavailable“?
A: “Unavailable” = Homey’s own connection to the device is down right now. “Not reporting” = Homey still shows it connected, but its data has gone stale. A device can be one, both, or neither.
Q: A device flickered to “unavailable“ for a few seconds and I got a notification - can I avoid that?
A: Yes - set “Delay before ‘unavailable’ counts” (global or per device) to a few seconds/minutes. Only a device still down after that grace period gets flagged/notified. Recovery is always instant, never delayed.
Q: Can I exclude a device entirely?
A: Yes, flip the toggle switch next to it in the Devices tab. Useful for virtual devices, mains-powered devices, or anything you just don’t need watched.
Q: I have a flaky device that keeps going unavailable - can I stop it from spamming me without ignoring it completely?
A: Use “Ignore unavailable” under its Details. It stays out of the summary trigger, timeline, and log, but its own per-device Flow trigger still works if you’ve built something around it specifically.
Q: Does the app replace Homey's own presence/connectivity detection?
A: No, it reads Homey’s own device status (available, capability data) and turns it into thresholds, Flow cards, a history log, Timeline entries, and a virtual device for Insights - it doesn’t replace or duplicate any core Homey functionality.
Q: Where does “last seen“ actually come from - can I see it in Homey itself?
A: It’s Homey’s own internal lastSeenAt field via the API, not something shown as a labeled field anywhere in Homey’s standard UI as far as I know.
Q: Does this app send any data outside my Homey?
A: No, everything runs locally on the Homey itself.
Q: I updated another app and a bunch of devices flagged unavailable - is that expected?
A: Yes, that can briefly happen while a driver restarts. Configuring a delay (see above) is the way to absorb that without a false alert.
Q: Can I get a Flow trigger for a specific device, not just the aggregate?
A: Yes - each category (battery low / not reporting / unavailable) has both a per-device trigger (with a device picker) and a summary trigger that fires once for a whole batch with a count + name list.
Q: I have several identical devices (e.g. 10 of the same motion sensor) - do I have to configure each one individually?
A: No - configure one of them under “Details”, then use the “Apply to same-type devices” button that appears. It only matches devices from the same app AND the same Homey driver (so it won’t lump, say, all your Shelly products together if they’re actually different models), and shows you exactly which devices will be affected before you confirm.
Q: I want to undo all my configuration and start over - is there a quick way?
A: Yes - “Reset to factory settings” at the bottom of the Settings tab resets every threshold and per-device rule back to default in one click (with a confirmation first). Your history log and last scan results are left alone.