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 aiohttp import ClientError, ClientResponseError
from pymiele import MieleAPI
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
@@ -66,7 +67,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: MieleConfigEntry) -> boo
) from err
# 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()
entry.runtime_data = coordinator

View File

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

View File

@@ -1,12 +1,11 @@
"""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.entity import EntityDescription
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .api import AsyncConfigEntryAuth
from .const import DEVICE_TYPE_TAGS, DOMAIN, MANUFACTURER, MieleAppliance, StateStatus
from .coordinator import MieleDataUpdateCoordinator
@@ -57,7 +56,7 @@ class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
return self.coordinator.data.actions[self._device_id]
@property
def api(self) -> AsyncConfigEntryAuth:
def api(self) -> MieleAPI:
"""Return the api object."""
return self.coordinator.api

View File

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