Manage HACS
ha_manage_hacsManage HACS repositories: install/update, remove, add custom repos, or refresh release data from GitHub.
Instructions
Manage HACS (Home Assistant Community Store) — install/update, remove, add custom repositories, or refresh repository information.
Use action="download" to install or update a repository,
action="remove" to uninstall a downloaded repository, or
action="add_repository" to register a custom GitHub repository with HACS. This
tool performs writes; to search the store or read repository details use
ha_get_hacs_info. Use action="update_information" to run the HACS UI's
"Update information" action — a forced re-fetch of one repository's release data
from GitHub, so a pending update becomes visible to HACS and its update entity
immediately.
Examples:
Install latest: ha_manage_hacs(action="download", repository_id="441028036")
Install a version: ha_manage_hacs(action="download", repository_id="piitaya/lovelace-mushroom", version="v4.0.0")
Remove: ha_manage_hacs(action="remove", repository_id="owner/repo")
Add a custom repo: ha_manage_hacs(action="add_repository", repository="owner/repo", category="lovelace")
Refresh release data: ha_manage_hacs(action="update_information", repository_id="owner/repo")
Caveats: Installing an integration usually needs a Home Assistant restart to
activate; new Lovelace cards need a browser cache clear. repository_id accepts a
numeric HACS ID or an owner/repo path; add_repository requires owner/repo
format plus a matching category. Removing an integration deletes its files but
the loaded module persists until the next Home Assistant restart — delete its config
entries first (ha_remove_helpers_integrations). HACS refreshes custom
repositories on its own only about every 48 hours, so update_information is the
way to surface a just-published release.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | 'download' to install/update, 'add_repository' to register a custom repo, 'remove' to uninstall a downloaded repo, or 'update_information' to refresh a repository's release data from GitHub | |
| version | No | Specific version to install (action='download') | |
| category | No | Repository category (action='add_repository') | |
| repository | No | GitHub repo 'owner/repo' to add (action='add_repository') | |
| repository_id | No | Numeric HACS ID or 'owner/repo' path (action='download' / 'remove' / 'update_information') |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||