Hello all! Fairly new to HA and ESPHome but I’ve been learning and making steady progress. Hit a bit of a roadblock yesterday and figured it may be time to ask for help.
I’m trying to configure ESPHome bluetooth proxy in HA. Flashed the module, installed ESPHome Add-on, successfully adopted the proxy and even OTA update worked fine after tuning the HA swap file. Now the proxy is shopn as ONLINE in ESPHome but I can’t seem to enable it - whenever I try to, it just goes back in disabled state. Haven’t found any issue in the log, but I probably don’t know where to look.
Here are the proxy logs:
> INFO ESPHome 2023.11.2
> INFO Reading configuration /config/esphome/esp32-bluetooth-proxy-687ec8.yaml...
> INFO Starting log output from esp32-bluetooth-proxy-687ec8.local using esphome API
> INFO Successfully connected to esp32-bluetooth-proxy-687ec8 in 0.527s
> INFO Successful handshake with esp32-bluetooth-proxy-687ec8 in 0.211s
> [08:22:37][I][app:102]: ESPHome version 2023.11.2 compiled on Nov 20 2023, 00:08:34
> [08:22:37][I][app:104]: Project esphome.bluetooth-proxy version 1.0
> [08:22:37][C][wifi:559]: WiFi:
> [08:22:37][C][wifi:391]: Local MAC: C0:49:EF:68:7E:C8
> [08:22:37][C][wifi:396]: SSID: [redacted]
> [08:22:37][C][wifi:397]: IP Address: 192.168.178.65
> [08:22:37][C][wifi:399]: BSSID: [redacted]
> [08:22:37][C][wifi:400]: Hostname: 'esp32-bluetooth-proxy-687ec8'
> [08:22:37][C][wifi:402]: Signal strength: -17 dB ▂▄▆█
> [08:22:37][C][wifi:406]: Channel: 1
> [08:22:37][C][wifi:407]: Subnet: 255.255.255.0
> [08:22:37][C][wifi:408]: Gateway: 192.168.178.1
> [08:22:37][C][wifi:409]: DNS1: 192.168.178.1
> [08:22:37][C][wifi:410]: DNS2: 0.0.0.0
> [08:22:37][C][logger:416]: Logger:
> [08:22:37][C][logger:417]: Level: DEBUG
> [08:22:37][C][logger:418]: Log Baud Rate: 115200
> [08:22:37][C][logger:420]: Hardware UART: UART0
> [08:22:37][C][bluetooth_proxy:088]: Bluetooth Proxy:
> [08:22:37][C][bluetooth_proxy:089]: Active: YES
> [08:22:37][C][safe_mode.button:022]: Safe Mode Button 'Safe Mode Boot'
> [08:22:37][C][safe_mode.button:022]: Icon: 'mdi:restart-alert'
> [08:22:37][C][esp32_ble:374]: ESP32 BLE:
> [08:22:37][C][esp32_ble:376]: MAC address: C0:49:EF:68:7E:CA
> [08:22:37][C][esp32_ble:377]: IO Capability: none
> [08:22:37][C][esp32_ble_tracker:645]: BLE Tracker:
> [08:22:37][C][esp32_ble_tracker:646]: Scan Duration: 300 s
> [08:22:37][C][esp32_ble_tracker:647]: Scan Interval: 320.0 ms
> [08:22:37][C][esp32_ble_tracker:648]: Scan Window: 30.0 ms
> [08:22:37][C][esp32_ble_tracker:649]: Scan Type: ACTIVE
> [08:22:37][C][esp32_ble_tracker:650]: Continuous Scanning: True
> [08:22:37][C][mdns:115]: mDNS:
> [08:22:37][C][mdns:116]: Hostname: esp32-bluetooth-proxy-687ec8
> [08:22:37][C][ota:097]: Over-The-Air Updates:
> [08:22:37][C][ota:098]: Address: esp32-bluetooth-proxy-687ec8.local:3232
> [08:22:37][C][api:139]: API Server:
> [08:22:37][C][api:140]: Address: esp32-bluetooth-proxy-687ec8.local:6053
> [08:22:37][C][api:142]: Using noise encryption: YES
> [08:22:37][C][improv_serial:032]: Improv Serial:
I have ESPHome in integrations, here is what I see inside. All seems fine, except I can’t enable the bluetooth proxy by flipping the toggle in the proxy card.
That’s a fair point. There are a bunch of bluetooth devices around, mobile phones, airtag, BLE thermometer, and this is just from the top of my head. I assumed, maybe a bit naively, that at least some of them would pop up. I’ll check the list of supported devices and then test wioth something that is documented to work.
The switch you see is from the fritzbox integration. (you see 2 integrations on the left for the device). It shows if the device is allowed internet access, and this particular switch doesn’t allow changing from HA. It is off for me too, and the proxy works just fine. (It should have been a binary sensor, not a switch in the first place).
That is not to say you may not have a problem if the esp disconnects, it just isn’t related to the switch, nor can you set it other than from the fritzbox by assigning it a profile. In general it is good practice that iot devices have no internet access if they do not need it, and this one does not.
The safe mode boot entity is unknown for me too, I think buttons are always in that state? What makes you think the proxy is not connected? The router says it is online (home), according to the other fritzbox added entity. My working proxys look the same.
So the question goes back to: what bluetooth device where you hoping to discover? Mobile phones you can probably add if they have a fixed mac. They are not autodiscovered unless you autodiscover any ble device (not recommended, it will explode with entities). You need to add them to known_devices.yaml if you want to track them:
Thanks a lot for clearing things up! From the BT devices I guess the thermometer and the electric fireplace are of interest, the thermometer is an old BeeWi unit and the fireplace is Evonic. I don’t think there is integration for the latter but maybe something I can try to get running. There is integration for their wifi models but this one is Bluetooth only.
In any case I’m trying to stick with Zigbee as much as possible so at the end I may forgo the BT proxy and use the ESP32 for a custom sensor.