1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2026-02-14 23:19:37 +00:00
Stefan Agner b214d18f28 Cache Core config on startup and validate on Supervisor restart
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>
2026-02-13 17:31:01 +01:00
2021-03-16 15:47:40 +01:00
2025-10-08 10:44:49 +02:00
2020-09-03 16:36:09 +02:00
2020-07-29 14:45:37 +02:00
2024-09-30 18:42:08 +02:00

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:

  1. Pull requests are merged to the main branch.
  2. A new build is pushed to the dev stage.
  3. Releases are published.
  4. A new build is pushed to the beta stage.
  5. The stable.json file is updated.
  6. The build that was pushed to beta will now be pushed to stable.

Home Assistant - A project from the Open Home Foundation

Languages
Python 95.4%
JavaScript 4.5%