mirror of
https://github.com/home-assistant/core.git
synced 2025-09-04 04:11:37 +02:00
Improve interface between Miele integration and pymiele library (#150214)
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
@@ -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__(
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user