Skip to content

Data sources

HACS has two different data sources it reaches out to for information on what to show you.

HACS Data

HACS Data is the data source accessible on data-v2.hacs.xyz with the following structures https://data-v2.hacs.xyz/<section>/<type>.json.

The <section> is one of [appdaemon|critical|integration|theme|python_script|plugin|removed] and <type> is one of [data|repositories]

Examples:

The data <type> contains a dictionary data generated from the repositories defined for that <section> in the

The repositories <type> contains a list of the repositories defined for that <section> in the

These URLs serve data stored in Cloudflare R2 buckets. Those files are updated with three different GitHub actions: - hacs/integration - Generate HACS data - hacs/default - Upload critical file to R2 - hacs/default - Upload removed file to R2

Updates

There are multiple times and actions that will trigger your HACS installation to fetch new information.

Startup

During startup, HACS will reach out to HACS Data for all the repository types you have enabled, it will also get newly removed repositories.

If you have any custom repositories added to HACS, these will use the GitHub REST API during startup.

If any of your downloaded repositories have been removed as default in HACS, you will be presented with a repair issue stating why it was removed.

Every 6 hours after startup

HACS will reach out to HACS Data for all the repository types you have enabled, it will also get newly removed repositories.

If any of your downloaded repositories have an update, their update entity will now show an update.

Every 48 hours after startup

Suppose HACS has yet to fetch the contents of https://data-v2.hacs.xyz/integration/data.json at least once successfully. In that case, it will use the GitHub REST API to refresh information about hacs/integration. If it has fetched one or more successfully, this action is skipped.

If you have downloaded any custom repositories, they will refresh their data using the GitHub REST API.

Browse a repository inside HACS

When you browse a repository inside HACS, HACS will use the GitHub REST API to ensure that the information it acts on is up-to-date.

Click "Update information" inside HACS

When you click the "Update information" action on the "..." repository menu, HACS will use the GitHub REST API to ensure that the information it acts on is up-to-date.

Update a downloaded repository

When you update a downloaded repository with the "Update" button in the more info dialog of its update entities or the update.install action, HACS will use the GitHub REST API to ensure that the information it acts on is up-to-date.

Special notes

Custom repositories

Custom repositories will always reach out to the GitHub API as the generator action of the HACS data does not know about it.