mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-02-14 23:19:37 +00:00
fetch-core-config-once-on-startup
Cache the Home Assistant Core configuration (components list) when Core reaches RUNNING state in _block_till_run(), and clear it on stop or before restart. This avoids repeated API/WebSocket calls to fetch the config on every use. The cached config is used in two places: - Update verification: checks frontend component is loaded after update using cached config instead of a separate API call, with fallback to error state if cache is unavailable. - Hardware events: checks USB component availability using cached config instead of a WebSocket round-trip on every device event. Additionally, adds ensure_started() to HomeAssistantCore which validates API readiness and populates cached state when Core is already running. This is called on Supervisor restart to close a gap where Supervisor had no health validation of Core and hardware events were silently dropped because the config cache was never populated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Home Assistant Supervisor
First private cloud solution for home automation
Home Assistant (former Hass.io) is a container-based system for managing your Home Assistant Core installation and related applications. The system is controlled via Home Assistant which communicates with the Supervisor. The Supervisor provides an API to manage the installation. This includes changing network settings or installing and updating software.
Installation
Installation instructions can be found at https://home-assistant.io/getting-started.
Development
For small changes and bugfixes you can just follow this, but for significant changes open a RFC first. Development instructions can be found here.
Release
Releases are done in 3 stages (channels) with this structure:
- Pull requests are merged to the
mainbranch. - A new build is pushed to the
devstage. - Releases are published.
- A new build is pushed to the
betastage. - The
stable.jsonfile is updated. - The build that was pushed to
betawill now be pushed tostable.
Description
Languages
Python
95.4%
JavaScript
4.5%
