Best apps for Home Assistant power outage resilience

A UPS on the smart-home server is the first thing everyone buys after their first bad outage. The XDA writer whose UPS still could not save their Home Assistant automations discovered what a lot of us have: a UPS by itself only buys minutes. Making sure your automations survive the outage is a separate problem, and it needs a small stack of apps around Home Assistant that a lot of setups skip. We tested seven that together turn a household outage from a mess into a mild inconvenience.

What to look for in a resilience stack

The value is not any one app. It is the way they compose. Look for these traits when picking components.

Quick comparison

App Best for Free plan Standout feature
NUT Networked UPS control across devices Yes One UPS, many clients
apcupsd APC hardware without SNMP Yes Rock-solid on USB APC units
Node-RED Complex outage automations Yes Visual flows that survive edits
ESPHome DIY power monitoring nodes Yes Local-only firmware for sensors
InfluxDB Long-term power history Yes Purpose-built time series storage
Grafana Post-mortem dashboards Yes Best-of-breed panels for outage data
Watchtower Container updates after recovery Yes Keeps stack current after a reboot

The apps

1. NUT (Network UPS Tools) — best for a shared UPS

Network UPS Tools is the reference implementation for talking to a UPS over the network. One server runs the daemon against the physical UPS, and every other machine on the LAN (Home Assistant, the NAS, a router that can shed load) subscribes as a client. Home Assistant’s NUT integration surfaces battery percentage, load, and status as sensors, and, importantly, fires an event the second the UPS drops to battery.

Where it falls short: Configuration is textual and old-school. First-time setup on a Raspberry Pi takes a couple of hours to get right.

Platforms: Linux, macOS, FreeBSD. Runs in a container on any Home Assistant OS install.

Pricing: Free, GPL-2.0.

Download: networkupstools.org

Bottom line: Install this first. Every automation in the stack keys off its status events.

2. apcupsd — best for APC hardware over USB

apcupsd is a smaller daemon focused on APC UPS units on USB. It is easier to set up than NUT on a single-host install and integrates with Home Assistant via a lightweight sensor. Many APC Back-UPS models work reliably with it after years of Linux support.

Where it falls short: It only talks to APC. Cyberpower, Eaton, or Tripp Lite users should look at NUT.

Platforms: Linux, macOS, Windows. Docker images are widely available.

Pricing: Free, GPL-2.0.

Download: apcupsd.org

Bottom line: The right pick when the UPS is APC and the setup is a single host.

3. Node-RED — best for complex outage flows

Node-RED is what most Home Assistant power users reach for once “when X, then Y” is not enough. An outage flow might branch on battery percentage: at 50 percent, drop non-essential lights; at 25 percent, notify family members; at 10 percent, run hassio.shutdown. Visual flows are diff-friendly and survive reorganizing.

Where it falls short: Two ways to build the same automation (Home Assistant automations vs Node-RED) causes drift if a household has multiple editors.

Platforms: Add-on inside Home Assistant OS, or Docker on any host.

Pricing: Free, Apache 2.0.

Download: nodered.org

Bottom line: The right pick for outage automations with more than two branches.

4. ESPHome — best for DIY power monitoring

ESPHome builds firmware for cheap ESP32 boards that report to Home Assistant. A CT clamp on the mains, a smart plug with a Sonoff POWR3, or a battery voltage node all take about an hour of soldering. The result is local-only firmware that keeps reporting after a router restart.

Where it falls short: You are now the manufacturer. Firmware updates and battery swaps are yours.

Platforms: Firmware for ESP32 and ESP8266. Runs from a Home Assistant add-on.

Pricing: Free, GPL-3.0 and MIT parts.

Download: esphome.io

Bottom line: The right pick when you want power visibility beyond what the UPS reports.

5. InfluxDB — best storage for power history

InfluxDB stores the sensor stream from the UPS, the CT clamps, and Home Assistant itself. Long-term retention outlasts Home Assistant’s own recorder, and querying “the last six outages by duration” becomes a one-liner. Version 2.x is stable and mature enough for a household install.

Where it falls short: RAM footprint is meaningful; a Raspberry Pi feels it if the retention window is long.

Platforms: Docker on any host, native on Linux, macOS, Windows.

Pricing: Free open-source build. Managed cloud tiers start around $250 monthly.

Download: influxdata.com

Bottom line: The right pick when you want to see how outages have trended over a year.

6. Grafana — best dashboards for post-mortems

Grafana turns the InfluxDB stream into panels that make outages legible. A single dashboard showing battery percentage, load, outdoor temperature, and Home Assistant restart events tells you why a specific automation did not fire. It is the tool an electrician can read, which matters when the household argues about what happened.

Where it falls short: Editing dashboards well takes time. Learning enough Flux or PromQL is a project.

Platforms: Docker on any host, native builds for all major OSes.

Pricing: Free OSS build. Managed cloud tier has a free plan.

Download: grafana.com

Bottom line: Install it right after InfluxDB or the data is a lot less useful.

7. Watchtower — best for keeping the stack current after recovery

Watchtower watches the containers you pick and pulls updates on a schedule. It matters here because a stack that comes back from an outage on stale images is more likely to hit the exact bug someone patched last week. Scoped to Home Assistant’s supporting containers, it keeps the surrounding stack fresh without touching Home Assistant Core itself.

Where it falls short: Auto-updating anything mission critical is a risk in itself. Scope it carefully.

Platforms: Docker on Linux, Windows, macOS.

Pricing: Free, Apache 2.0.

Download: containrrr.dev/watchtower

Bottom line: The right pick for the supporting cast; leave Home Assistant Core to manual updates.

How to pick the right stack

FAQ

Why is a UPS not enough to keep Home Assistant automations working? A UPS keeps the server on. If your router, switches, or Zigbee coordinator lose power at the same time, the automations reach nothing. Put the network on the UPS too, and make sure Home Assistant knows the network is up before acting.

Which UPS integration should I install first? Start with the Home Assistant NUT integration once NUT is running. It exposes both sensors and events, which is what you need for automations.

How do I test my outage automations without unplugging things? NUT and apcupsd both support a “simulate on battery” command. Run it and watch what fires.

Do I need a separate box for InfluxDB and Grafana? No. Both run comfortably next to Home Assistant on a Raspberry Pi 5 or a small mini PC. Retention windows are the main thing to tune.

Should I automatically shut down Home Assistant at low battery? Yes, and make sure it happens before the OS panics. NUT’s shutdown script and Home Assistant’s hassio.host_shutdown service handle this cleanly.

What is the single most useful outage automation? A notification that includes battery percentage and estimated runtime, sent five seconds after the UPS reports “on battery.” It gives everyone in the house time to save open work.