mirror of
https://github.com/mx42/home-assistant-ecocito.git
synced 2026-01-14 22:09:49 +01:00
feat: merge coordinators to have less duplicate code
This commit is contained in:
@@ -18,8 +18,9 @@ from .const import (
|
||||
ECOCITO_REFRESH_MIN_KEY,
|
||||
)
|
||||
from .coordinator import (
|
||||
GarbageCollectionsDataUpdateCoordinator,
|
||||
RecyclingCollectionsDataUpdateCoordinator,
|
||||
CollectionDataUpdateCoordinator,
|
||||
# GarbageCollectionsDataUpdateCoordinator,
|
||||
# RecyclingCollectionsDataUpdateCoordinator,
|
||||
WasteDepotVisitsDataUpdateCoordinator,
|
||||
)
|
||||
|
||||
@@ -30,10 +31,12 @@ PLATFORMS: list[Platform] = [Platform.SENSOR]
|
||||
class EcocitoData:
|
||||
"""Ecocito data type."""
|
||||
|
||||
garbage_collections: GarbageCollectionsDataUpdateCoordinator
|
||||
garbage_collections_previous: GarbageCollectionsDataUpdateCoordinator
|
||||
recycling_collections: RecyclingCollectionsDataUpdateCoordinator
|
||||
recycling_collections_previous: RecyclingCollectionsDataUpdateCoordinator
|
||||
# TODO: Possibly at some point we can build dynamic sensors depending on user needs
|
||||
|
||||
garbage_collections: CollectionDataUpdateCoordinator
|
||||
garbage_collections_previous: CollectionDataUpdateCoordinator
|
||||
recycling_collections: CollectionDataUpdateCoordinator
|
||||
recycling_collections_previous: CollectionDataUpdateCoordinator
|
||||
waste_depot_visits: WasteDepotVisitsDataUpdateCoordinator
|
||||
|
||||
|
||||
@@ -53,17 +56,21 @@ async def async_setup_entry(hass: HomeAssistant, entry: EcocitoConfigEntry) -> b
|
||||
recycle_id = entry.data.get(ECOCITO_RECYCLE_TYPE, ECOCITO_RECYCLING_COLLECTION_TYPE)
|
||||
refresh_time = entry.data.get(ECOCITO_REFRESH_MIN_KEY, ECOCITO_DEFAULT_REFRESH_MIN)
|
||||
data = EcocitoData(
|
||||
garbage_collections=GarbageCollectionsDataUpdateCoordinator(hass, client, 0, garbage_id, refresh_time),
|
||||
garbage_collections_previous=GarbageCollectionsDataUpdateCoordinator(
|
||||
garbage_collections=CollectionDataUpdateCoordinator(
|
||||
hass, client, 0, garbage_id, refresh_time
|
||||
),
|
||||
garbage_collections_previous=CollectionDataUpdateCoordinator(
|
||||
hass, client, -1, garbage_id, refresh_time
|
||||
),
|
||||
recycling_collections=RecyclingCollectionsDataUpdateCoordinator(
|
||||
recycling_collections=CollectionDataUpdateCoordinator(
|
||||
hass, client, 0, recycle_id, refresh_time
|
||||
),
|
||||
recycling_collections_previous=RecyclingCollectionsDataUpdateCoordinator(
|
||||
recycling_collections_previous=CollectionDataUpdateCoordinator(
|
||||
hass, client, -1, recycle_id, refresh_time
|
||||
),
|
||||
waste_depot_visits=WasteDepotVisitsDataUpdateCoordinator(hass, client, 0, refresh_time),
|
||||
waste_depot_visits=WasteDepotVisitsDataUpdateCoordinator(
|
||||
hass, client, 0, refresh_time
|
||||
),
|
||||
)
|
||||
for field in fields(data):
|
||||
coordinator = getattr(data, field.name)
|
||||
|
||||
Reference in New Issue
Block a user