Know whether your Home Assistant backups are recent, complete, redundant, and readable.
BackupCheckup is a local Home Assistant custom integration that monitors the actual backup inventory reported by Home Assistant's native backup manager.
It warns you when backups are missing, outdated, incomplete, unexpectedly small, stored on too few locations, or no longer readable. No separate helpers or automations are required.
- Add this repository to HACS as a custom Integration repository.
- Install BackupCheckup and restart Home Assistant.
- Open Settings → Devices & services → Add integration.
- Search for BackupCheckup and complete the guided setup.
Requirement: Home Assistant 2026.3.0 or newer.
Copy custom_components/backup_checkup to /config/custom_components/backup_checkup, restart Home Assistant, and add the integration through Settings → Devices & services.
BackupCheckup now separates system performance from backup safety. The assistant guides you through five focused steps:
- Performance profile based on the detected Home Assistant system
- Monitoring policy for backup age, size, and redundancy
- Integrity strategy for manual or automatic archive checks
- Frontend, entity mode, and notifications
- Final confirmation without repeating technical configuration values
Hardware detection is only a recommendation. BackupCheckup never changes your selected profile later without confirmation.
Enable Show BackupCheckup in the sidebar during setup to add a responsive overview page directly to Home Assistant. It provides:
- overall backup status and Health Score
- the recommended next action and active problems
- latest backup age and size, stored-backup count, and integrity status
- a compact overview of every configured backup storage location
- administrator actions to refresh the data or verify the latest backup
The panel is bundled with BackupCheckup, uses the integration's existing privacy setting, and does not load external frontend resources. It is disabled by default and can be enabled or removed later under Configure → Frontend, entities, and notifications.
| Profile | Typical systems | Normal polling |
|---|---|---|
| Energy saving | Small Raspberry Pi or low-resource VM | 15 min |
| Home Assistant appliance | Home Assistant Green/Yellow or capable Pi with SSD | 10 min |
| High performance | x86 mini PC, NUC, normal VM or container | 5 min |
| Server | Generously provisioned server or large VM | 2 min |
| Custom | Manually selected intervals and resource limits | Custom |
The recommendation can use installation type, architecture, and known board information. When the current backup inventory is available, proposed verification limits are raised automatically if necessary to fit the largest known backup with a safety reserve.
| Policy | Best for |
|---|---|
| Balanced | Recommended defaults for most installations. |
| Strict | Newer backups and at least two storage locations. |
| Custom | Full control over backup age, size, redundancy, and related limits. |
| Strategy | Behaviour |
|---|---|
| Manual only | Full verification is started only by an administrator. |
| Automatic | Each newly detected newest regular backup is verified once. |
| Deep | Automatic verification plus an SQLite integrity check. |
Deep verification is never enabled only because powerful hardware was detected.
| Entity mode | Best for |
|---|---|
| Standard | A focused set of useful status, health, integrity, and problem entities. |
| Expert | Every available entity, per-storage metrics, and advanced diagnostics. |
Detailed live logging is selected independently from the entity mode. All settings remain available later under Settings → Devices & services → BackupCheckup → Configure.
After updating BackupCheckup files, restart Home Assistant once. This reloads the integration's backend translations and activates the versioned frontend module; reloading only the config entry is not sufficient after a file update.
When enabled, BackupCheckup combines the selected base interval with native backup activity:
- Refreshes immediately when a backup starts, completes, or fails
- Temporarily polls faster while a backup is running
- Returns to the normal interval after completion
- Uses a longer backoff after repeated backup-manager errors
- Coalesces rapid events without losing the final backup state
- Continues to follow renamed native backup entities through their registry IDs
Existing 2.3.x installations keep their previous resolved values and fixed polling during migration. The new recommendation is applied only when the assistant is run voluntarily.
- Whether any regular backup is available
- Age of the newest regular and automatic backup
- Failed, missing, or overdue automatic backups
- Incomplete backups and suspicious size changes
- Backup copies across all configured storage locations
- Required redundancy across multiple locations
- Storage errors and unavailable backup-manager data
- Overall backup health with a score from
0to100
Technical backups created for Home Assistant app updates remain visible in the inventory but are excluded from normal backup-health and size analytics.
The Health Score groups related symptoms by their underlying cause instead of subtracting every correlated warning separately.
For example, one unavailable storage location may also cause missing redundancy. Both signals remain visible, but only the strongest deduction in that area is applied to the score.
The sensor exposes transparent attributes for:
- Applied deductions
- Raw detected deductions
- Deductions by health component
- Correlated deductions that were intentionally not counted twice
- Score model version
Backup age and missing redundancy are also weighted by severity instead of using only fixed penalties.
Press Verify latest backup to perform a read-only check of the newest regular backup.
BackupCheckup can:
- Download an available copy through Home Assistant
- Fall back to another storage location when necessary
- Read the complete outer archive and all included inner archives
- Verify encrypted backups with Home Assistant's configured backup password
- Detect structural archive problems and checksum changes
- Optionally run an SQLite integrity check on the included Home Assistant database
- Enforce configurable download, expansion, member-count, disk-space, and timeout limits
- Remove temporary files after the check finishes
Important
A successful check confirms that the backup is structurally readable and, when applicable, decryptable. It is not a complete restore test.
BackupCheckup can create native issues under Settings → System → Repairs and remove them automatically after recovery.
Optional mobile notifications can be sent to one or more devices using the Home Assistant Companion App. Notifications are deduplicated, so unchanged problems are not sent again after every refresh.
Use the Send test notification button after selecting your devices.
BackupCheckup runs locally inside Home Assistant.
It does not:
- Create, modify, delete, restore, or upload backups
- Send backup contents to an external service
- Store backup passwords
- Keep downloaded backup files after verification
Sensitive identifiers are hidden from normal entities and diagnostics unless detailed metadata exposure is explicitly enabled.
Manual refreshes, integrity verification, and test notifications are administrator-only. Generic homeassistant.update_entity calls cannot be used to bypass the protected refresh action.
Expert mode additionally enables detailed per-storage entities. The separate Enable detailed live logging option records a privacy-safe journal for setup, refreshes, health changes, downloads, archive extraction, database checks, notifications, progress, and cleanup operations.
The sidebar frontend contains separate Overview and Live log tabs. The log is searchable, updates live, retains at most 250 runtime entries, and is also available in Home Assistant Activity, structured system logs, and integration diagnostics. It never includes backup names, raw IDs, paths, passwords, or backup contents.
- Hardware-aware setup
- Entity reference
- Integrity verification
- Activity logging
- Troubleshooting
- FAQ
- Dashboard example
- Automation example
- Function coverage report
- Security hardening report
- 2.4.0 quality and Health Score audit
- Changelog
Install updates through HACS and restart Home Assistant when requested.
Removing the BackupCheckup config entry deletes only the integration's own local history, integrity result, and notification state. Your Home Assistant backups are never deleted.
English, German, Dutch, Polish, Swedish, Italian, French, Danish, and Spanish are included.
MIT License