diff --git a/PyMyGekko/__init__.py b/PyMyGekko/__init__.py index dc23f0c..110e97d 100644 --- a/PyMyGekko/__init__.py +++ b/PyMyGekko/__init__.py @@ -36,7 +36,6 @@ from .data_provider import DataProvider from .data_provider import DummyDataProvider - _LOGGER: logging.Logger = logging.getLogger(__name__) diff --git a/PyMyGekko/data_provider.py b/PyMyGekko/data_provider.py index a84d205..108d0d0 100644 --- a/PyMyGekko/data_provider.py +++ b/PyMyGekko/data_provider.py @@ -26,7 +26,8 @@ def update_resources(self, resources): class EntityValueAccessor(DataSubscriberInterface): """Base class for entity values accessors""" - _data = {} + def __init__(self): + self._data = {} def get_value(self, entity: Entity, value_name: str) -> str | None: """Returns a data value of this entity""" @@ -43,9 +44,10 @@ def get_value(self, entity: Entity, value_name: str) -> str | None: class DataProviderBase(ABC): """Base class for data providers""" - _subscriber: list[DataSubscriberInterface] = [] - _status = None - _resources = None + def __init__(self): + self._subscriber: list[DataSubscriberInterface] = [] + self._status = None + self._resources = None @property def resources(self): @@ -101,6 +103,9 @@ async def try_connect(self) -> None: class DummyDataProvider(DataProviderBase): """Dummy data provider returning static test data""" + def __init__(self): + super().__init__() + async def try_connect(self) -> None: _LOGGER.debug("try_connect in DummyDataProvider") @@ -122,6 +127,7 @@ class DataProvider(DataProviderBase): def __init__( self, url: URL, authentication_params: dict[str, str], session: ClientSession ): + super().__init__() self._url = url self._authentication_params = authentication_params self._session = session diff --git a/PyMyGekko/resources/AccessDoors.py b/PyMyGekko/resources/AccessDoors.py index 4eaa15e..4eee49c 100644 --- a/PyMyGekko/resources/AccessDoors.py +++ b/PyMyGekko/resources/AccessDoors.py @@ -103,7 +103,7 @@ class AccessDoorValueAccessor(EntityValueAccessor): """AccessDoor value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Actions.py b/PyMyGekko/resources/Actions.py index bf4fc88..616292a 100644 --- a/PyMyGekko/resources/Actions.py +++ b/PyMyGekko/resources/Actions.py @@ -57,7 +57,7 @@ class ActionValueAccessor(EntityValueAccessor): """Action value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider data_provider.subscribe(self) diff --git a/PyMyGekko/resources/AlarmsLogics.py b/PyMyGekko/resources/AlarmsLogics.py index d6a4981..8d21ef7 100644 --- a/PyMyGekko/resources/AlarmsLogics.py +++ b/PyMyGekko/resources/AlarmsLogics.py @@ -26,7 +26,7 @@ class AlarmsLogicValueAccessor(EntityValueAccessor): """AlarmsLogic value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Blinds.py b/PyMyGekko/resources/Blinds.py index 8b7bec1..fe5055d 100644 --- a/PyMyGekko/resources/Blinds.py +++ b/PyMyGekko/resources/Blinds.py @@ -93,7 +93,7 @@ class BlindValueAccessor(EntityValueAccessor): """Blind value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Cams.py b/PyMyGekko/resources/Cams.py index f587f5e..8154cea 100644 --- a/PyMyGekko/resources/Cams.py +++ b/PyMyGekko/resources/Cams.py @@ -52,7 +52,7 @@ class CamValueAccessor(EntityValueAccessor): """Cam value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/DoorInterComs.py b/PyMyGekko/resources/DoorInterComs.py index ac8e1e7..68824fb 100644 --- a/PyMyGekko/resources/DoorInterComs.py +++ b/PyMyGekko/resources/DoorInterComs.py @@ -114,7 +114,7 @@ class DoorInterComValueAccessor(EntityValueAccessor): """DoorInterCom value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/EnergyCosts.py b/PyMyGekko/resources/EnergyCosts.py index c0c36b2..c81c7d8 100644 --- a/PyMyGekko/resources/EnergyCosts.py +++ b/PyMyGekko/resources/EnergyCosts.py @@ -8,7 +8,6 @@ from PyMyGekko.data_provider import EntityValueAccessor from PyMyGekko.resources import Entity - _LOGGER: logging.Logger = logging.getLogger(__name__) @@ -31,7 +30,7 @@ class EnergyCostValueAccessor(EntityValueAccessor): """EnergyCost value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/HotWaterSystems.py b/PyMyGekko/resources/HotWaterSystems.py index 85784b2..3b4c43e 100644 --- a/PyMyGekko/resources/HotWaterSystems.py +++ b/PyMyGekko/resources/HotWaterSystems.py @@ -76,7 +76,7 @@ class HotWaterSystemValueAccessor(EntityValueAccessor): """HotWaterSystem value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Lights.py b/PyMyGekko/resources/Lights.py index 574ba91..3ecbe7e 100644 --- a/PyMyGekko/resources/Lights.py +++ b/PyMyGekko/resources/Lights.py @@ -74,7 +74,7 @@ class LightValueAccessor(EntityValueAccessor): """Lights value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Loads.py b/PyMyGekko/resources/Loads.py index d45bdc6..eb89925 100644 --- a/PyMyGekko/resources/Loads.py +++ b/PyMyGekko/resources/Loads.py @@ -52,7 +52,7 @@ class LoadValueAccessor(EntityValueAccessor): """Loads value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Meteo.py b/PyMyGekko/resources/Meteo.py index be71e1e..8916244 100644 --- a/PyMyGekko/resources/Meteo.py +++ b/PyMyGekko/resources/Meteo.py @@ -8,7 +8,6 @@ from PyMyGekko.data_provider import EntityValueAccessor from PyMyGekko.resources import ReadOnlyEntity - _LOGGER: logging.Logger = logging.getLogger(__name__) @@ -31,7 +30,7 @@ class MeteoValueAccessor(EntityValueAccessor): """Meteo value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/RoomTemps.py b/PyMyGekko/resources/RoomTemps.py index 84cc11c..4cebd83 100644 --- a/PyMyGekko/resources/RoomTemps.py +++ b/PyMyGekko/resources/RoomTemps.py @@ -84,7 +84,7 @@ class RoomTempsValueAccessor(EntityValueAccessor): """RoomTemps value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self) diff --git a/PyMyGekko/resources/Vents.py b/PyMyGekko/resources/Vents.py index 4d9a671..928afee 100644 --- a/PyMyGekko/resources/Vents.py +++ b/PyMyGekko/resources/Vents.py @@ -284,7 +284,7 @@ class VentValueAccessor(EntityValueAccessor): """Vent value accessor""" def __init__(self, data_provider: DataProviderBase): - self._data = {} + super().__init__() self._data_provider = data_provider self._data_provider.subscribe(self)