diff --git a/homeassistant/components/atag/__init__.py b/homeassistant/components/atag/__init__.py index 85732485165..fe6a27c116d 100644 --- a/homeassistant/components/atag/__init__.py +++ b/homeassistant/components/atag/__init__.py @@ -10,12 +10,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession -from homeassistant.helpers.device_registry import DeviceInfo -from homeassistant.helpers.update_coordinator import ( - CoordinatorEntity, - DataUpdateCoordinator, - UpdateFailed, -) +from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed _LOGGER = logging.getLogger(__name__) @@ -64,28 +59,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: if unload_ok: hass.data[DOMAIN].pop(entry.entry_id) return unload_ok - - -class AtagEntity(CoordinatorEntity[DataUpdateCoordinator[AtagOne]]): - """Defines a base Atag entity.""" - - def __init__( - self, coordinator: DataUpdateCoordinator[AtagOne], atag_id: str - ) -> None: - """Initialize the Atag entity.""" - super().__init__(coordinator) - - self._id = atag_id - self._attr_name = DOMAIN.title() - self._attr_unique_id = f"{coordinator.data.id}-{atag_id}" - - @property - def device_info(self) -> DeviceInfo: - """Return info for device registry.""" - return DeviceInfo( - identifiers={(DOMAIN, self.coordinator.data.id)}, - manufacturer="Atag", - model="Atag One", - name="Atag Thermostat", - sw_version=self.coordinator.data.apiversion, - ) diff --git a/homeassistant/components/atag/climate.py b/homeassistant/components/atag/climate.py index ff66839926f..c40db7cdd3e 100644 --- a/homeassistant/components/atag/climate.py +++ b/homeassistant/components/atag/climate.py @@ -18,7 +18,8 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util.enum import try_parse_enum -from . import DOMAIN, AtagEntity +from . import DOMAIN +from .entity import AtagEntity PRESET_MAP = { "Manual": "manual", diff --git a/homeassistant/components/atag/entity.py b/homeassistant/components/atag/entity.py new file mode 100644 index 00000000000..2847c5d17f6 --- /dev/null +++ b/homeassistant/components/atag/entity.py @@ -0,0 +1,36 @@ +"""The ATAG Integration.""" + +from pyatag import AtagOne + +from homeassistant.helpers.device_registry import DeviceInfo +from homeassistant.helpers.update_coordinator import ( + CoordinatorEntity, + DataUpdateCoordinator, +) + +from . import DOMAIN + + +class AtagEntity(CoordinatorEntity[DataUpdateCoordinator[AtagOne]]): + """Defines a base Atag entity.""" + + def __init__( + self, coordinator: DataUpdateCoordinator[AtagOne], atag_id: str + ) -> None: + """Initialize the Atag entity.""" + super().__init__(coordinator) + + self._id = atag_id + self._attr_name = DOMAIN.title() + self._attr_unique_id = f"{coordinator.data.id}-{atag_id}" + + @property + def device_info(self) -> DeviceInfo: + """Return info for device registry.""" + return DeviceInfo( + identifiers={(DOMAIN, self.coordinator.data.id)}, + manufacturer="Atag", + model="Atag One", + name="Atag Thermostat", + sw_version=self.coordinator.data.apiversion, + ) diff --git a/homeassistant/components/atag/sensor.py b/homeassistant/components/atag/sensor.py index 25a3de34556..4fcbfeaa308 100644 --- a/homeassistant/components/atag/sensor.py +++ b/homeassistant/components/atag/sensor.py @@ -11,7 +11,8 @@ from homeassistant.const import ( from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import DOMAIN, AtagEntity +from . import DOMAIN +from .entity import AtagEntity SENSORS = { "Outside Temperature": "outside_temp", diff --git a/homeassistant/components/atag/water_heater.py b/homeassistant/components/atag/water_heater.py index 8bae3df7436..91ccd623c55 100644 --- a/homeassistant/components/atag/water_heater.py +++ b/homeassistant/components/atag/water_heater.py @@ -12,7 +12,8 @@ from homeassistant.const import ATTR_TEMPERATURE, STATE_OFF, Platform, UnitOfTem from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback -from . import DOMAIN, AtagEntity +from . import DOMAIN +from .entity import AtagEntity OPERATION_LIST = [STATE_OFF, STATE_ECO, STATE_PERFORMANCE]