From 77ba7176d758136f03eeeacf95021b51c2647ade Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Mar 2026 03:20:11 +0000 Subject: [PATCH 1/2] Initial plan From a692453430617f8d9a4112d16f694290caff9d9c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Mar 2026 03:22:37 +0000 Subject: [PATCH 2/2] fix: replace hass.async_at_start with helpers.start.async_at_start, bump to v1.2.4 Co-authored-by: Geek-MD <25725990+Geek-MD@users.noreply.github.com> --- CHANGELOG.md | 8 ++++++++ custom_components/advanced_downloader/__init__.py | 3 ++- custom_components/advanced_downloader/manifest.json | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abddea7..23bbbc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [1.2.4] - 2026-03-11 + +### Fixed +- **`AttributeError: 'HomeAssistant' object has no attribute 'async_at_start'`:** replaced the invalid `hass.async_at_start()` call with the correct `homeassistant.helpers.start.async_at_start(hass, callback)` helper. This caused the entire integration setup to fail, making all services (`advanced_downloader.download_file`, etc.) unavailable. + +--- + ## [1.2.3] - 2026-03-11 ### Fixed @@ -222,6 +229,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Service `media_downloader.download_file` with optional subdirectories, custom filenames, overwrite control, and per-download timeout. - Events: `media_downloader_download_started`, `media_downloader_download_completed` (with `success` and `error` fields). +[1.2.4]: https://github.com/Geek-MD/Advanced_Downloader/compare/v1.2.3...v1.2.4 [1.2.3]: https://github.com/Geek-MD/Advanced_Downloader/compare/v1.2.2...v1.2.3 [1.2.2]: https://github.com/Geek-MD/Advanced_Downloader/compare/v1.2.1...v1.2.2 [1.2.1]: https://github.com/Geek-MD/Advanced_Downloader/compare/v1.2.0...v1.2.1 diff --git a/custom_components/advanced_downloader/__init__.py b/custom_components/advanced_downloader/__init__.py index 942ed86..1456c38 100644 --- a/custom_components/advanced_downloader/__init__.py +++ b/custom_components/advanced_downloader/__init__.py @@ -13,6 +13,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, ServiceCall, callback from homeassistant.helpers import aiohttp_client, config_validation as cv +from homeassistant.helpers.start import async_at_start from homeassistant.exceptions import HomeAssistantError # Handle asyncio.timeout availability (Python 3.11+) @@ -103,7 +104,7 @@ def _check_downloader_conflict(_: HomeAssistant) -> None: notification_id="advanced_downloader_core_downloader_conflict", ) - hass.async_at_start(_check_downloader_conflict) + async_at_start(hass, _check_downloader_conflict) # Warn if Video Normalizer is also configured as a standalone integration. # Its code must remain installed (Advanced Downloader imports from it), but diff --git a/custom_components/advanced_downloader/manifest.json b/custom_components/advanced_downloader/manifest.json index ada4d78..4c63c46 100644 --- a/custom_components/advanced_downloader/manifest.json +++ b/custom_components/advanced_downloader/manifest.json @@ -9,5 +9,5 @@ "issue_tracker": "https://github.com/Geek-MD/Advanced_Downloader/issues", "quality_scale": "legacy", "requirements": [], - "version": "1.2.3" + "version": "1.2.4" }