mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-05-08 17:08:36 +01:00
72bbc50c83847f22f644cb95ede4c0385cd1c477
* Fix call_at to use event loop time base instead of Unix timestamp The CoreSys.call_at method was incorrectly passing Unix timestamps directly to asyncio.loop.call_at(), which expects times in the event loop's monotonic time base. This caused scheduled jobs to be scheduled approximately 55 years in the future (the difference between Unix epoch time and monotonic time since boot). The bug was masked by time-machine 2.19.0, which patched time.monotonic() and caused loop.time() to return Unix timestamps. Time-machine 3.0.0 removed this patching (as it caused event loop freezes), exposing the bug. Fix by converting the datetime to event loop time base: - Calculate delay from current Unix time to scheduled Unix time - Add delay to current event loop time to get scheduled loop time Also simplify test_job_scheduled_at to avoid time-machine's async context managers, following the pattern of test_job_scheduled_delay. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Add comment about dateime in the past --------- Co-authored-by: Claude <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.6%
JavaScript
4.3%
