@@ -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