Tired of manually checking and updating blueprints? Blueprints Updater is a Home Assistant integration that allows you to automatically track and update your installed blueprints (Automations, Scripts, and Template Entities) from their original source URLs. It works just like a native update entity, providing notifications and a one-click update button when a new version of a blueprint is detected.
Highlight Features
Automated Periodic Scanning: Scans your local blueprints/ directory every X hours (configurable).
Advanced URL Support:
GitHub: Automatically converts standard blob URLs to raw file URLs.
Gist: Supports GitHub Gists natively.
HA Community Forum: Directly parses forum topics to extract the latest YAML blueprint code.
Advanced Filtering: Choose to update all blueprints, only specific ones (Whitelist), or exclude specific ones (Blacklist).
Auto-Update Support: Optional feature to automatically download and apply updates as soon as they are detected.
Improved Reload Logic: Automatically reloads automation, script, and template domains after an update to ensure immediate effect.
Safety First: Validates remote YAML content before updates. If the remote file has syntax errors, the update is blocked to protect your local configuration, and informative error messages are provided.
Manual Refresh: Trigger an immediate scan via the blueprints_updater.reload action in Developer Tools.
Dynamic Discovery: Automatically detects and adds new blueprints as update entities without requiring a restart.
Installation
Option 1: Using HACS (Recommended)
Open HACS in Home Assistant.
Search for Blueprints Updater.
If not found, click the three dots in the top right corner and select Custom repositories.
Add https://github.com/luuquangvu/blueprints-updater with category Integration.
Search for Blueprints Updater and click Download.
Restart Home Assistant.
Option 2: Manual Installation
Download the latest release and extract the files.
Copy the custom_components/blueprints_updater folder into your Home Assistant config/custom_components/ directory.
Restart Home Assistant.
Setup & Configuration
Go to Settings > Devices & Services.
Click Add Integration and search for Blueprints Updater.
Enable Auto-Update: (Optional) If enabled, blueprints matching your criteria will be updated automatically without manual intervention.
Choose your Update Interval (default is 24 hours).
Select your Filter Mode:
Update All: Tracks all blueprints found in your directory.
Whitelist: Only tracks blueprints you explicitly select from the list.
Blacklist: Tracks all blueprints except the ones you select.
Once added, the integration will scan your blueprints. If updates are found, they will appear as update entities in your dashboard.
Manual Refresh (Hot Reload)
If you add a new blueprint file or want to check for updates immediately without waiting for the scheduled scan:
Go to Developer Tools > Actions.
Search for the blueprints_updater.reload action.
Click Perform Action.
The integration will instantly scan your blueprints directory and create any new entities or update statuses.
Thank you for liking it and for your suggestions to improve it. Because the forum doesn’t allow multiple edits to a post, I haven’t been able to update it to add new features. I’ve already implemented most of your suggestions. 1./ I’m using HA’s update entity directly, similar to how custom integration updates via HACS. Clicking to open the blueprint category while the name is already displayed isn’t really necessary, and HA doesn’t yet support opening the blueprint directly. 2./ This feature already exists; you can see it in the image above. 3./ You can use the whitelist/blacklist feature to hide blueprints from updates.
Ah! I didn’t realize #2 was implemented - it cuts it off in my full-computer webview on most of my update notices. I did find it on some that have shorter URLs.
For number 3, that’s a manual process. And if I started using an ignored blueprint later, I’d have to remember to unignore it. Which I definitely would not remember to do. I was hoping to just not be notified if it’s not in use.
But I suppose I really should just remove unused blueprints, and this gives me that nudge, too if it doesn’t say it’s in use.
The bug causing missing characters due to excessively long content has been fixed in the latest version. Please update to the newest version to resolve the issue. For blueprints you want to temporarily skip instead of completely blacklisting, you can press skip; it will not prompt you again until a newer update is available.
The new update adds several useful features and enhances security against some potential attack types. Hopefully, this integration will be helpful to you. Please try it out and leave a comment. Thank you everyone!
I’ve just released a new version that shows every single detail of the changes in the update, for those who want to carefully check before pressing the update button.
Hi everyone,
The integration has officially been approved for HACS, so you can now find it just by searching for “Blueprints Updater”. I’ve also rolled out a bunch of new features recently, and I’d love for you to give them a try. Go ahead, explore, and see how it all works. I think you’ll enjoy the improvements. Thank you very much!
@luuquangvu I tried to post an Issue on Github but you have issues creation disabled for users. I found one blueprint that fails to update. I have tried rebooting the system. The updater worked fine with many (like 20 or so) other blueprints. Nice work btw!!
give this error when you click ‘Update’ button…
Failed to perform the action update/install. Local blueprint changed; refresh and retry the update.
@luuquangvu different issue now, this same blueprint notifies that it has changed on every HA restart. I update, and it still does it… tried 5 times now.
I’ve made lots of upgrades and improvements to this integration. The latest version comes with many new features and is much more stable than before. One highlight is the proactive compatibility guard when updating blueprints, which ensures that no flawed blueprint can slip through.
If you run into any errors, please report them here or open an issue on the GitHub repository. Your feedback helps make this integration even better for the community. Thanks a lot!