Repository: plugwise/python-plugwise (language: python)

Issue:
Update dependency setuptools to v75
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [setuptools](https://redirect.github.com/pypa/setuptools) ([changelog](https://setuptools.pypa.io/en/stable/history.html)) | `~=74.0` -> `~=75.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/setuptools/75.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/setuptools/75.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/setuptools/74.1.3/75.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/setuptools/74.1.3/75.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pypa/setuptools (setuptools)</summary>

### [`v75.1.0`](https://redirect.github.com/pypa/setuptools/compare/v75.0.0...v75.1.0)

[Compare Source](https://redirect.github.com/pypa/setuptools/compare/v75.0.0...v75.1.0)

### [`v75.0.0`](https://redirect.github.com/pypa/setuptools/compare/v74.1.3...v75.0.0)

[Compare Source](https://redirect.github.com/pypa/setuptools/compare/v74.1.3...v75.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am" in timezone Europe/Amsterdam, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/plugwise/python-plugwise).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->



Discussion / hints:

Fix patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bbed6202d..97ddcd023 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+## v0.37.3
+
+- Fix for [plugwise-beta #620](https://github.com/plugwise/plugwise-beta/issues/620)
+
 ## v0.37.2
 
 - Code improvements
diff --git a/plugwise/legacy/smile.py b/plugwise/legacy/smile.py
index 116c15571..42c35ad5a 100644
--- a/plugwise/legacy/smile.py
+++ b/plugwise/legacy/smile.py
@@ -249,8 +249,12 @@ async def _set_groupswitch_member_state(
 
             await self._request(uri, method="put", data=data)
 
-    async def set_temperature(self, setpoint: str, _: dict[str, float]) -> None:
+    async def set_temperature(self, _: str, items: dict[str, float]) -> None:
         """Set the given Temperature on the relevant Thermostat."""
+        setpoint: float | None = None
+        if "setpoint" in items:
+            setpoint = items["setpoint"]
+
         if setpoint is None:
             raise PlugwiseError(
                 "Plugwise: failed setting temperature: no valid input provided"
diff --git a/pyproject.toml b/pyproject.toml
index e79fbdb91..2f86b9be1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name            = "plugwise"
-version         = "0.37.2"
+version         = "0.37.3"
 license         = {file = "LICENSE"}
 description     = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3."
 readme          = "README.md"


Test patch:
diff --git a/tests/test_init.py b/tests/test_init.py
index 2eae32a63..a7c7d8f14 100644
--- a/tests/test_init.py
+++ b/tests/test_init.py
@@ -686,30 +686,6 @@ async def tinker_thermostat_temp(
 
         return tinker_temp_passed
 
-    @pytest.mark.asyncio
-    async def tinker_legacy_thermostat_temp(self, smile, unhappy=False):
-        """Toggle temperature to test functionality."""
-        _LOGGER.info("Assert modifying temperature setpoint")
-        tinker_temp_passed = False
-        test_temp = 22.9
-        _LOGGER.info("- Adjusting temperature to %s", test_temp)
-        try:
-            await smile.set_temperature(test_temp, None)
-            _LOGGER.info("  + worked as intended")
-            tinker_temp_passed = True
-        except (
-            pw_exceptions.ErrorSendingCommandError,
-            pw_exceptions.ResponseError,
-        ):
-            if unhappy:
-                _LOGGER.info("  + failed as expected")
-                tinker_temp_passed = True
-            else:  # pragma: no cover
-                _LOGGER.info("  - failed unexpectedly")
-                tinker_temp_passed = False
-
-        return tinker_temp_passed
-
     @pytest.mark.asyncio
     async def tinker_thermostat_preset(self, smile, loc_id, unhappy=False):
         """Toggle preset to test functionality."""
@@ -843,9 +819,17 @@ async def tinker_thermostat(
         return result_1 and result_2 and result_3
 
     @pytest.mark.asyncio
-    async def tinker_legacy_thermostat(self, smile, schedule_on=True, unhappy=False):
+    async def tinker_legacy_thermostat(
+        self,
+        smile,
+        schedule_on=True,
+        block_cooling=False,
+        unhappy=False
+    ):
         """Toggle various climate settings to test functionality."""
-        result_1 = await self.tinker_legacy_thermostat_temp(smile, unhappy)
+        result_1 = await self.tinker_thermostat_temp(
+            smile, "dummy", block_cooling, unhappy
+        )
         result_2 = await self.tinker_thermostat_preset(smile, None, unhappy)
         result_3 = await self.tinker_legacy_thermostat_schedule(smile, unhappy)
         if schedule_on: