Bluetooth Proxy not being detected by HA?

[14:18:33][I][app:100]: ESPHome version 2024.7.2 compiled on Jul 31 2024, 19:55:04
[14:18:33][I][app:102]: Project esphome.bluetooth-proxy version 24.7.4.1
[14:18:33][C][wifi:599]: WiFi:
[14:18:33][C][wifi:427]:   Local MAC: 64:B7:08:60:C7:A4
[14:18:33][C][wifi:432]:   SSID: [redacted]
[14:18:33][C][wifi:435]:   IP Address: 192.168.1.156
[14:18:33][C][wifi:439]:   BSSID: [redacted]
[14:18:33][C][wifi:440]:   Hostname: 'esp32-bluetooth-proxy-60c7a4'
[14:18:33][C][wifi:442]:   Signal strength: -47 dB ā–‚ā–„ā–†ā–ˆ
[14:18:33][C][wifi:446]:   Channel: 6
[14:18:33][C][wifi:447]:   Subnet: 255.255.255.0
[14:18:33][C][wifi:448]:   Gateway: 192.168.1.1
[14:18:33][C][wifi:449]:   DNS1: 192.168.1.1
[14:18:33][C][wifi:450]:   DNS2: 0.0.0.0
[14:18:33][C][logger:185]: Logger:
[14:18:33][C][logger:186]:   Level: DEBUG
[14:18:33][C][logger:188]:   Log Baud Rate: 115200
[14:18:33][C][bluetooth_proxy:088]: Bluetooth Proxy:
[14:18:33][C][bluetooth_proxy:089]:   Active: YES
[14:18:33][C][safe_mode.button:024]: Safe Mode Button 'Safe Mode Boot'
[14:18:33][C][safe_mode.button:024]:   Icon: 'mdi:restart-alert'
[14:18:33][C][factory_reset.button:011]: Factory Reset Button 'Factory reset'
[14:18:33][C][factory_reset.button:011]:   Icon: 'mdi:restart-alert'
[14:18:33][C][esp32_ble:383]: ESP32 BLE:
[14:18:33][C][esp32_ble:385]:   MAC address: 64:B7:08:60:C7:A6
[14:18:33][C][esp32_ble:386]:   IO Capability: none
[14:18:33][C][esp32_ble_tracker:653]: BLE Tracker:
[14:18:33][C][esp32_ble_tracker:654]:   Scan Duration: 300 s
[14:18:33][C][esp32_ble_tracker:655]:   Scan Interval: 320.0 ms
[14:18:33][C][esp32_ble_tracker:656]:   Scan Window: 30.0 ms
[14:18:33][C][esp32_ble_tracker:657]:   Scan Type: ACTIVE
[14:18:33][C][mdns:116]: mDNS:
[14:18:33][C][mdns:117]:   Hostname: esp32-bluetooth-proxy-60c7a4
[14:18:33][C][http_request.ota:026]: Over-The-Air updates via HTTP request
[14:18:33][C][esphome.ota:073]: Over-The-Air updates:
[14:18:33][C][esphome.ota:074]:   Address: esp32-bluetooth-proxy-60c7a4.local:3232
[14:18:33][C][esphome.ota:075]:   Version: 2
[14:18:33][C][safe_mode:018]: Safe Mode:
[14:18:33][C][safe_mode:020]:   Boot considered successful after 60 seconds
[14:18:33][C][safe_mode:021]:   Invoke after 10 boot attempts
[14:18:33][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[14:18:33][C][api:139]: API Server:
[14:18:33][C][api:140]:   Address: esp32-bluetooth-proxy-60c7a4.local:6053
[14:18:33][C][api:142]:   Using noise encryption: YES
[14:18:33][C][improv_serial:032]: Improv Serial:
[14:18:33][C][http_request:013]: HTTP Request:
[14:18:33][C][http_request:014]:   Timeout: 4500ms
[14:18:33][C][http_request:015]:   User-Agent: ESPHome/2024.7.2 (https://esphome.io)
[14:18:33][C][http_request:016]:   Follow redirects: YES
[14:18:33][C][http_request:017]:   Redirect limit: 3`

Home Assistant does not detect this device as a Bluetooth adapter. Under Settings → Devices & Services → Integrations → Bluetooth, the only device is the onboard hardware of the NUC (NOT a USB adapter), which does not detect any Bluetooth connections. Removing the NUC Bluetooth from Devices does not change anything.

I’ve tried a number of different ESP32 chips. No difference. Wiping the chip and reinstalling does not do anything. Restarting HA does nothing. It’s been several days and nothing has changed. Device is working as above under the ESPhome tab.

1 Like

Hello blank321,

It is not a BT Adapter. It is a BT proxy.
If everything is working and HA sees the device in the integrations screen it should be working.
Open your Home Assistant instance and show your integrations.

My mistake. Yes, this is where I am looking, under the Integrations → Bluetooth. It is still not there. Apologies, integrations is under the ā€œDevices & servicesā€ tab leading to me misspeaking. I updated the OP for clarity. Here is the Bluetooth integration window. (Again, removing the NUC adapter does not seem to change anything.)

EspHome…


.

Device is there, I put the logs in OP. Seems to be working fine otherwise.

What devices are you expecting it to pick up? It will only work with devices that have HA integrations. And it won’t show up under the Bluetooth integration, only under the ESPHome integration just like any other ESPHome device.

What devices are you expecting it to pick up? I

Anything. Anything at all. I don’t see evidence that Home Assistant has any detection of BlueTooth devices at this time.

I have a dozen BT enabled devices which have HA integrations - a Withings sleep sensor, an Ooler cooler, my headphones, my cell phone, Switchbot curtains, etc - and as far as I can tell Home Assistant is not aware they exist (unless I set them up with my phone first).

I live in a huge apartment complex with people on all sides. Not even a single time has HA noticed a device nearby I could attempt to create a BT connection with.

Isn’t the whole point of HA BT that you can control the integrations using local BT as opposed to your cell phone’s BT?

Well, if there are devices that DO have HA integrations, it should be picking those up. But a couple of additional things to keep in mind: I’ve found the range of my BT Proxies to be fairly low (at least for reliable connections); talking under 10 meters even with LOS, dramatically less than the BT dongle connected to my HA. And if the device you want to interact with requires an active connection (for instance, your switchbot curtains), you have to enable your BT Proxy for that and are limited to 3 active connections per proxy.

The fact that you mention your BT adapter on HA not picking anything up seems like a red flag to me. Either you don’t actually have things with HA integrations, they’re all out of range of it and your proxy, or something much deeper is wrong with your setup (but also way less likely/common).

Did you ever solve this? I have the same issue. Following all the guides, which say once you’ve installed the firmware from the ESPHome site, HA should discover it as a proxy device. It is found by the ESPHome add-on, but HA has nothing. It’s not there to add to HA, so its services are also not available. It’s supposed to be so simple, so troubleshooting is kind of like ĀÆ_(惄)_/ĀÆ

I’m going crazy trying to get BLE devices integrated with HA. I’ve tried setting up a bluetooth proxy using an ESP32 Wroom board. I’ve tried Espresense. I’ve tried Bermuda BLE Triangulation.

None of these approaches have discovered any devices. I extracted the IRK data from my iPhone and iPad. The best results I’ve had is with Espresence. The log showed BT devices but none of which were identifiable. The lone exception was my implanted pacemaker, for which I have no use cases.

What I want to do is to know where I am in my house based on my cell phone, or preferably, my Apple Watch.

I saw another approach that seemed to be to too good to be true - Shelly plugs and other Shelly devices with Bluetooth can in theory be BT proxies without having to do any flashing, YAML etc.

In general, none of the documentation or YouTube instructions seem current. For example, ā€œAdoptā€ versus ā€œTake Control,ā€ or installing the ready made BT Proxy from the Esphome website.

If anyone has a recommendation as to the best approach based on my use case, lemme know and I’ll keep trying to get that to work.

I don’t have a Mac, FYI, so no way to get the IRK for that. I tried using a procedure on a Windows system, but the Apple Watch doesn’t show up.

OK, it ended up being operator error… I used the ESP32 code from GitHub - fryefryefrye/Decoding-Random-Bluetooth-Address: Use iPhone as a key for Bluetooth keyless system. Without any APP on the phone. and installed it on a spare ESP32 dev board.

Then installed the bluetooth scanner app on my iPhone. Then connected to it from each device (iPhone and Apple Watch) while having the monitor window open on a laptop. Also did my iPad while I was at it…

Got the IRK data no problem. For some reason, I skipped the connect step from each device the first go-around. In retrospect, it was obvious… Just needed to follow the instructions more closely.

Now Bermuda is working fine and tracks the room, distance, etc. as it should.

Next step is creating some automations…