mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-02-14 23:19:37 +00:00
77f3da7014c4f0680d5cfebd324509dd09dce387
During system shutdown (reboot/poweroff), the watchdog was incorrectly detecting the Home Assistant Core container as failed and attempting to restart it. This occurred because Docker was stopping all containers in parallel with Supervisor's own shutdown sequence, causing the watchdog to trigger while add-ons were still being stopped. This led to an abrupt termination of Core before it could cleanly shut down its SQLite database, resulting in a warning on the next startup: "The system could not validate that the sqlite3 database was shutdown cleanly". The fix registers a supervisor state change listener that unregisters the watchdog when entering any shutdown state (SHUTDOWN, STOPPING, or CLOSE). This prevents restart attempts during both user-initiated reboots (via API) and external shutdown signals (Docker SIGTERM, console reboot commands). Since SHUTDOWN, STOPPING, and CLOSE are terminal states with no reverse transition back to RUNNING, no re-registration logic is needed. Fixes #6511 Co-authored-by: Claude Sonnet 4.5 <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%
