What’s happening
My ESP32 BLE proxy runs fine for a while, then its WiFi starts reconnecting on its own — happens several times a day. Every time the WiFi drops, all my Bluetooth connections in Home Assistant go straight to zero. Not just one sensor dropping off — the entire Bluetooth connection count hits zero until the proxy comes back online.
I’m running this on Home Assistant OS 18.0 with HA Core 2026.7.4, and the ESPHome add-on is at 2026.7.3 (latest). The proxy itself is an ESP32 board powered via USB, flashed with ESPHome’s standard BLE proxy firmware.
Here’s the confusing part: the WiFi signal is excellent
I pulled the device info from ESPHome’s log panel and my RSSI is -11 dBm. That’s basically “the ESP32 is sitting right next to the router” level of signal strength. Normal room usage is usually -50 to -70 dBm, and things start getting sketchy around -80.
So I can rule out weak signal / distance from AP as the cause. The proxy has a rock-solid RF link and it still drops off several times a day. That actually makes it more puzzling — if the signal were marginal, at least there’d be an obvious direction to investigate.
Device info (redacted):
WiFi: Connected: YES
IP Address: 192.168.x.x
Channel: 10
Signal strength: -11 dBm
Uptime counter: 10 attempts (~308s last cycle)
BLE client state: IDLE, Auto-Connect: FALSE
The two errors I see when it drops
When the proxy goes offline, the ESPHome add-on log shows:
ERROR All specified devices ['OTA'] could not be resolved.
Is the device connected to the network?
WARNING No devices matching 'esp32-ble-proxy-macx-local'
were discovered.
That tells me the WiFi dropped hard enough that the ESP32 fell off the network entirely — OTA can’t reach it and mDNS discovery fails. So the root cause is upstream: the proxy’s WiFi connection itself, not Bluetooth.
Then, as HA tries to clean up the stale BLE session, I get a second error:
esp32-ble-proxy-xxxx [A4:CB:8F:XX:XX:1A]: None - F2:76:XX:XX:XX:XX:
ESPHomeClient bleak client was not properly disconnected
before destruction
This one is the symptom — bleak (HA’s Bluetooth backend) tearing down a proxy session that was already broken by the WiFi drop. The real problem is the WiFi instability above.
My ESPHome config (redacted)
Here’s the relevant section from my esp32-ble-proxy-xxxx.yaml:
esp32:
board: esp32dev
framework:
type: arduino
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# static IP set, no power_save_mode toggled yet
bluetooth_proxy:
url: http://192.168.x.x:8123
port: 80
Nothing fancy — stock BLE proxy config with a static IP assignment. I haven’t touched power_save_mode or any advanced WiFi tuning yet because I’m not sure which knob to turn first.
What I’ve tried so far
- Power-cycled the ESP32 (unplug USB, wait 10s, plug back in) — it recovers, but the dropout pattern returns within hours
- Verified the USB power source isn’t shared with anything else (dedicated port)
- Checked that the static IP isn’t conflicting on my router — no DHCP overlap
- Confirmed RSSI is -11 dBm (not a signal problem)
- Not yet tried: adding power_save_mode: none, swapping the USB cable, or trying a different USB power adapter
What I think is going on (but could be wrong)
My working theory shifted after seeing the RSSI. Since the signal is basically perfect, I’m now leaning away from “RF issue” and toward:
- Power delivery — USB supply sagging under load? (The ESP32 draws more when BLE is active + WiFi is pumping)
- ESP-IDF WiFi stack bug — known flakiness on certain boards after hours of uptime? Maybe a memory leak in the WiFi task?
- Router-side issue — DHCP lease timeout? NAT table entry expiring? Something that kills the TCP session even though the link layer looks fine?
- Something else entirely that I haven’t thought of
Honestly at this point I’m shooting in the dark a bit — would love anyone who’s seen “great signal but still drops” to chime in.
Questions for anyone who’s seen this
- What’s your ESP32 BLE proxy uptime? Do yours run for days/weeks without a WiFi drop, or do you see periodic reconnects too?
- If you’ve fixed “good signal but still drops” before — what was it? Power supply? A specific ESPHome YAML setting? Router config change?
- Should I add power_save_mode: none to my wifi: block as a first try, or is there something more fundamental I should check first?
- Anyone on HA Core 2026.7.x + ESPHome 2026.7.3 seeing the same OTA resolution failure pattern?
- Could -11 dBm actually be too good? Like the ESP32 is saturating its receiver sitting that close to the AP? (Probably a dumb question but I’ll ask anything at this point.)
Thanks in advance — will update this post as I narrow things down.