HA Sentinel: what stopped working, since when, what it depends on (testers wanted)

Hi all,

I’ve been building HA Sentinel, a custom integration that watches your Home Assistant installation and answers four questions:

  • What stopped working?
  • Since when?
  • What does it depend on?
  • What can I safely do about it?

It runs entirely locally: no cloud, no account, no telemetry, no AI. It keeps its own small SQLite database in your config folder and never touches the Recorder database or other integrations’ files.

Repository: GitHub - MarcinG81/HA-Sentinel: Local health, change history and dependency insight for Home Assistant: what stopped working, since when, what it depends on, and what you can safely do about it. · GitHub
Status: 0.1.0, first public release. It works on my test instances and on my own home, and now I need more homes to find the rough edges.


Install (HACS)

  1. HACS → Integrations → ⋮ → Custom repositories → add https://github.com/MarcinG81/HA-Sentinel, type Integration.
  2. Download HA Sentinel (v0.1.0) and restart Home Assistant.
  3. Settings → Devices & services → Add integration → HA Sentinel. It doesn’t ask for any token.
  4. A Sentinel item appears in the sidebar. It’s visible to administrators only.

Requires Home Assistant 2026.5.1 or newer (tested on 2026.5.1 and 2026.10.2).


What’s in the panel

Overview. The health score (0–100) with its coverage, active incidents, and the state of each Sentinel module. The score is never shown as “healthy” when data is missing: for the first 15 minutes, or after a monitoring gap, it is greyed out as partial. A table lists every part of the score (one unit per device), and you can give important devices a higher weight (1–5).

Doctor. Incidents and how to handle them. Related problems are grouped into one incident: if 14 entities of your tumble dryer go unavailable, you get one incident, not 14. Each incident keeps four things apart: what was observed, the probable cause (a ranking, not a probability), any counter-evidence, and a suggested check. You can acknowledge, mute for a while, or confirm or reject the cause. The rules:

  • unavailable, unknown and flapping entities
  • low battery, including a manual battery mapping for levels without a battery device class
  • missing heartbeat, only for entities you declare
  • missing or renamed entities referenced by imported YAML
  • automations that didn’t run when you expected them to (your weekday and time calendar)
  • weak signal, against a scale and threshold you set
  • updates available
  • Sentinel’s own storage running full

Also in this tab: maintenance windows (planned work doesn’t raise alarms and doesn’t count in the score), per-object rule settings (turn a rule off or change a threshold for one entity), and numeric sources.

Config history. Import your automations, scripts or blueprints (paste the YAML) and keep versions with a semantic diff (“the order of actions changed” versus “only a comment changed”). Secrets are never stored in plain text. Optionally, for a dedicated managed file you include yourself, Sentinel can restore a previous version: preview, approve, then a journaled atomic write, automation reload, verification and automatic rollback. It never edits files that the HA editor owns. Sentinel’s own settings are versioned here too.

Autopilot (off by default, enable it in the options). Static checks of your automations, each pointing to the exact line: missing entities, loops, conflicting automations, missing hysteresis, risky actions. A small wizard drafts a simple “when X, turn lights on or off” automation as YAML for you to copy. A replay runs an automation against recorded history to show when it would have triggered, and it never calls any action.

Map. A dependency map built from your registries and imported YAML: “what depends on this?” and “what does this depend on?” for any entity, device or integration. Every link shows where it comes from and how sure it is. The map is versioned, so you can look at it as it was before a rename.

Network. By default Sentinel only uses what Home Assistant already knows; it never scans your LAN. You can describe hosts (NAS, router) yourself and link them to devices; Sentinel suggests matches by MAC address or hostname, but only you confirm them. Optional active probes check TCP/HTTP endpoints you approve, with address allowlists and rate limits.

Diagnostics. Queues, monitoring gaps, performance metrics (Sentinel’s own timings) and versions.

Settings. A link to the integration options, the state of your Home Assistant backups (with a “create backup now” button that uses your own backup settings), data retention, a redacted export, and deletion of Sentinel’s data.

Options (Settings → Devices & services → HA Sentinel → Configure) let you switch modules on and off, choose which entity domains are observed, and set retention, storage budget, network probes and notifications. Notifications are off by default.


What I’d like testers to do

Install it, let it run for a few days, and tell me:

  1. False alarms. Incidents for devices that are fine, or are supposed to be off: dryers, watches, sleeping sensors. These help me tune the rules most.
  2. Missed problems. Something broke and Sentinel stayed quiet.
  3. Wrong grouping or wrong cause. Incidents merged that shouldn’t be, or a cause that makes no sense.
  4. Performance. Number of entities, hardware (Pi, NUC, VM), and whether HA feels slower. The Diagnostics tab shows Sentinel’s own timings.
  5. Anything confusing in the panel (it’s available in English and Polish).

Please open an issue: Issues · MarcinG81/HA-Sentinel · GitHub

Include your HA version, roughly how many entities you have, and if possible a redacted export (Settings tab → Export, scope Diagnostics). Names and entity IDs are replaced with pseudonyms, and IP addresses, MAC addresses and hostnames are never included, but please glance at it before posting.

Known behaviour in 0.1.0: on the very first start, devices that were already unavailable (for example a dryer that’s switched off) show up as incidents dated at Sentinel’s start time. That date means “at least since”, not when the problem began. You can turn a rule off per entity in Doctor → Rules per object. Turning rules off per device and clearer “at least since” wording are next on my list.

Privacy: nothing leaves your Home Assistant. You can delete all Sentinel data from the Settings tab. Removing the integration does not touch the Recorder or your backups.

Licence: GPL-3.0. Thanks for testing! :folded_hands:

Try fixing the formatting, I need to side-scroll to see the whole text.

Thanks fixed.