Skip to content

Commit b8a1e61

Browse files
authored
Ensure websocket connection is cleaned up on connection failure (#627)
1 parent 66cb4a1 commit b8a1e61

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

aioshelly/rpc_device/device.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,14 +225,17 @@ async def _connect_websocket(self) -> None:
225225
except InvalidAuthError as err:
226226
self._last_error = InvalidAuthError(err)
227227
_LOGGER.debug("host %s:%s: error: %r", ip, port, self._last_error)
228+
await self._wsrpc.disconnect()
228229
raise
229230
except MacAddressMismatchError as err:
230231
self._last_error = err
231232
_LOGGER.debug("host %s:%s: error: %r", ip, port, err)
233+
await self._wsrpc.disconnect()
232234
raise
233235
except (*CONNECT_ERRORS, RpcCallError) as err:
234236
self._last_error = DeviceConnectionError(err)
235237
_LOGGER.debug("host %s:%s: error: %r", ip, port, self._last_error)
238+
await self._wsrpc.disconnect()
236239
raise self._last_error from err
237240
else:
238241
_LOGGER.debug("host %s:%s: RPC device init finished", ip, port)

0 commit comments

Comments
 (0)