Update ESP32 Bluetooth Proxy

When I upgrade to the 2025.3 HA version I get the message "To improve Bluetooth reliability and performance, we highly recommend updating esp32-bluetooth-proxy with ESPHome 2025.2.2 or later. But how do one do that. I see the device in Settings->Integrations->Bluetooth, but I can’t find an option to update here.
In ESPHome Builder it shows as a discovered device but I have not clicked ‘take control’, as I am not sure if this breaks the working of the Bluetooth proxy. Linked information in the update notification doesn’t give me any information either

4 Likes

I’m also curious about this.

I originally installed the proxy through the browser using this site: Ready-Made Projects — ESPHome. I never needed the ESPHome Device Builder add-on.

Now that I’ve installed the ESPHome Device Builder add-on and taken control of the device, I’m hesitant to update it. I don’t want to risk losing the current configuration.

1 Like

Before updating, right click on the 3 dot menu and download the yaml, keep this safe.

Then click update, it will not compile if there are issues and nothing will be lost. If it does find faults it will tell you about them in the logs, you can then experiment with changing whatever needs changing, in the knowledge that you can just cut and paste the downloaded yaml back via the edit button and nothing will be lost.

Hi guys, I had this too and struggled a little.

Of course, your ESPHome device builder has to be upgraded to 2025.2.2 first before being able to update your device(s).

Thanks for the explanation!

Do you know if previously paired Bluetooth devices will automatically reconnect to my Bluetooth proxy after the update?

Also, this is the YAML file I downloaded from my ESP device:

substitutions:
  name: esp32-bluetooth-proxy-efee2c
  friendly_name: Bluetooth Proxy efee2c
packages:
  esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: [HIDDEN]


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

Does this configuration look valid? I don’t see much in the file aside from a reference to a GitHub page, so I just want to make sure everything is set up correctly. In case i do need to re-submit the yaml file.

If you are using it “vanilla” like it appears, updating should not cause any issues at all. I’ve been updating mine on each release since it was released.

The YAML will only change if you change it. I’ve added a few things in to mine and they stay. The “update” is the referenced github entry - that’s the heart of the proxy (and why it needs updating!)

Got the cryptic message too as I have one ESPHome proxy. But I have no idea what to do. Going either through Integrations>Bluetooth or ESPHome Builder, I see no option to update, I see no option to download the yaml. I don’t dare to touch the “take control” option but I suspect I should. Am I right?

Okay, I took an educated guess on what I had to do and this seems to have worked:
My Bluetooth Proxy was seen by the Bluetooth integration but was not in the ESPHome builder, but was there was an indication there that there was a discovered device (this BT Proxy)

  • I clicked ‘take control’
  • a installer start running. Since there wasn’t a clear sign it was finished, I waited till there wasn’t anything happening for a long time
  • closed the installer/info window
  • clicked ‘update all’ in the topbar of ESPHome
  • a new installer/updater ran
  • when this was done, the message about updating the BT proxy was gone too.
  • Everyhting seems to work.

This is now my current YAML file of the ESPHOME BT proxy (when clicking edit)

substitutions:
  name: esp32-bluetooth-proxy-62f711
  friendly_name: Bluetooth Proxy 62f711
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: +BsAc+lt0XXXXXXXXXXXXXXXXXXXXXXXHEVgIbBWs=


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

1 Like

I guess until you take control you won’t see any of those options. Taking control won’t break anything, only you will be able to do that by messing up the yaml code.

If you do not want to install ESPHome builder, and your Bluetooth proxies are full default configured, then you could also configure it as a new device, the same way you did before. You can safely remove the old one from HA and add the newly configured one. There are no entities directly related to the proxy.

I’m a bit stuck on this …

Got the mystery update message, couldn’t figure how to update from within HA, googled to here, discovered I need to install the ESPHome add-on and did so, took control of the 3 bluetooth proxies. But then the update fails …

INFO ESPHome 2025.2.2
INFO Reading configuration /config/esphome/esp32-bluetooth-proxy-98e26c.yaml...
Failed config

packages: [source /config/esphome/esp32-bluetooth-proxy-98e26c.yaml:5]
  
  Failed to load packages. esp32-generic.yaml does not exist in repository.
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/esp32-generic.yaml@main
substitutions:
  name: esp32-bluetooth-proxy-98e26c
  friendly_name: Bluetooth Proxy 98e26c
packages:
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/esp32-generic.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


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

Has anyone got any pointers?

Just guessing but if you put that link into a browser it say the repo has moved to

github://esphome/bluetooth-proxies/esp32-generic/esp32-generic.yaml@main

So try replacing the line after

esphome.bluetooth.proxy, with the new link.

This is purely a guess as I have never played with proxies.

1 Like

Perfect, thank you :slight_smile:

esp32dev
by Espressif
Firmware: 2025.2.2 (Mar 8 2025, 16:19:45)

The ‘update’ link disappeared after I edited the yaml, but clicking ‘install’ from the edit screen got the process going. It took a few minutes but the new location has solved it :slight_smile: