1
0
mirror of https://github.com/home-assistant/core.git synced 2026-02-14 23:28:42 +00:00

Move TadoConfigEntry declaration (#162811)

This commit is contained in:
epenet
2026-02-11 16:01:31 +01:00
committed by GitHub
parent 08160a41a6
commit f01ece1d3d
11 changed files with 28 additions and 37 deletions

View File

@@ -7,7 +7,6 @@ import PyTado
import PyTado.exceptions
from PyTado.interface import Tado
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
APPLICATION_NAME,
CONF_PASSWORD,
@@ -34,8 +33,12 @@ from .const import (
DOMAIN,
TADO_BRIDGE_MODELS,
)
from .coordinator import TadoDataUpdateCoordinator, TadoMobileDeviceUpdateCoordinator
from .models import TadoData
from .coordinator import (
TadoConfigEntry,
TadoData,
TadoDataUpdateCoordinator,
TadoMobileDeviceUpdateCoordinator,
)
from .services import async_setup_services
PLATFORMS = [
@@ -63,9 +66,6 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
return True
type TadoConfigEntry = ConfigEntry[TadoData]
async def async_setup_entry(hass: HomeAssistant, entry: TadoConfigEntry) -> bool:
"""Set up Tado from a config entry."""
if CONF_REFRESH_TOKEN not in entry.data:

View File

@@ -16,7 +16,6 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.typing import StateType
from . import TadoConfigEntry
from .const import (
TYPE_AIR_CONDITIONING,
TYPE_BATTERY,
@@ -24,7 +23,7 @@ from .const import (
TYPE_HOT_WATER,
TYPE_POWER,
)
from .coordinator import TadoDataUpdateCoordinator
from .coordinator import TadoConfigEntry, TadoDataUpdateCoordinator
from .entity import TadoDeviceEntity, TadoZoneEntity
_LOGGER = logging.getLogger(__name__)

View File

@@ -29,7 +29,6 @@ from homeassistant.helpers import config_validation as cv, entity_platform
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.typing import VolDictType
from . import TadoConfigEntry
from .const import (
CONST_EXCLUSIVE_OVERLAY_GROUP,
CONST_FAN_AUTO,
@@ -71,7 +70,7 @@ from .const import (
TYPE_AIR_CONDITIONING,
TYPE_HEATING,
)
from .coordinator import TadoDataUpdateCoordinator
from .coordinator import TadoConfigEntry, TadoDataUpdateCoordinator
from .entity import TadoZoneEntity
from .helper import decide_duration, decide_overlay_mode, generate_supported_fanmodes

View File

@@ -15,7 +15,6 @@ from yarl import URL
from homeassistant.config_entries import (
SOURCE_REAUTH,
ConfigEntry,
ConfigFlow,
ConfigFlowResult,
OptionsFlow,
@@ -31,6 +30,7 @@ from .const import (
CONST_OVERLAY_TADO_OPTIONS,
DOMAIN,
)
from .coordinator import TadoConfigEntry
_LOGGER = logging.getLogger(__name__)
@@ -176,7 +176,7 @@ class TadoConfigFlow(ConfigFlow, domain=DOMAIN):
@staticmethod
@callback
def async_get_options_flow(
config_entry: ConfigEntry,
config_entry: TadoConfigEntry,
) -> OptionsFlowHandler:
"""Get the options flow for this handler."""
return OptionsFlowHandler()

View File

@@ -2,21 +2,20 @@
from __future__ import annotations
from dataclasses import dataclass
from datetime import datetime, timedelta
import logging
from typing import TYPE_CHECKING, Any
from typing import Any
from PyTado.interface import Tado
from requests import RequestException
from homeassistant.components.climate import PRESET_AWAY, PRESET_HOME
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
if TYPE_CHECKING:
from . import TadoConfigEntry
from .const import (
CONF_FALLBACK,
CONF_REFRESH_TOKEN,
@@ -33,6 +32,16 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=4)
SCAN_INTERVAL = timedelta(minutes=5)
SCAN_MOBILE_DEVICE_INTERVAL = timedelta(minutes=5)
type TadoConfigEntry = ConfigEntry[TadoData]
@dataclass
class TadoData:
"""Class to hold Tado data."""
coordinator: TadoDataUpdateCoordinator
mobile_coordinator: TadoMobileDeviceUpdateCoordinator
class TadoDataUpdateCoordinator(DataUpdateCoordinator[dict[str, dict]]):
"""Class to manage API calls from and to Tado via PyTado."""

View File

@@ -17,9 +17,8 @@ from homeassistant.helpers.update_coordinator import (
DataUpdateCoordinator,
)
from . import TadoConfigEntry
from .const import DOMAIN
from .coordinator import TadoMobileDeviceUpdateCoordinator
from .coordinator import TadoConfigEntry, TadoMobileDeviceUpdateCoordinator
_LOGGER = logging.getLogger(__name__)

View File

@@ -6,7 +6,7 @@ from typing import Any
from homeassistant.core import HomeAssistant
from . import TadoConfigEntry
from .coordinator import TadoConfigEntry
async def async_get_config_entry_diagnostics(

View File

@@ -1,13 +0,0 @@
"""Models for use in Tado integration."""
from dataclasses import dataclass
from .coordinator import TadoDataUpdateCoordinator, TadoMobileDeviceUpdateCoordinator
@dataclass
class TadoData:
"""Class to hold Tado data."""
coordinator: TadoDataUpdateCoordinator
mobile_coordinator: TadoMobileDeviceUpdateCoordinator

View File

@@ -18,7 +18,6 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.typing import StateType
from . import TadoConfigEntry
from .const import (
CONDITIONS_MAP,
SENSOR_DATA_CATEGORY_GEOFENCE,
@@ -27,7 +26,7 @@ from .const import (
TYPE_HEATING,
TYPE_HOT_WATER,
)
from .coordinator import TadoDataUpdateCoordinator
from .coordinator import TadoConfigEntry, TadoDataUpdateCoordinator
from .entity import TadoHomeEntity, TadoZoneEntity
_LOGGER = logging.getLogger(__name__)

View File

@@ -7,7 +7,7 @@ from homeassistant.components.switch import SwitchEntity
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from . import TadoConfigEntry
from .coordinator import TadoConfigEntry
from .entity import TadoDataUpdateCoordinator, TadoZoneEntity
_LOGGER = logging.getLogger(__name__)

View File

@@ -15,7 +15,6 @@ from homeassistant.helpers import config_validation as cv, entity_platform
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.typing import VolDictType
from . import TadoConfigEntry
from .const import (
CONST_HVAC_HEAT,
CONST_MODE_AUTO,
@@ -27,7 +26,7 @@ from .const import (
CONST_OVERLAY_TIMER,
TYPE_HOT_WATER,
)
from .coordinator import TadoDataUpdateCoordinator
from .coordinator import TadoConfigEntry, TadoDataUpdateCoordinator
from .entity import TadoZoneEntity
from .helper import decide_duration, decide_overlay_mode
from .repairs import manage_water_heater_fallback_issue