From 3630c8b8ed8924e3f0b55033b11987ef268ae0ee Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 20 Jan 2025 16:25:06 +0100 Subject: [PATCH] Set configuration url to overseerr instance (#136085) --- homeassistant/components/overseerr/coordinator.py | 11 ++++++++--- homeassistant/components/overseerr/entity.py | 1 + tests/components/overseerr/snapshots/test_init.ambr | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/overseerr/coordinator.py b/homeassistant/components/overseerr/coordinator.py index 79ad738c037..c8512d764f4 100644 --- a/homeassistant/components/overseerr/coordinator.py +++ b/homeassistant/components/overseerr/coordinator.py @@ -4,6 +4,7 @@ from datetime import timedelta from python_overseerr import OverseerrClient, RequestCount from python_overseerr.exceptions import OverseerrConnectionError +from yarl import URL from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_API_KEY, CONF_HOST, CONF_PORT, CONF_SSL @@ -30,13 +31,17 @@ class OverseerrCoordinator(DataUpdateCoordinator[RequestCount]): config_entry=entry, update_interval=timedelta(minutes=5), ) + host = entry.data[CONF_HOST] + port = entry.data[CONF_PORT] + ssl = entry.data[CONF_SSL] self.client = OverseerrClient( - entry.data[CONF_HOST], - entry.data[CONF_PORT], + host, + port, entry.data[CONF_API_KEY], - ssl=entry.data[CONF_SSL], + ssl=ssl, session=async_get_clientsession(hass), ) + self.url = URL.build(host=host, port=port, scheme="https" if ssl else "http") async def _async_update_data(self) -> RequestCount: """Fetch data from API endpoint.""" diff --git a/homeassistant/components/overseerr/entity.py b/homeassistant/components/overseerr/entity.py index 6e835347736..937ad52f7ec 100644 --- a/homeassistant/components/overseerr/entity.py +++ b/homeassistant/components/overseerr/entity.py @@ -18,5 +18,6 @@ class OverseerrEntity(CoordinatorEntity[OverseerrCoordinator]): self._attr_device_info = DeviceInfo( identifiers={(DOMAIN, coordinator.config_entry.entry_id)}, entry_type=DeviceEntryType.SERVICE, + configuration_url=coordinator.url, ) self._attr_unique_id = f"{coordinator.config_entry.entry_id}-{key}" diff --git a/tests/components/overseerr/snapshots/test_init.ambr b/tests/components/overseerr/snapshots/test_init.ambr index 749a1aa445c..21b4b215ac5 100644 --- a/tests/components/overseerr/snapshots/test_init.ambr +++ b/tests/components/overseerr/snapshots/test_init.ambr @@ -3,7 +3,7 @@ DeviceRegistryEntrySnapshot({ 'area_id': None, 'config_entries': , - 'configuration_url': None, + 'configuration_url': 'http://overseerr.test', 'connections': set({ }), 'disabled_by': None,