Skip to content

Husqvarna Automower - Connection issue #145473

@Marcussjogren

Description

@Marcussjogren

The problem

Hi,

I'm trying to use the integration "Husqvarna Automower BLE" and I am getting the errors below. Trying to connect via ESPHome bluetooth proxy, but it just takes half a second before I get the error "Failed to connect" so I don't think it's even trying to connect.

Can anyone help try figuring out whats wrong?

Attached logs below.

What version of Home Assistant Core has the issue?

2025.5.2

What was the last working version of Home Assistant Core?

First install

What type of installation are you running?

Home Assistant Core

Integration causing the issue

Husqvarna Automower BLE

Link to integration documentation on our website

https://www.home-assistant.io/integrations/husqvarna_automower_ble/

Diagnostics information

See post

Example YAML snippet

Anything in the logs that might be useful for us?

Logger: homeassistant.components.husqvarna_automower_ble
Source: components/husqvarna_automower_ble/config_flow.py:77
integration: husqvarna_automower_ble ([documentation](https://www.home-assistant.io/integrations/husqvarna_automower_ble), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+husqvarna_automower_ble%22))
First occurred: 11:11:39 PM (1 occurrence)
Last logged: 11:11:39 PM

Failed to connect to device: No backend with an available connection slot that can reach address None was found
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower_ble/config_flow.py", line 77, in async_step_confirm
    (manufacturer, device_type, model) = await Mower(
                                         ^^^^^^^^^^^^
        channel_id, self.address
        ^^^^^^^^^^^^^^^^^^^^^^^^
    ).probe_gatts(device)
    ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/automower_ble/protocol.py", line 463, in probe_gatts
    await client.connect()
  File "/usr/local/lib/python3.13/site-packages/habluetooth/wrappers.py", line 274, in connect
    wrapped_backend = self._async_get_best_available_backend_and_device(manager)
  File "/usr/local/lib/python3.13/site-packages/habluetooth/wrappers.py", line 388, in _async_get_best_available_backend_and_device
    raise BleakError(
    ...<2 lines>...
    )
bleak.exc.BleakError: No backend with an available connection slot that can reach address None was found



----

Logger: homeassistant.util.loop
Source: util/loop.py:137
First occurred: 11:11:39 PM (1 occurrence)
Last logged: 11:11:39 PM

Detected blocking call to open with args (PosixPath('/usr/local/lib/python3.13/site-packages/automower_ble/protocol.json'), 'r') inside the event loop by integration 'husqvarna_automower_ble' at homeassistant/components/husqvarna_automower_ble/config_flow.py, line 77: (manufacturer, device_type, model) = await Mower( (offender: /usr/local/lib/python3.13/site-packages/automower_ble/protocol.py, line 275: with files("automower_ble").joinpath("protocol.json").open("r") as f:), please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+husqvarna_automower_ble%22 For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#open Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 227, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 213, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 154, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.13/asyncio/base_events.py", line 706, in run_until_complete self.run_forever() File "/usr/local/lib/python3.13/asyncio/base_events.py", line 677, in run_forever self._run_once() File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2034, in _run_once handle._run() File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 598, in start task = asyncio.Task(coro, loop=loop, eager_start=True) File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle return await handler(request) File "/usr/local/lib/python3.13/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 41, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin return await func(self, request, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 233, in post return await super().post(request, flow_id) File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper return await method(view, request, data, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 121, in post result = await self._flow_mgr.async_configure(flow_id, data) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 336, in async_configure result = await self._async_configure(flow_id, user_input) File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 383, in _async_configure result = await self._async_handle_step( File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 487, in _async_handle_step result: _FlowResultT = await getattr(flow, method)(user_input) File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower_ble/config_flow.py", line 112, in async_step_user return await self.async_step_confirm() File "/usr/src/homeassistant/homeassistant/components/husqvarna_automower_ble/config_flow.py", line 77, in async_step_confirm (manufacturer, device_type, model) = await Mower(

Additional information

Tried the Automower BLE with Python on a Raspberry and that was working fine, so I know the connection should work.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions