Explicitly pass config_entry to coordinator in lamarzocco (#129434)

* Update __init__.py

* Update coordinator.py

* Update coordinator.py

* ruff

* Update coordinator.py

* move type to coordinator
This commit is contained in:
Josef Zweck 2024-10-30 14:43:41 +01:00 committed by GitHub
parent fbe8b6c34d
commit 484e5cb3e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 24 additions and 17 deletions

View File

@ -26,7 +26,7 @@ from homeassistant.helpers import issue_registry as ir
from homeassistant.helpers.httpx_client import get_async_client from homeassistant.helpers.httpx_client import get_async_client
from .const import CONF_USE_BLUETOOTH, DOMAIN from .const import CONF_USE_BLUETOOTH, DOMAIN
from .coordinator import LaMarzoccoUpdateCoordinator from .coordinator import LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator
PLATFORMS = [ PLATFORMS = [
Platform.BINARY_SENSOR, Platform.BINARY_SENSOR,
@ -41,8 +41,6 @@ PLATFORMS = [
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
type LaMarzoccoConfigEntry = ConfigEntry[LaMarzoccoUpdateCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -> bool: async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -> bool:
"""Set up La Marzocco as config entry.""" """Set up La Marzocco as config entry."""
@ -103,6 +101,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -
coordinator = LaMarzoccoUpdateCoordinator( coordinator = LaMarzoccoUpdateCoordinator(
hass=hass, hass=hass,
entry=entry,
local_client=local_client, local_client=local_client,
cloud_client=cloud_client, cloud_client=cloud_client,
bluetooth_client=bluetooth_client, bluetooth_client=bluetooth_client,

View File

@ -14,7 +14,7 @@ from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry from .coordinator import LaMarzoccoConfigEntry
from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription

View File

@ -12,8 +12,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import LaMarzoccoConfigEntry
from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription

View File

@ -10,8 +10,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import dt as dt_util from homeassistant.util import dt as dt_util
from . import LaMarzoccoConfigEntry from .coordinator import LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator
from .coordinator import LaMarzoccoUpdateCoordinator
from .entity import LaMarzoccoBaseEntity from .entity import LaMarzoccoBaseEntity
CALENDAR_KEY = "auto_on_off_schedule" CALENDAR_KEY = "auto_on_off_schedule"

View File

@ -1,5 +1,7 @@
"""Coordinator for La Marzocco API.""" """Coordinator for La Marzocco API."""
from __future__ import annotations
from collections.abc import Callable, Coroutine from collections.abc import Callable, Coroutine
from datetime import timedelta from datetime import timedelta
import logging import logging
@ -26,21 +28,30 @@ STATISTICS_UPDATE_INTERVAL = 300
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
type LaMarzoccoConfigEntry = ConfigEntry[LaMarzoccoUpdateCoordinator]
class LaMarzoccoUpdateCoordinator(DataUpdateCoordinator[None]): class LaMarzoccoUpdateCoordinator(DataUpdateCoordinator[None]):
"""Class to handle fetching data from the La Marzocco API centrally.""" """Class to handle fetching data from the La Marzocco API centrally."""
config_entry: ConfigEntry config_entry: LaMarzoccoConfigEntry
def __init__( def __init__(
self, self,
hass: HomeAssistant, hass: HomeAssistant,
entry: LaMarzoccoConfigEntry,
cloud_client: LaMarzoccoCloudClient, cloud_client: LaMarzoccoCloudClient,
local_client: LaMarzoccoLocalClient | None, local_client: LaMarzoccoLocalClient | None,
bluetooth_client: LaMarzoccoBluetoothClient | None, bluetooth_client: LaMarzoccoBluetoothClient | None,
) -> None: ) -> None:
"""Initialize coordinator.""" """Initialize coordinator."""
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=SCAN_INTERVAL) super().__init__(
hass,
_LOGGER,
config_entry=entry,
name=DOMAIN,
update_interval=SCAN_INTERVAL,
)
self.local_connection_configured = local_client is not None self.local_connection_configured = local_client is not None
assert self.config_entry.unique_id assert self.config_entry.unique_id

View File

@ -10,7 +10,7 @@ from lmcloud.const import FirmwareType
from homeassistant.components.diagnostics import async_redact_data from homeassistant.components.diagnostics import async_redact_data
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from . import LaMarzoccoConfigEntry from .coordinator import LaMarzoccoConfigEntry
TO_REDACT = { TO_REDACT = {
"serial_number", "serial_number",

View File

@ -31,9 +31,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import LaMarzoccoUpdateCoordinator from .coordinator import LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator
from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription

View File

@ -15,8 +15,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import LaMarzoccoConfigEntry
from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription
STEAM_LEVEL_HA_TO_LM = { STEAM_LEVEL_HA_TO_LM = {

View File

@ -16,7 +16,7 @@ from homeassistant.const import EntityCategory, UnitOfTemperature, UnitOfTime
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry from .coordinator import LaMarzoccoConfigEntry
from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription

View File

@ -15,9 +15,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import LaMarzoccoUpdateCoordinator from .coordinator import LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator
from .entity import LaMarzoccoBaseEntity, LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoBaseEntity, LaMarzoccoEntity, LaMarzoccoEntityDescription

View File

@ -17,8 +17,8 @@ from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import LaMarzoccoConfigEntry
from .const import DOMAIN from .const import DOMAIN
from .coordinator import LaMarzoccoConfigEntry
from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription from .entity import LaMarzoccoEntity, LaMarzoccoEntityDescription