File tree Expand file tree Collapse file tree 1 file changed +16
-6
lines changed Expand file tree Collapse file tree 1 file changed +16
-6
lines changed Original file line number Diff line number Diff line change @@ -331,7 +331,9 @@ def _disconnect_from_timer(self):
331331 self ._reset_disconnect_timer ()
332332 return
333333 self ._cancel_disconnect_timer ()
334- self ._timed_disconnect_task = self ._execute_timed_disconnect ()
334+ self ._timed_disconnect_task = asyncio .create_task (
335+ self ._execute_timed_disconnect ()
336+ )
335337
336338 def _cancel_disconnect_timer (self ):
337339 """Cancel disconnect timer."""
@@ -375,12 +377,20 @@ async def _execute_disconnect_with_lock(self) -> None:
375377 self ._client = None
376378 self ._read_char = None
377379 self ._write_char = None
378- if client :
379- _LOGGER .debug ("%s: Disconnecting" , self .name )
380- await client .disconnect ()
381- _LOGGER .debug ("%s: Disconnect completed" , self .name )
382- else :
380+ if not client :
383381 _LOGGER .debug ("%s: Already disconnected" , self .name )
382+ return
383+ _LOGGER .debug ("%s: Disconnecting" , self .name )
384+ try :
385+ await client .disconnect ()
386+ except BleakError as ex :
387+ _LOGGER .warning (
388+ "%s: Error disconnecting: %s; RSSI: %s" ,
389+ self .name ,
390+ ex ,
391+ self .rssi ,
392+ )
393+ _LOGGER .debug ("%s: Disconnect completed" , self .name )
384394
385395 async def _send_command_locked (self , key : str , command : bytes ) -> bytes :
386396 """Send command to device and read response."""
You can’t perform that action at this time.
0 commit comments