Esp32 proxy

Hi All, I have set up a couple of esp proxies, one of which is in my garage and I was hoping to be able to read the bluetooth from my 2 JK active balancers and my Seplos V3 BMS using BLE Battery Management System. It does intermittently connect but not for long enough to read any of the 19 entities on the active balancers. The bluetooth proxies seem to be able to detect my phone using Bermuda BLE.
Anyone know what the issue may be?
PS I have ordered a different ESP32 from PI Hut in case its the ESP 32's I have. All 3 I have do the same btw. The bluetooth proxy is about 1 metre from the batteries and inverter.

Log file below:

This error originated from a custom integration.

Logger: custom_components.bms_ble
Source: helpers/update_coordinator.py:363
Integration: BLE Battery Management System (documentation, issues)
First occurred: 13:39:14 (83 occurrences)
Last logged: 17:38:36

Unexpected error fetching C8:47:80:46:B5:88 data
Unexpected error fetching C8:47:80:39:C5:11 data
Unexpected error fetching SP112B2506250034 data
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/bleak_retry_connector/init.py", line 491, in establish_connection
await client.connect(
...<2 lines>...
)
File "/usr/local/lib/python3.14/site-packages/habluetooth/wrappers.py", line 430, in connect
wrapped_backend = self._async_get_best_available_backend_and_device(manager)
File "/usr/local/lib/python3.14/site-packages/habluetooth/wrappers.py", line 646, 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 C8:47:80:46:B5:88 was found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 363, in __wrap_async_setup
await self._async_setup()
File "/config/custom_components/bms_ble/coordinator.py", line 111, in _async_setup
bms_info: Final = await self._device.device_info()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/aiobmsble/basebms.py", line 185, in device_info
await self._connect()
File "/usr/local/lib/python3.14/site-packages/aiobmsble/basebms.py", line 387, in _connect
self._client = await establish_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
)
^
File "/usr/local/lib/python3.14/site-packages/bleak_retry_connector/init.py", line 599, in establish_connection
_raise_if_needed(name, device.address, exc)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/bleak_retry_connector/init.py", line 449, in _raise_if_needed
raise BleakOutOfConnectionSlotsError(
f"{msg}: {OUT_OF_SLOTS_ADVICE}"
) from exc
bleak_retry_connector.BleakOutOfConnectionSlotsError: C8:47:80:46:B5:88 - C8:47:80:46:B5:88: Failed to connect after 10 attempt(s): No backend with an available connection slot that can reach address C8:47:80:46:B5:88 was found: The proxy/adapter is out of connection slots or the device is no longer reachable; Add additional proxies (ESPHome Bluetooth Proxy) near this device

19? This may be a BlueTooth standard limitation.

Ok, but how far away is esp (garage) from your wifi router? Is wifi signal from your esp ok or is it that wifi connection is dropping? If so you'll have to install a second wifi AP closer to a garage.

Solved this now - just changed the esp32 proxy to a M5 stack and it started working immediately!

I’m not that saavy with ESP Home, and wondered if you could elaborate on what changes you made? Quick AI search indicates you are probably flashing different firmware, but I’m a little hesitant and was hoping you could clarify?

Below is the YAML used on my standard ESP 32 board.

substitutions:
  name: esp32-bluetooth-proxy-b95bc4
  friendly_name: Bluetooth Proxy 1
packages:
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/esp32-generic/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: utu04T00dhA8ftdwiJ33eY0Gapk+9DLXHdMzuun+2GA=


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

I’m not that saavy with ESP Home, and wondered if you could elaborate on what changes you made?

You actually dont even need to be saavy with Esphome in order to learn how to use these things or figure things out! You just have to be willing to make a little effort by doing some Google searching and the best thing you can do is go to the Esphome website and read through the official documentation for whatever topics that you’re currently using/needing!

Quick AI search indicates you are probably flashing different firmware.

Well, thats why you shouldn’t be using AI as your first option and instead use one of the 2 i mentioned above because, It should be no surprise to hear but AI was absolutely wrong and no code changes were necessary.

What probably did make all the difference was switching to the M5Stack which uses a better/faster esp32 model whereas he was originally just using a standard esp32 which was likely struggling with monitoring multiple BT devices simultaneously with far less memory onboard.

but I’m a little hesitant and was hoping you could clarify?

No clarification is necessary at all! Just read through the documentation and follow instructions just like you would do if you wanted some Ikea furniture, assemble a new bicycle or anything else one could potentially do in their daily life.

So, OP mentioned he was using Esphome BT Proxy and https://github.com/patman15/BMS_BLE-HA where 1 is an Esphome Integration and the other is a HA/HACS Integration and each needs the other one for it all to work and if you just simply read the Instructions/Directions on the GitHub repo website then it will tell you step by step what to do and how to install and set it up and at no point will you not even a little bit need to use some AI slop from elsewhere!