Stefan AgnerandClaude Fable 5.1 9dade90527 Model already-installed OS update requests as API errors
Requesting an OS update to the version that is already installed, or to a
version that is installed and only waiting for a reboot, is a client-state
condition: the frontend or CLI offered an update that the OS manager has
already applied. These requests were raised as a plain HassOSUpdateError,
which api_process treats as an unexpected error and reports to Sentry. Over
the last 90 days this accounted for roughly 20k events from about 15k
installations, all of them "Version X is already installed" in one of its
two variants.

Follow the approach used for Core updates in #6915: introduce
HassOSUpdateAlreadyInstalledError and HassOSUpdatePendingRebootError as
HassOSUpdateError subclasses that are also APIError. Both carry an error_key
so the frontend can translate them and the version as an extra field. The
API response keeps the same HTTP 400 status and message text, but the
exceptions no longer reach Sentry.

Fixes SUPERVISOR-28TG

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 17:51:33 +02:00
2021-03-16 15:47:40 +01:00
2025-10-08 10:44:49 +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 96.3%
JavaScript 3.6%