The Important Entities Watchdog is a custom integration for Home Assistant that monitors whether important entities are still sending data – and makes it visible when a device goes silent. Unlike the built-in unavailable state, it also catches sensors that keep reporting a frozen, stale value.
The problem
Home Assistant only marks a device as unavailable once the integration actively reports the failure. Many devices never do: the battery is dead, the WiFi is gone or a token has expired – the entity simply keeps its last value. From the standard display this is hard to spot.
The Watchdog therefore checks not the value but the time of the last update (last_reported) and compares it against a configurable time window.
Features
- Monitors all entities carrying a specific Home Assistant label
- Creates a binary sensor per entity (
device_class: connectivity): on = reported within the period, off = silent - Summary sensor per configuration: count plus list of silent devices (
silent_entitiesattribute) - Dynamic membership: adding/removing the label automatically creates or deletes the sensors
- Two evaluation modes: real-time and polling
- History is preserved across reloads (stable
unique_ids) - Interface in German and English
Installation
Via HACS (planned): add the repository as a custom integration, install, restart Home Assistant.
Manually: copy the folder custom_components/important_entities_watchdog/ into config/custom_components/, restart Home Assistant, then add it under Settings → Devices & Services → Add Integration.
Configuration
One entry is created per label and period combination:
- Select a Home Assistant label (e.g.
critical) - Choose a period:
1m,10m,1h,6h,12h,24hor7d - Optionally enable real-time mode
An entity counts as silent when it hasn’t reported anything within the period. Settings can be changed later without losing the history.
Created entities
For the label critical with period 24h:
- one binary sensor per monitored entity
binary_sensor.important_entities_watchdog_critical_<source>_24h - a summary sensor
sensor.important_entities_watchdog_silent_critical_24h– state = number of silent devices, attributesilent_entities= list of entity IDs (plus, among others,tracked_entities,tracked_count,period_seconds,next_check,tick_seconds) - a cleanup button for orphaned sensors
button.important_entities_watchdog_clean_orphans_critical_24h
Evaluation modes
Polling (default): evaluation runs on a tick of period/10 (for 24h, roughly every 2.4 h). Saves resources for frequently reporting sources; detection is delayed by at most one tick.
Real-time: the Watchdog subscribes to state-change events and detects failures instantly, with a safety tick every 60 seconds. Useful for short periods and critical devices.
Example automations
Daily report of silent devices:
automation:
- alias: "Watchdog – morning report"
trigger:
- platform: time
at: "08:00:00"
condition:
- condition: numeric_state
entity_id: sensor.important_entities_watchdog_silent_critical_24h
above: 0
action:
- service: notify.mobile_app_phone
data:
title: "Silent devices"
message: >
{{ states('sensor.important_entities_watchdog_silent_critical_24h') }}
device(s) no longer reporting:
{{ state_attr('sensor.important_entities_watchdog_silent_critical_24h',
'silent_entities') | join(', ') }}
Instant alert as soon as a new device goes silent:
automation:
- alias: "Watchdog – instant alert"
trigger:
- platform: state
entity_id: sensor.important_entities_watchdog_silent_critical_24h
condition:
# only when the count rises, not when recovering
- condition: template
value_template: >
{{ trigger.to_state.state | int(0) > trigger.from_state.state | int(0) }}
action:
- service: notify.mobile_app_phone
data:
title: "Device went silent"
message: >
Newly silent:
{{ state_attr('sensor.important_entities_watchdog_silent_critical_24h',
'silent_entities') | join(', ') }}
Limits
- Restart false positives: after an HA restart,
last_reportedis reset – shortly after startup, devices may falsely appear silent. For instant alerts, a short grace period after boot is recommended. - Polling latency: in polling mode the detection delay is up to one tick (period/10).
- Per-entity uptime (availability in percent) is not yet implemented.
- Tested with Home Assistant 2024.x and 2025.x.
Links
Source code and docs under the MIT licence on GitHub – issues and pull requests welcome. A good companion: our Advanced Entity Selector Card to find and label the entities you want to monitor in the first place.