diff --git a/homeassistant/components/habitica/__init__.py b/homeassistant/components/habitica/__init__.py index 1972e89c58a..217b5e739d1 100644 --- a/homeassistant/components/habitica/__init__.py +++ b/homeassistant/components/habitica/__init__.py @@ -9,9 +9,8 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.typing import ConfigType from .const import CONF_API_USER, DOMAIN, X_CLIENT -from .coordinator import HabiticaDataUpdateCoordinator +from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator from .services import async_setup_services -from .types import HabiticaConfigEntry CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN) @@ -51,7 +50,7 @@ async def async_setup_entry( x_client=X_CLIENT, ) - coordinator = HabiticaDataUpdateCoordinator(hass, api) + coordinator = HabiticaDataUpdateCoordinator(hass, config_entry, api) await coordinator.async_config_entry_first_refresh() config_entry.runtime_data = coordinator diff --git a/homeassistant/components/habitica/binary_sensor.py b/homeassistant/components/habitica/binary_sensor.py index 5e3040e0606..6198ed14de8 100644 --- a/homeassistant/components/habitica/binary_sensor.py +++ b/homeassistant/components/habitica/binary_sensor.py @@ -16,8 +16,8 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ASSETS_URL +from .coordinator import HabiticaConfigEntry from .entity import HabiticaBase -from .types import HabiticaConfigEntry PARALLEL_UPDATES = 1 diff --git a/homeassistant/components/habitica/button.py b/homeassistant/components/habitica/button.py index 450a5cdcf20..40325c49a7b 100644 --- a/homeassistant/components/habitica/button.py +++ b/homeassistant/components/habitica/button.py @@ -28,9 +28,12 @@ from homeassistant.helpers import entity_registry as er from homeassistant.helpers.entity_platform import AddEntitiesCallback from .const import ASSETS_URL, DOMAIN -from .coordinator import HabiticaData, HabiticaDataUpdateCoordinator +from .coordinator import ( + HabiticaConfigEntry, + HabiticaData, + HabiticaDataUpdateCoordinator, +) from .entity import HabiticaBase -from .types import HabiticaConfigEntry PARALLEL_UPDATES = 1 diff --git a/homeassistant/components/habitica/calendar.py b/homeassistant/components/habitica/calendar.py index f33f3c3c12f..5ef9cd2eba1 100644 --- a/homeassistant/components/habitica/calendar.py +++ b/homeassistant/components/habitica/calendar.py @@ -21,8 +21,7 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import dt as dt_util -from . import HabiticaConfigEntry -from .coordinator import HabiticaDataUpdateCoordinator +from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator from .entity import HabiticaBase from .util import build_rrule, get_recurrence_rule diff --git a/homeassistant/components/habitica/config_flow.py b/homeassistant/components/habitica/config_flow.py index 7a7f369cb09..91a13bd7918 100644 --- a/homeassistant/components/habitica/config_flow.py +++ b/homeassistant/components/habitica/config_flow.py @@ -33,7 +33,6 @@ from homeassistant.helpers.selector import ( TextSelectorType, ) -from . import HabiticaConfigEntry from .const import ( CONF_API_USER, DEFAULT_URL, @@ -47,6 +46,7 @@ from .const import ( SITE_DATA_URL, X_CLIENT, ) +from .coordinator import HabiticaConfigEntry STEP_ADVANCED_DATA_SCHEMA = vol.Schema( { diff --git a/homeassistant/components/habitica/coordinator.py b/homeassistant/components/habitica/coordinator.py index f97b98410bb..19d31f18fd7 100644 --- a/homeassistant/components/habitica/coordinator.py +++ b/homeassistant/components/habitica/coordinator.py @@ -46,16 +46,22 @@ class HabiticaData: tasks: list[TaskData] +type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator] + + class HabiticaDataUpdateCoordinator(DataUpdateCoordinator[HabiticaData]): """Habitica Data Update Coordinator.""" config_entry: ConfigEntry - def __init__(self, hass: HomeAssistant, habitica: Habitica) -> None: + def __init__( + self, hass: HomeAssistant, config_entry: ConfigEntry, habitica: Habitica + ) -> None: """Initialize the Habitica data coordinator.""" super().__init__( hass, _LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=timedelta(seconds=60), request_refresh_debouncer=Debouncer( diff --git a/homeassistant/components/habitica/diagnostics.py b/homeassistant/components/habitica/diagnostics.py index abfa0f35c4b..09b8b9ba0bb 100644 --- a/homeassistant/components/habitica/diagnostics.py +++ b/homeassistant/components/habitica/diagnostics.py @@ -8,7 +8,7 @@ from homeassistant.const import CONF_URL from homeassistant.core import HomeAssistant from .const import CONF_API_USER -from .types import HabiticaConfigEntry +from .coordinator import HabiticaConfigEntry async def async_get_config_entry_diagnostics( diff --git a/homeassistant/components/habitica/image.py b/homeassistant/components/habitica/image.py index f1dbbc64d41..b3b2fbb85a8 100644 --- a/homeassistant/components/habitica/image.py +++ b/homeassistant/components/habitica/image.py @@ -12,8 +12,7 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import dt as dt_util -from . import HabiticaConfigEntry -from .coordinator import HabiticaDataUpdateCoordinator +from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator from .entity import HabiticaBase PARALLEL_UPDATES = 1 diff --git a/homeassistant/components/habitica/sensor.py b/homeassistant/components/habitica/sensor.py index 57c391f5c12..fa36025c5ce 100644 --- a/homeassistant/components/habitica/sensor.py +++ b/homeassistant/components/habitica/sensor.py @@ -37,9 +37,8 @@ from homeassistant.helpers.issue_registry import ( from homeassistant.helpers.typing import StateType from .const import ASSETS_URL, DOMAIN -from .coordinator import HabiticaDataUpdateCoordinator +from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator from .entity import HabiticaBase -from .types import HabiticaConfigEntry from .util import get_attribute_points, get_attributes_total, inventory_list _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/habitica/services.py b/homeassistant/components/habitica/services.py index 2537655dbfb..12d5b3e6ef8 100644 --- a/homeassistant/components/habitica/services.py +++ b/homeassistant/components/habitica/services.py @@ -62,7 +62,7 @@ from .const import ( SERVICE_START_QUEST, SERVICE_TRANSFORMATION, ) -from .types import HabiticaConfigEntry +from .coordinator import HabiticaConfigEntry _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/habitica/switch.py b/homeassistant/components/habitica/switch.py index ddc0db27108..fdad85ce3dc 100644 --- a/homeassistant/components/habitica/switch.py +++ b/homeassistant/components/habitica/switch.py @@ -15,9 +15,12 @@ from homeassistant.components.switch import ( from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from .coordinator import HabiticaData, HabiticaDataUpdateCoordinator +from .coordinator import ( + HabiticaConfigEntry, + HabiticaData, + HabiticaDataUpdateCoordinator, +) from .entity import HabiticaBase -from .types import HabiticaConfigEntry PARALLEL_UPDATES = 1 diff --git a/homeassistant/components/habitica/todo.py b/homeassistant/components/habitica/todo.py index c1786059300..c46cf92c724 100644 --- a/homeassistant/components/habitica/todo.py +++ b/homeassistant/components/habitica/todo.py @@ -30,9 +30,8 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import dt as dt_util from .const import ASSETS_URL, DOMAIN -from .coordinator import HabiticaDataUpdateCoordinator +from .coordinator import HabiticaConfigEntry, HabiticaDataUpdateCoordinator from .entity import HabiticaBase -from .types import HabiticaConfigEntry from .util import next_due_date _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/habitica/types.py b/homeassistant/components/habitica/types.py deleted file mode 100644 index 9789a65dc40..00000000000 --- a/homeassistant/components/habitica/types.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Types for Habitica integration.""" - -from enum import StrEnum - -from homeassistant.config_entries import ConfigEntry - -from .coordinator import HabiticaDataUpdateCoordinator - -type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator] - - -class HabiticaTaskType(StrEnum): - """Habitica Entities.""" - - HABIT = "habit" - DAILY = "daily" - TODO = "todo" - REWARD = "reward"