Skip to content

Commit c4ac574

Browse files
authored
Merge pull request #561 from plugwise/fix-select
Correct set_select() function
2 parents b635c47 + 283072c commit c4ac574

File tree

6 files changed

+19
-17
lines changed

6 files changed

+19
-17
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## v0.37.9
4+
5+
- Correct set_select() function.
6+
37
## v0.37.8
48

59
- Create a set_select() function, combining the set_dhw_mode(), set_gateway_mode(), set_regulation_mode() and set_schedule_state() functions.

plugwise/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,19 +311,19 @@ async def set_select(
311311
key: str,
312312
loc_id: str,
313313
option: str,
314-
name: str | None = None,
314+
state: str | None = None,
315315
) -> None:
316316
"""Set the selected option for the applicable Select."""
317-
await self._smile_api.set_select(key, loc_id, option, name)
317+
await self._smile_api.set_select(key, loc_id, option, state)
318318

319319
async def set_schedule_state(
320320
self,
321321
loc_id: str,
322-
new_state: str,
322+
state: str | None,
323323
name: str | None = None,
324324
) -> None:
325325
"""Activate/deactivate the Schedule, with the given name, on the relevant Thermostat."""
326-
await self._smile_api.set_schedule_state(loc_id, new_state, name)
326+
await self._smile_api.set_schedule_state(loc_id, state, name)
327327

328328
async def set_preset(self, loc_id: str, preset: str) -> None:
329329
"""Set the given Preset on the relevant Thermostat."""

plugwise/legacy/smile.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,12 @@ async def set_preset(self, _: str, preset: str) -> None:
182182
async def set_regulation_mode(self, mode: str) -> None:
183183
"""Set-function placeholder for legacy devices."""
184184

185-
async def set_select(self, key: str, loc_id: str, option: str, name: str | None) -> None:
185+
async def set_select(self, key: str, loc_id: str, option: str, state: str | None) -> None:
186186
"""Set the thermostat schedule option."""
187-
# schedule state corresponds to select option
188-
# schedule name corresponds to select name
189-
await self.set_schedule_state("dummy", option, name)
187+
# schedule name corresponds to select option
188+
await self.set_schedule_state("dummy", state, option)
190189

191-
async def set_schedule_state(self, _: str, state: str, name: str | None) -> None:
190+
async def set_schedule_state(self, _: str, state: str | None, name: str | None) -> None:
192191
"""Activate/deactivate the Schedule.
193192
194193
Determined from - DOMAIN_OBJECTS.

plugwise/smile.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ async def set_preset(self, loc_id: str, preset: str) -> None:
208208

209209
await self._request(uri, method="put", data=data)
210210

211-
async def set_select(self, key: str, loc_id: str, option: str, name: str | None) -> None:
211+
async def set_select(self, key: str, loc_id: str, option: str, state: str | None) -> None:
212212
"""Set a dhw/gateway/regulation mode or the thermostat schedule option."""
213213
match key:
214214
case "select_dhw_mode":
@@ -218,9 +218,8 @@ async def set_select(self, key: str, loc_id: str, option: str, name: str | None)
218218
case "select_regulation_mode":
219219
await self.set_regulation_mode(option)
220220
case "select_schedule":
221-
# schedule state corresponds to select option
222-
# schedule name corresponds to select name
223-
await self.set_schedule_state(loc_id, option, name)
221+
# schedule name corresponds to select option
222+
await self.set_schedule_state(loc_id, state, option)
224223

225224
async def set_dhw_mode(self, mode: str) -> None:
226225
"""Set the domestic hot water heating regulation mode."""
@@ -271,7 +270,7 @@ async def set_regulation_mode(self, mode: str) -> None:
271270
async def set_schedule_state(
272271
self,
273272
loc_id: str,
274-
new_state: str,
273+
new_state: str | None,
275274
name: str | None,
276275
) -> None:
277276
"""Activate/deactivate the Schedule, with the given name, on the relevant Thermostat.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "plugwise"
7-
version = "0.37.8"
7+
version = "0.37.9"
88
license = {file = "LICENSE"}
99
description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3."
1010
readme = "README.md"

tests/test_init.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,7 @@ async def tinker_thermostat_schedule(
733733
new_schedule = new_schedule[1:]
734734
_LOGGER.info("- Adjusting schedule to %s", f"{new_schedule}{warning}")
735735
try:
736-
await smile.set_select("select_schedule", loc_id, state, new_schedule)
736+
await smile.set_select("select_schedule", loc_id, new_schedule, state)
737737
tinker_schedule_passed = True
738738
_LOGGER.info(" + working as intended")
739739
except pw_exceptions.PlugwiseError:
@@ -763,7 +763,7 @@ async def tinker_legacy_thermostat_schedule(self, smile, unhappy=False):
763763
for state in states:
764764
_LOGGER.info("- Adjusting schedule to state %s", state)
765765
try:
766-
await smile.set_select("select_schedule", "dummy", state)
766+
await smile.set_select("select_schedule", "dummy", None, state)
767767
tinker_schedule_passed = True
768768
_LOGGER.info(" + working as intended")
769769
except pw_exceptions.PlugwiseError:

0 commit comments

Comments
 (0)