From c0c224bab6816b3895424cdd847c499a85476ae1 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 30 Jan 2025 13:18:47 +0100 Subject: [PATCH 1/4] Init smile_version with version-string --- plugwise/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugwise/__init__.py b/plugwise/__init__.py index b9fa4f090..29a5e4085 100644 --- a/plugwise/__init__.py +++ b/plugwise/__init__.py @@ -80,7 +80,7 @@ def __init__( self.smile_model_id: str | None = None self.smile_name: str = NONE self.smile_type: str = NONE - self.smile_version: Version | None = None + self.smile_version: Version = Version("0.0.0") self.smile_zigbee_mac_address: str | None = None @property From fda377358fdd6ca141bda7baae26b6bd60507abd Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 30 Jan 2025 13:20:19 +0100 Subject: [PATCH 2/4] Adapt typing --- plugwise/__init__.py | 2 +- plugwise/helper.py | 2 +- plugwise/legacy/helper.py | 2 +- plugwise/legacy/smile.py | 2 +- plugwise/smile.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugwise/__init__.py b/plugwise/__init__.py index 29a5e4085..407fcd8b0 100644 --- a/plugwise/__init__.py +++ b/plugwise/__init__.py @@ -115,7 +115,7 @@ def reboot(self) -> bool: """ return not self.smile_legacy - async def connect(self) -> Version | None: + async def connect(self) -> Version: """Connect to the Plugwise Gateway and determine its name, type, version, and other data.""" result = await self._request(DOMAIN_OBJECTS) # Work-around for Stretch fw 2.7.18 diff --git a/plugwise/helper.py b/plugwise/helper.py index 5075f408d..6186bd205 100644 --- a/plugwise/helper.py +++ b/plugwise/helper.py @@ -86,7 +86,7 @@ def __init__(self) -> None: self.smile_mac_address: str | None self.smile_model: str self.smile_model_id: str | None - self.smile_version: version.Version | None + self.smile_version: version.Version SmileCommon.__init__(self) def _all_appliances(self) -> None: diff --git a/plugwise/legacy/helper.py b/plugwise/legacy/helper.py index b00e3b690..59fcf97c3 100644 --- a/plugwise/legacy/helper.py +++ b/plugwise/legacy/helper.py @@ -72,7 +72,7 @@ def __init__(self) -> None: self.gw_entities: dict[str, GwEntityData] = {} self.smile_mac_address: str | None self.smile_model: str - self.smile_version: Version | None + self.smile_version: Version self.smile_zigbee_mac_address: str | None SmileCommon.__init__(self) diff --git a/plugwise/legacy/smile.py b/plugwise/legacy/smile.py index 48c657aff..5d63b3255 100644 --- a/plugwise/legacy/smile.py +++ b/plugwise/legacy/smile.py @@ -50,7 +50,7 @@ def __init__( smile_model: str, smile_name: str, smile_type: str, - smile_version: Version | None, + smile_version: Version, smile_zigbee_mac_address: str | None, ) -> None: """Set the constructor for this class.""" diff --git a/plugwise/smile.py b/plugwise/smile.py index 248fad8e7..646a94824 100644 --- a/plugwise/smile.py +++ b/plugwise/smile.py @@ -59,7 +59,7 @@ def __init__( smile_model_id: str | None, smile_name: str, smile_type: str, - smile_version: Version | None, + smile_version: Version, ) -> None: """Set the constructor for this class.""" self._cooling_present = _cooling_present From 31b4aa50b75ca99b7360f4d495c393d6214aa61c Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 30 Jan 2025 16:20:23 +0100 Subject: [PATCH 3/4] Fix up guarding with smile_version --- plugwise/helper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugwise/helper.py b/plugwise/helper.py index 6186bd205..d738f70a3 100644 --- a/plugwise/helper.py +++ b/plugwise/helper.py @@ -786,7 +786,7 @@ def _control_state(self, data: GwEntityData, loc_id: str) -> str | bool: # Handle missing control_state in regulation_mode off for firmware >= 3.2.0 (issue #776) # In newer firmware versions, default to "off" when control_state is not present - if self.smile_version is not None: + if self.smile_version != version.Version("0.0.0"): if self.smile_version >= version.parse("3.2.0"): return "off" From 763ade09823f7ad1e44ba3f8efad466b9750bb10 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 30 Jan 2025 19:29:33 +0100 Subject: [PATCH 4/4] Update CHANGELOG --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47ab7ba91..03985710f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Ongoing + +- Avoid None-init for smile_version [#699](https://github.com/plugwise/python-plugwise/pull/699) + ## v1.7.0 - Continuous improvements [#678](https://github.com/plugwise/python-plugwise/pull/678)