I have 3 ESP32-wroom devices set up with the bluetooth proxy and none of them ‘do anything’. I’ve spent about 4 days on this so far and it just is not fun.
They show up in the ESPHome Builder addon in home assistant, I can update them and watch the log show files buildings and being deployed successfully, but… No bluetooth devices ever appear, if I manually try to add something (like an ARANet4) the aranet integration says ‘no bluetooth adaptors’, if I load up the logs via wifi for one of them it just says:
INFO ESPHome 2024.12.2
INFO Reading configuration /config/esphome/esphome-web-f1bda4.yaml...
INFO Starting log output from 10.0.5.173 using esphome API
INFO Successfully connected to esphome-web-f1bda4 @ 10.0.5.173 in 0.628s
INFO Successful handshake with esphome-web-f1bda4 @ 10.0.5.173 in 0.283s
[16:33:08][I][app:100]: ESPHome version 2024.11.1 compiled on Nov 25 2024, 08:39:04
[16:33:08][I][app:102]: Project esphome.web version 24.11.1
[16:33:08][C][wifi:600]: WiFi:
[16:33:08][C][wifi:428]: Local MAC: 94:54:C5:F1:BD:A4
[16:33:08][C][wifi:433]: SSID: [redacted]
[16:33:08][C][wifi:436]: IP Address: 10.0.5.173
[16:33:08][C][wifi:440]: BSSID: [redacted]
[16:33:08][C][wifi:441]: Hostname: 'esphome-web-f1bda4'
[16:33:08][C][wifi:443]: Signal strength: -60 dB ▂▄▆█
[16:33:08][C][wifi:447]: Channel: 11
[16:33:08][C][wifi:448]: Subnet: 255.255.254.0
[16:33:08][C][wifi:449]: Gateway: 10.0.4.1
[16:33:08][C][wifi:450]: DNS1: 10.0.4.110
[16:33:08][C][wifi:451]: DNS2: 10.0.4.1
[16:33:08][C][logger:185]: Logger:
[16:33:08][C][logger:186]: Level: DEBUG
[16:33:08][C][logger:188]: Log Baud Rate: 115200
[16:33:08][C][logger:189]: Hardware UART: UART0
[16:33:08][C][esp32_ble:391]: ESP32 BLE:
[16:33:08][C][esp32_ble:393]: MAC address: 94:54:C5:F1:BD:A6
[16:33:08][C][esp32_ble:394]: IO Capability: none
[16:33:08][C][esp32_ble_server:200]: ESP32 BLE Server:
[16:33:08][C][esp32_improv.component:269]: ESP32 Improv:
[16:33:08][C][captive_portal:089]: Captive Portal:
[16:33:08][C][web_server:153]: Web Server:
[16:33:08][C][web_server:154]: Address: esphome-web.local:80
[16:33:08][C][mdns:116]: mDNS:
[16:33:08][C][mdns:117]: Hostname: esphome-web-f1bda4
[16:33:08][C][esphome.ota:073]: Over-The-Air updates:
[16:33:08][C][esphome.ota:074]: Address: esphome-web.local:3232
[16:33:08][C][esphome.ota:075]: Version: 2
[16:33:08][C][safe_mode:018]: Safe Mode:
[16:33:08][C][safe_mode:020]: Boot considered successful after 60 seconds
[16:33:08][C][safe_mode:021]: Invoke after 10 boot attempts
[16:33:08][C][safe_mode:023]: Remain in safe mode for 300 seconds
[16:33:08][C][api:140]: API Server:
[16:33:08][C][api:141]: Address: esphome-web.local:6053
[16:33:08][C][api:145]: Using noise encryption: NO
[16:33:08][C][improv_serial:032]: Improv Serial:
[16:33:13][D][api:103]: Accepted 10.0.4.113
[16:33:13][D][api.connection:1446]: Home Assistant 2025.1.2 (10.0.4.113): Connected successfully
[16:33:59][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[16:33:59][D][esp32.preferences:114]: Saving 1 preferences to flash...
[16:33:59][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
I initially installed one with the ‘ready made project’ from esphome and it just threw errors about invalid certificates, so since the bluetooth proxy setup is so trivial I just made my own yaml to install on them.
Here is an example
esphome:
name: esphome-web-f1bda4
friendly_name: Bluetooth Proxy f1bda4
min_version: 2024.11.0
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
esp32_ble_tracker:
scan_parameters:
# interval: 1100ms
# window: 1100ms
active: true
bluetooth_proxy:
active: true
#sensor:
# - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
# name: "WiFi Signal dB"
# id: wifi_signal_db
# update_interval: 60s
# entity_category: "diagnostic"
Why doesn’t this work and how do I get it to work?
I even tried adding the extra lines found in another forum post (ESP32-S3 as bluetooth proxy doesnt work?) and all that did was make an unresponsive ESP
framework:
type: esp-idf
sdkconfig_options:
CONFIG_BT_BLE_50_FEATURES_SUPPORTED: y
CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"