It’s working now!
Unfortunately i cannot choose a notification entity - i have notify entities (phones, alexa …)
I just installed (26th Feb 2026) the blueprint from this page (GitHub - edwardtfn/ha_auto_update_scheduled: A Home Assistant blueprint to assist keeping the system automatically updated with the latest version of it's components) and I get the same issue as everyone else.
Spook tells me that there is no sensor.backup_state entity.
How do I fix this? Or when will there be a fix for that?
Workaround:
So instead of changing the code of the blueprint from the hardcoded sensor.backup_state to some variable, I changed the entity id of the backup state sensor that was already in my home assistant.
For some reason it was called sensor.backup_backup_manager_state. I renamed it and now the spook error is gone.
Hopefully nothing else breaks as a result of it.
v2026.3.0 - Smarter backups, cleaner notifications, step actions
Warning: Action required for existing users
This release includes breaking changes to some input settings. After updating the blueprint, you will need to re-configure your automation for the following:
-
Backup setting changed: The old “Create a full backup before start the updates?” toggle has been replaced by a new selector with three options: Never, When no recent backup is detected, and Always. Your previous setting will not carry over, so please review and re-select your preferred backup mode.
-
Backup location removed: The “Backup Location” input has been removed. Backups are now created using the
backup.create_automaticaction, which uses the backup settings you have already configured under Settings > System > Backups in Home Assistant. If you haven’t set up automatic backups yet, please do so before updating. -
Notification categories changed: The “Select what to notify” options have been consolidated from 9 to 6. If you had customized which notifications to receive, you will need to re-select your preferences. The new defaults are much quieter (see below).
-
Telegram users: The automatic MarkdownV2 character escaping has been removed. Notifications are now sent in plain text. If you rely on formatted Telegram messages, you can use the new step actions to send your own custom formatted notifications at any point in the process.
What’s new
Smarter backup handling
The simple yes/no backup toggle has been replaced with three modes:
- Never (new default): No backup is created by this automation. This is the recommended setting if you already have automatic backups configured in Home Assistant.
- When no recent backup is detected (
auto): A backup is only created if the last successful backup is older than a configurable threshold (default: 1 day). Requires both the Backup state sensor and the Last successful automatic backup sensor to be configured. If either is missing, the automation will stop with a clear error rather than silently falling back to “always backup”. - Always: A backup is always created before updates, similar to the previous behavior.
The automation now uses Home Assistant’s native Backup Manager State sensor to intelligently manage the backup process:
- Before updates start, the automation waits for the backup system to be idle. If the sensor reports
unknownorunavailable, the automation stops with a clear error instead of proceeding blindly. - When creating a backup, a two-phase wait detects the exact moment the backup starts (state leaves
idle) and then waits for it to finish (state returns toidle). If the backup never starts within 30 seconds, a warning is logged and the automation continues. - The old blind wait timer is still available as a fallback when no sensor is selected.
Step actions (new)
You can now run your own custom actions at specific steps during the update process. These are configured in the Actions section alongside the existing pre-update, pre-restart, and post-update actions.
Available steps: Starting, Backup, Update progress, Errors and warnings, Restart, and Done.
These step actions are completely independent of the built-in notification system. They will run whenever configured, regardless of whether a notify entity is set up or which notification categories are selected.
This is especially useful for:
- Sending rich formatted notifications (e.g. Telegram MarkdownV2, HTML emails) at specific points
- Triggering scripts or scenes when updates start, complete, or fail
- Flashing lights, playing sounds, or sending alerts to other systems
- Running different actions for errors vs. normal progress
Each step action has access to useful variables like the list of pending updates, the current entity being updated, and a log message describing the current step. All available variables are documented in the input descriptions.
Cleaner notifications
The notification system has been reworked to be less noisy by default:
- Fewer categories: Consolidated from 9 options down to 6. Related steps have been merged (e.g. “Starting” now includes the list of pending updates, “Done” now includes remaining updates).
- Quieter defaults: New automations will only notify on Starting, Errors, and Done, typically just 2-3 messages per run instead of 12+.
- New “Errors and warnings” category: Get notified only when something goes wrong (update timeouts, backup failures), without the noise of every successful step.
- Notification title: The default title now uses the automation’s friendly name (e.g. “Nightly Auto-update”). If no name was set, it falls back to “Home Assistant Auto-update”.
You can still enable verbose notifications by selecting all categories. Nothing has been taken away, just reorganized with better defaults.
Generic notification support
All Telegram-specific logic has been removed from the blueprint. Notifications are now sent as plain text through the standard notify.send_message action, making them work consistently with any notification integration.
Tip: If your notification target doesn’t appear in the entity selector, you can create a Notification Group (even with just a single device) to make it available as a selectable entity.
Summary of input changes
| Old input | New input | Notes |
|---|---|---|
| Create a full backup (toggle) | Create a backup (Never / Auto / Always) | Re-selection required |
| Backup Location | (removed) | Uses your HA backup settings |
| Backup Timeout | Backup timeout | Now also used as max wait time for the state sensor |
| (new) | Backup state sensor | Optional, enables smart backup monitoring |
| Last successful automatic backup sensor | Last successful automatic backup sensor | Updated description |
| Maximum backup age | Maximum backup age | Default changed from 0 to 1 day |
| Select what to notify (9 options) | Select what to notify (6 options) | Re-selection required |
| (new) | Step action - Starting | Custom actions when the update process starts |
| (new) | Step action - Backup | Custom actions at backup-related steps |
| (new) | Step action - Update progress | Custom actions for each individual update |
| (new) | Step action - Errors and warnings | Custom actions when errors or warnings occur |
| (new) | Step action - Restart | Custom actions when a restart is pending |
| (new) | Step action - Done | Custom actions when the process completes |
Fixes
- Backup state sensor now actually used (#6): The
run_during_backupinput was previously defined but never wired into the automation logic. It is now fully integrated. - Unavailable backup sensor blocks updates: If the backup state sensor reports
unknownorunavailable, the automation now stops instead of silently skipping the check. - Backup mode “never” no longer stops entire automation: A bare
condition:was replaced with a properif/thenwrapper so that backup mode “never” only skips the backup section, not the updates. - Auto backup mode validates prerequisites: When
automode is selected but the required sensors are not configured, the automation stops with a clear error instead of silently falling back to “always backup”. - Optional helper entity guarded: The
update_process_started_entitytoggle is now properly guarded in all code paths, avoiding service call errors when no helper is configured. - Notification list respects inclusion mode: The starting notification now shows only the filtered update list instead of all available updates.
- Timestamp parsing fixed: Replaced
strptimewithas_datetime()to handle all ISO 8601 variants including fractional seconds and Z notation.