Entity Availability — know when your devices go offline, and how reliable they really are

Hi everyone!

I built this integration a while back but never got around to posting it here. Finally doing it. :grinning_face_with_smiling_eyes:

It’s already in the HACS default list. Just search **Entity Availability** and install directly, no custom repository URL needed.

## What is it?

**Entity Availability** monitors groups of your Home Assistant devices and answers the questions you keep asking yourself:

- *Is that door sensor actually working, or has it been offline for hours?*

- *Which camera went down last night?*

- *How reliable is my Zigbee network, really?*

- *That motion sensor did stop reporting, or is it just quiet?*

You organize devices into groups (e.g. “Security”, “Climate”, “Media”) and the integration creates sensors for each one. There’s no database dependency, data is stored in its own storage file, so your Home Assistant database stays lean.

## The highlights

**Offline detection**

Detects when a device goes unavailable or unresponsive (or any state you choose). A cooldown period means quick dropouts don’t trigger false alerts.

**Availability %**

Shows what percentage of the time your group of devices was fully online, covering today, over the last 3 days, and the last 7 days.

**MTBF & MTTR**

Two sensors that go deeper than a simple availability percentage:

- *MTBF (Mean Time Between Failures)*: how often does a device fail? A device that drops offline every hour but comes back in seconds might look fine on availability percentage alone but MTBF will flag it.

- *MTTR (Mean Time To Recovery)*: how long does each outage last, on average?

**Battery monitoring**

Auto-detects battery sensors. Sends an alert when a battery drops below your chosen threshold.

**Staleness detection**

Some sensors go quiet without showing as unavailable since they stopped sending updates. Staleness detection catches that.

**Signal strength monitoring** *(optional)*

Link a signal sensor to each device and track Wi-Fi, Zigbee, Z-Wave, Bluetooth, and more. Sends an alert when signal quality drops.

**Non-essential devices**

Mark devices where being offline is expected, like a TV on standby or a printer you only use occasionally. They still appear on the card, but they won’t affect your group’s health score or trigger alerts.

**Combined groups**

Merge multiple groups into one aggregate view. One binary sensor for your whole home.

## The card

Comes with a custom dashboard card:

Works with both regular and combined groups. Has a visual editor, so you don’t need to write any YAML. Options include an expandable device list, availability bars, per-device detail tooltips, suppress buttons, sort order, compact mode, and more.

## Automation examples on the repo

## Links

- GitHub + full docs: GitHub - italo-lombardi/Home-Assistant-EntityAvailability: Monitor device availability in Home Assistant. Track offline devices, availability history, and degraded states with a custom dashboard card. · GitHub

## Other integrations by me

If you find this useful, I’ve built a few other custom integrations too:

  • Entity Guard: Enforces device states using simple rules. Replaces hand-written auto-off, auto-lock, and kill-switch automations.
  • Entity Distance: Tracks distance between 2–5 people, devices, or zones, including direction, speed, ETA, and proximity.
  • Entity State Tracker: Tracks how long devices spend in each state over time, with per-state breakdowns, scoring, and a custom card.
  • Fuel Compare: Tracks live fuel prices from 36 providers across 30 countries.
  • WashWise: Helps you decide whether to wash your car, bike, or solar panels, and whether to run garden irrigation, based on the weather forecast.
  • DashSnap: Home Assistant App to record or screenshot any web page via headless Chromium: HA dashboards, Grafana, public pages.
  • DashSnap Integration: Trigger DashSnap from Home Assistant automations. See App above.

Happy to answer questions here. Bug reports and feature requests are welcome on GitHub Issues too.

7 Likes

Hey, great idea and thanks for sharing.

Some days ago I tried this integration, and I had to deactivate it because it was starving my event loop queue and making my cpu go crazy. I have a lot of entities that either in an error state or disabled, over 200 or 300, and that was too much to process for this integration. Was I doing something wrong, or is this expected to happen?

1 Like

Hey @danielo515, thanks for trying it, and no, you weren’t doing anything wrong. That was a real bug.

My HA does not have a large number of offline entities (or at least I am not tracking them). With 200–300 of these, many in error state cycling unavailable or unknown, the integration executed a separate refresh timer for each state change event. Each timer then performed a full group-wide scan, causing huge resource consumption.

This will be fixed in the latest version, in which any number of events in the window trigger exactly one refresh only, reducing resource consumption.
Should handle a few hundred flapping entities without the CPU blowup.

Landing shortly (v0.5.3).
Would love if you gave it another go, please! Systems like yours are perfect for stress test.

Thanks in advance

Hey, thank you for your response.

I will try to give it another go. In any case, is there a way to reduce the number of tracked entities? I have a lot of entities that I don’t actually care about and that I know they are just down and I don’t want them to pollute my statistics.

1 Like

Hi @danielo515
Thank you for the trust! I designed the latest version with your use case in mind, so the impact on the system should now be way less than before.
Yes, the entities can be disabled to save memory.
For example, if you don’t need to track availability (today, 3d, 5d, 7d), you can disable them.
Same for battery-related sensors, just edit your configuration to disable those features and disable other not required sensors manually.
Thanks