Device Sentinel: Detect Frozen Hardware with Device Learning

What is Device Sentinel

Home Assistant cannot tell the difference between a frozen device and one that has nothing to say. A door sensor that died hours ago will cheerfully report as “closed”, tricking your automations into running normally (Hey, who let the dogs out?). A dead freezer sensor still reads -18°C after its battery dies, which can cost you hundreds in rotting food.

Device Sentinel is a custom HACS integration built to fix those blind spots. It watches for frozen devices, dying batteries, and failing radio links before your automations break and your smart home stops working. DS respects your privacy and sends nothing to the Internet except the notifications you set up yourself.

Smart Freeze Detection

Device Learning replaces manually set timeouts. DS monitors the rhythms that each device reports, learns from that, and enables the integration to spot a frozen device Home Assistant itself can’t see. If a chatty motion sensor suddenly stops reporting, DS flags it in minutes. If a rain gauge speaks only when it sees rain, it is left alone.

Predictive Battery Timelines

Watching for a battery level to fall below a threshold is not the metric to rely on. A 15% charge means two months of life on one sensor and total failure this week on another. This is because different battery chemistries decay at different rates.

While an alkaline battery decays at a relatively uniform rate, a lithium cell (like a common CR2032 coin cell) will hold almost full charge for its entire life. When a lithium battery is near its end, its decay rate begins to accelerate. That CR2032 can last for 2 years above 80% and then die a week later. Relying on a threshold gives you a false sense of security.

Device Sentinel not only reports when a battery crosses a threshold, but it also watches for the telltale acceleration marking a battery’s coming end. For that dying lithium cell, DS can give a 30-day warning, even if it still claims an 80% charge.

The Interface

  • Zero-Config Monitoring From Day One: Device Sentinel watches the devices in Home Assistant from the moment you install it.

  • After Watching Your System, DS Helps with Settings Recommendations: These are meant to guide setup in the first week of learning so you don’t have to study the manual.

  • One Unified Problem List: Every fault is added to a Home Assistant to-do list.

  • One Alert When a Coordinator, Broker or Wi-Fi Network Goes Down: DS reports the failure you can fix, rather than giving you sixty separate alerts for every device that has become frozen or unavailable.

  • A Dashboard for Your Sidebar: The daily brief, problem list, battery and signal trends reports, and each device’s detail page gives you all the information necessary to improve your home.

  • Alerts That Respect Your Evening: Faults are sent to your phone as they happen, but quiet hours respect your sleeptime.

Join the Beta

The core freeze detection, battery math, and storage engines are stable. Device Sentinel has been running in hundreds of people’s homes and informing them of frozen devices and dead batteries they didn’t even know they had. Feedback has been positive and reported issues are repaired quickly.

Installing

Open your Home Assistant instance and open this repository inside HACS.

Device Sentinel is in the HACS default store.

  1. Open HACS, search for Device Sentinel, and open it.
  2. Click Download, then Restart Home Assistant.

You need Home Assistant 2026.5 or newer. The README has more about what it does, and the Installation and Setup page in the wiki walks you through installing and configuring it.

If the engine falsely reports a fault or misses a dead device, open a GitHub issue and attach your diagnostics file. I am specifically hunting for data from systems running Z-Wave, Matter, Lutron, Philips Hue, SmartThings, or routers from UniFi, FRITZ!Box, ASUS, NETGEAR, and MikroTik. I cannot test those locally, and I need your diagnostics files to build the math.

2 Likes

I’ve been testing this integration for the last two months, and have been very impressed. The developer has been very responsive. And the integration has a couple unique features that really help with my devices’ care and feeding, since I’ve got a relatively large number to maintain (currently about 450 devices).

It learns devices’ “rhythms”, to know if a long quiet time is normal, or if the device has been “unavailable” for too long, or if it’s “frozen”, and HA just keeps reporting the same value long after the device has quit talking.

And I really like the battery monitoring. I run Battery Notes, so I’ve already got info about type and quantity of battery for each device, and when each was last replaced. But it’s good to also have a tool that provides overall reports about status of the entire battery fleet. And this tool is great for recognizing different battery aging characteristics: some age linearly, and some stay “full” for most of their life, then rapidly drop off at the end. So I get advance notice before they drop dead.

I haven’t done much yet with the signal-strength monitoring, but I’m already seeing some cases where device placement could be improved for my Zigbee, Z-Wave, and/or Thread networks.

I’ve been in IT for many years, and got used to tools that provide device / network monitoring and alerting. So it’s nice to have this for HA.

1 Like

0.26.8: Moving toward the Default HACS Store, plus Matter, Z-Wave, a New Simple Dashboard, and more Efficient Storage.

First off, thanks to everyone who’s installed Device Sentinel over the past few months, and a huge shoutout to @tim.plas for testing Z-Wave and Matter so thoroughly on his 450-device HA setup.

Almost in the Default HACS Store

Right now, installation of Device Sentinel is through a Custom Repository in HACS, but we are in the final stages of being added to the Default HACS Store (so it will show up directly in HACS search without needing to paste the repository URL). Our HACS submission was just reviewed, and all requested changes, like locking down admin controls, are built into today’s release.

Highlights in 0.26.8

Support for Matter, Z-Wave, ESPHome & Lutron Caséta:

  • Matter & ESPHome: Plugged-in devices that are simply quiet are no longer falsely flagged as frozen. Instead, they are judged by their live connection. If one loses power or drops off the network, it is reported unavailable within minutes.

  • Z-Wave: Devices marked dead by Z-Wave JS are now caught and reported as unavailable (while normal asleep or awake battery cycles are ignored).

  • Lutron Caséta (Experimental): Requested in issue #14, Lutron lights, switches, and Pico remotes are monitored via their hub, so a hub going down is a single alert and rarely used lights don’t trigger false alarms.

  • New “Simple” Mode Dashboard: New installs now open in Simple mode: a clean view that shows only what is broken and what to do about it, asking little of you during the learning week. You can flip the switch at the top anytime to enter Advanced mode for deep-dive trends, charts, and configuration.

Smarter Freeze Learning & Zero Media Noise:

  • Quiet Devices: If a device only reports when used, or if you manually toggle a frozen device in HA, Device Sentinel won’t let that skew its learned rhythm.

  • Auto-Exclusions for Media: TVs and speakers become unavailable when they are turned off. Device Sentinel automatically excludes Music Assistant, LG webOS, Android TV, Samsung TV, Apple TV, and DLNA integrations so they won’t clutter your problem list.

  • Upgraded Battery Ranges & Replacement Tracking: Battery life remaining is now calculated as a confidence range based on each cell’s unique history (narrow for steady cells, wider for jumpy ones), with visual fail-date projections on the battery chart. Plus, DS now spots when you swap in a fresh battery and asks you to confirm the replacement date.

  • Smaller Daily Storage: History older than 30 days is split into its own archive file, reducing daily read/write file sizes by about 40%, on a 90-day retention, while keeping full automatic backup recovery.

Help Build Philips Hue & SmartThings Support

If you run Philips Hue or SmartThings, 0.26.8 adds an Extended Diagnostics toggle in the configuration. Turning this on includes bridge and device state patterns in your local diagnostics file so we can build native support for them next (nothing is ever sent outside your home unless you choose to attach the file to a GitHub issue).

Read the full 0.26.8 Release Notes on GitHub (Note for existing users: if you are upgrading from an earlier version, check the release notes for a few minor breaking changes around mutes and removed bulk-enable buttons).**

Here is what people have asked for, and how Device Sentinel implemented it:

  • Matter: a Matter device that loses power is reported unavailable within minutes, and a light or plug that is being quiet is not reported frozen incorrectly.
  • Z-Wave and ZHA: a dead node is reported unavailable, and a coordinator or Z-Wave JS outage becomes one alert.
  • Wi-Fi: a network outage becomes one alert, not one per device.
  • Alarm-grade reliability: Device Sentinel fires an event when a device fails and another when it recovers, so an automation you write can act quickly on a frozen device. I use them to power-cycle my presence sensors when they stop working.
  • An easier install: Device Sentinel is in the HACS default store: one search to install, and HACS takes care of updates. On a fresh install, the integration opens in simple mode and the Recommendations tab of the dashboard tells you where to begin with no instructions to read.

And the part I am most proud of… Device Sentinel now creates a dashboard in your sidebar, and each device gets a page showing everything Device Sentinel knows about it. Here is a door sensor in my guest room:

The Device Sentinel device page for a door sensor: its reporting bar, identity, power, signal and last seen details, both learned rhythm charts, its silences, and battery, signal and rhythm history

  • Is it alive? The bar at the top shows the last report against the device’s learned rhythm and the window before it is reported frozen. This one rarely goes more than 20 minutes between speaking, so it is quickly reported when it becomes frozen.
  • Its battery. The battery it takes (2× AAA), the day you last replaced it, and the time it has left: this one is falling faster each week and has about 3 to 5 weeks.
  • Its signal against its normal, showing when it has a bad day and any events that occured that may have caused it.
  • More Information. The dashboard shows you more information about your devices in one place than anywhere else in Home Assistant.
  • Fix it on the dashboard. Rename it, set its type, label, or area, mute it for one kind of problem, or exclude it, right on the page.

Install it from HACS, then start with the README and the Wiki. Questions and bug reports are welcome here or on GitHub.