Skip to content

Wrap ESPHome timeout in TimeoutError #47

@balloob

Description

@balloob

When connecting to an ESPHome device on an unknown IP, the library raises an ESPHome timeout error, and not TimeoutError as raised by other parts of the code. Should this be fixed?

File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/serialx/async_serial.py", line 70, in open_serial_connection
    transport, _ = await create_serial_connection(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        loop, lambda: protocol, *args, **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/serialx/async_serial.py", line 49, in create_serial_connection
    await transport.connect(
    ...<7 lines>...
    )
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/serialx/common.py", line 651, in connect
    return await self._connect(
           ^^^^^^^^^^^^^^^^^^^^
    ...<8 lines>...
    )
    ^
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/serialx/platforms/serial_esphome.py", line 310, in _connect
    await self._serial._async_open()
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/serialx/platforms/serial_esphome.py", line 135, in _async_open
    await self._api.connect(login=True)
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/aioesphomeapi/client.py", line 260, in connect
    await self.start_connection()
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/aioesphomeapi/client.py", line 295, in start_connection
    await self._execute_connection_coro(self._connection.start_connection())
  File "/Users/paulus/dev/hass/core/.venv/lib/python3.14/site-packages/aioesphomeapi/client.py", line 316, in _execute_connection_coro
    await coro
  File "aioesphomeapi/connection.py", line 704, in start_connection
  File "aioesphomeapi/connection.py", line 695, in aioesphomeapi.connection.APIConnection.start_connection
  File "aioesphomeapi/connection.py", line 698, in aioesphomeapi.connection.APIConnection.start_connection
  File "aioesphomeapi/connection.py", line 420, in _connect_socket_connect
aioesphomeapi.core.TimeoutAPIError: Timeout while connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.1.227', port=6053))]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions