Improve interface between Miele integration and pymiele library (#150214)

This commit is contained in:
Åke Strandberg
2025-08-08 11:40:04 +02:00
committed by GitHub
parent 102d6a37c0
commit 6a81bf6f5e
4 changed files with 8 additions and 8 deletions

View File

@@ -3,6 +3,7 @@
from __future__ import annotations from __future__ import annotations
from aiohttp import ClientError, ClientResponseError from aiohttp import ClientError, ClientResponseError
from pymiele import MieleAPI
from homeassistant.const import Platform from homeassistant.const import Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@@ -66,7 +67,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: MieleConfigEntry) -> boo
) from err ) from err
# Setup MieleAPI and coordinator for data fetch # Setup MieleAPI and coordinator for data fetch
coordinator = MieleDataUpdateCoordinator(hass, entry, auth) api = MieleAPI(auth)
coordinator = MieleDataUpdateCoordinator(hass, entry, api)
await coordinator.async_config_entry_first_refresh() await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator entry.runtime_data = coordinator

View File

@@ -8,13 +8,12 @@ from dataclasses import dataclass
from datetime import timedelta from datetime import timedelta
import logging import logging
from pymiele import MieleAction, MieleDevice from pymiele import MieleAction, MieleAPI, MieleDevice
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from .api import AsyncConfigEntryAuth
from .const import DOMAIN from .const import DOMAIN
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@@ -43,7 +42,7 @@ class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
self, self,
hass: HomeAssistant, hass: HomeAssistant,
config_entry: MieleConfigEntry, config_entry: MieleConfigEntry,
api: AsyncConfigEntryAuth, api: MieleAPI,
) -> None: ) -> None:
"""Initialize the Miele data coordinator.""" """Initialize the Miele data coordinator."""
super().__init__( super().__init__(

View File

@@ -1,12 +1,11 @@
"""Entity base class for the Miele integration.""" """Entity base class for the Miele integration."""
from pymiele import MieleAction, MieleDevice from pymiele import MieleAction, MieleAPI, MieleDevice
from homeassistant.helpers.device_registry import DeviceInfo from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity import EntityDescription from homeassistant.helpers.entity import EntityDescription
from homeassistant.helpers.update_coordinator import CoordinatorEntity from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .api import AsyncConfigEntryAuth
from .const import DEVICE_TYPE_TAGS, DOMAIN, MANUFACTURER, MieleAppliance, StateStatus from .const import DEVICE_TYPE_TAGS, DOMAIN, MANUFACTURER, MieleAppliance, StateStatus
from .coordinator import MieleDataUpdateCoordinator from .coordinator import MieleDataUpdateCoordinator
@@ -57,7 +56,7 @@ class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
return self.coordinator.data.actions[self._device_id] return self.coordinator.data.actions[self._device_id]
@property @property
def api(self) -> AsyncConfigEntryAuth: def api(self) -> MieleAPI:
"""Return the api object.""" """Return the api object."""
return self.coordinator.api return self.coordinator.api

View File

@@ -117,7 +117,7 @@ def mock_miele_client(
"""Mock a Miele client.""" """Mock a Miele client."""
with patch( with patch(
"homeassistant.components.miele.AsyncConfigEntryAuth", "homeassistant.components.miele.MieleAPI",
autospec=True, autospec=True,
) as mock_client: ) as mock_client:
client = mock_client.return_value client = mock_client.return_value