Skip to content

Commit 4b4a14c

Browse files
committed
Assure proper input-output
1 parent 663aba7 commit 4b4a14c

File tree

1 file changed

+8
-31
lines changed

1 file changed

+8
-31
lines changed

plugwise_usb/nodes/scan.py

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def __init__(
8686

8787
self._motion_state = MotionState()
8888
self._motion_config = MotionConfig()
89-
self._scan_calibrate_light_scheduled: bool = False
89+
self._scan_calibrate_light_scheduled = False
9090
self._configure_daylight_mode_task: Task[Coroutine[Any, Any, None]] | None = (
9191
None
9292
)
@@ -165,7 +165,7 @@ async def _load_from_cache(self) -> bool:
165165
self._motion_config = MotionConfig(
166166
daylight_mode=daylight_mode,
167167
reset_timer=reset_timer,
168-
sensitivity_level=sensitivity_level,
168+
sensitivity_level=sensitivity_level.value,
169169
dirty=dirty,
170170
)
171171
if dirty:
@@ -326,42 +326,19 @@ async def set_motion_reset_timer(self, minutes: int) -> bool:
326326
await self._scan_configure_update()
327327
return True
328328

329-
async def set_motion_sensitivity_level(
330-
self, level: MotionSensitivity | int | str
331-
) -> bool:
329+
async def set_motion_sensitivity_level(self, level: MotionSensitivity) -> bool:
332330
"""Configure the motion sensitivity level."""
333331
_LOGGER.debug(
334332
"set_motion_sensitivity_level | Device %s | %s -> %s",
335333
self.name,
336334
self._motion_config.sensitivity_level,
337-
str(level),
335+
level.value,
338336
)
339-
if isinstance(level, int):
340-
try:
341-
level = MotionSensitivity(level)
342-
except ValueError:
343-
_LOGGER.exception(
344-
"MotionSensitivity for %s: invalid numeric value %s",
345-
self._mac_in_str,
346-
str(level),
347-
)
348-
return False
349-
350-
if isinstance(level, str):
351-
try:
352-
level = MotionSensitivity[level]
353-
except KeyError:
354-
_LOGGER.exception(
355-
"MotionSensitivity for %s: unknown level %s",
356-
self._mac_in_str,
357-
level,
358-
)
359-
return False
360-
if self._motion_config.sensitivity_level == level:
337+
if self._motion_config.sensitivity_level == level.value:
361338
return False
362339
self._motion_config = replace(
363340
self._motion_config,
364-
sensitivity_level=level,
341+
sensitivity_level=level.value,
365342
dirty=True,
366343
)
367344
await self._scan_configure_update()
@@ -472,7 +449,7 @@ async def scan_configure(self) -> bool:
472449
self._send,
473450
self._mac_in_bytes,
474451
self.reset_timer,
475-
self.sensitivity_level.value,
452+
self.sensitivity_level,
476453
self.daylight_mode,
477454
)
478455
if (response := await request.send()) is None:
@@ -501,7 +478,7 @@ async def _scan_configure_update(self) -> None:
501478
self._set_cache(CACHE_SCAN_CONFIG_RESET_TIMER, str(self.reset_timer))
502479
self._set_cache(
503480
CACHE_SCAN_CONFIG_SENSITIVITY,
504-
self._motion_config.sensitivity_level.name,
481+
self._motion_config.sensitivity_level,
505482
)
506483
self._set_cache(CACHE_SCAN_CONFIG_DAYLIGHT_MODE, str(self.daylight_mode))
507484
self._set_cache(CACHE_SCAN_CONFIG_DIRTY, str(self.dirty))

0 commit comments

Comments
 (0)