ESP32s Bluetooth Proxy not working (?)

As in the same article as mentioned earlier: (link)

Using the configuration above, first you should see a Starting scan... debug message at boot-up. Then, when a BLE device is discovered, you should see messages like Found device AC:37:43:77:5F:4C together with some information about their address type and advertised name. If you don’t see these messages, your device is unfortunately currently not supported.


You can increase the log level to VERY_VERBOSE to review detailed data for each discovered BLE device. This will make ESPHome print Service UUIDs, iBeacon UUIDs, iBeacon major and minor identifiers, BLE manufacturer data, RSSI and other data useful for debugging purposes. Note that this is useful only during set-up and a less verbose log level should be specified afterwards.

So in my understanding Debug should be enough. But when I want to get more information then (Very) Verbose can be used. I can try and see what happens…

Results:

[13:26:04][V][bluetooth_proxy:023]: Proxying packet from  - 78:BD:BC:6E:D7:ED. RSSI: -97 dB
[13:26:04][V][bluetooth_proxy:023]: Proxying packet from  - 56:94:95:86:E4:8D. RSSI: -60 dB
[13:26:07][V][bluetooth_proxy:023]: Proxying packet from  - 78:BD:BC:6E:D7:ED. RSSI: -97 dB
[13:26:09][V][bluetooth_proxy:023]: Proxying packet from  - 56:94:95:86:E4:8D. RSSI: -58 dB
[13:26:10][V][bluetooth_proxy:023]: Proxying packet from  - 78:BD:BC:6E:D7:ED. RSSI: -96 dB
[13:26:11][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:11][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -77 dB
[13:26:11][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:11][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -71 dB
[13:26:11][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:11][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -76 dB
[13:26:12][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:12][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -77 dB
[13:26:12][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:12][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -72 dB
[13:26:13][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:13][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -77 dB
[13:26:13][V][esp32_ble_tracker:772]: Unhandled type: advType: 0x08
[13:26:13][V][bluetooth_proxy:023]: Proxying packet from  - 8C:EA:48:FA:73:EF. RSSI: -71 dB
[13:26:15][V][bluetooth_proxy:023]: Proxying packet from  - 78:BD:BC:6E:D7:ED. RSSI: -98 dB
[13:26:19][V][bluetooth_proxy:023]: Proxying packet from  - 78:BD:BC:6E:D7:ED. RSSI: -96 dB
[13:26:20][V][bluetooth_proxy:023]: Proxying packet from  - 56:94:95:86:E4:8D. RSSI: -58 dB
[13:26:22][V][bluetooth_proxy:023]: Proxying packet from  - 78:BD:BC:6E:D7:ED. RSSI: -97 dB

Not really “Found device” messages… but it is something…
Not totally sure if this is what it should be, but now I can check if these addesses can be found in Home Assistant.

I let you know. Thanks.

Bluetooth is different from BLE. Maybe that ESP supports Bluetooth but not BLE?

Also, by the way, once you get it working, you should adjust the scan window longer than 30ms. The default interval is 320ms, and the default window is 30ms. So the ESP will only be scanning for BLE items for 30ms, then will rest for 290ms, then scan again for 30ms. That’s not much scanning time, so you could miss items. You can trying raising it to 200ms or higher.

Also scan type should be set to passive unless you have some special need for an active scan.

Hopefully you can figure out the hardware part first.

By the way, I am sure that any Espressif ESP marked 32D will work. Also the espressif ESP32-C will work too. Also AI-Thinker ESP-C3-13 (clones of espressif) will work too. The clones are cheaper than Espressif originals.

@Protoncek
I think it is working! Great.

So I had to set the logger to VERBOSE to see all the bluetooth devices.

Probably I do not have any device the Bluetooth Proxy can ‘use’ in Home Assistant as monitoring device (such as xiaomi thermo/hygrometers). I think those devices will popup in DEBUG mode while Bluetooth is scanning.

I now will have to detect what addresses are used by the devices I want to track.

@BlueCharmBeacons
Your post came by while I was typing this reply.
The device I bought should have " Bluetooth: v4.2 BR/EDR en BLE"
I try to adjust the scan window. Maybe something pops up after all :wink:

Thanks all!

1 Like

I wasn’t too sure if anything was being picked up by my ESPHome bluetooth proxy.
But indeed i was only to see any activity after setting the logger to VERBOSE.
Thanks!

1 Like

I’ve got the same(?) ESPWROOM32 but it says ESP32 DEVKITV1 on the back.
I can flash it in ESPHome and it gets picked up in HA, but I can’t install firmware within ESPHome in HA.
The error reads: Component not found: bluetooth_proxy
Any help would be greatly appreciated. Especially the full code I need.
Many thanks.

I was having the same problem with an ESP32 DEVKITV1. After many hours of frustration I realised that the version of ESPHome I had installed was not the latest version. After updating to the latest version everything worked fine. Check the version in settings/add ons/ESPHome. The version that I now have is 2022.9.4

Thanks so much. Seems I was runnng the Community version which wasn’t updating. I didn’t know there was an Official version as well.

Seems to have compiled and flashed, but still not seeing any devices being discovered.

Is this code correct?

substitutions:

  name: esp32-bluetooth-proxy-202a44

packages:

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

esphome:

  name: ${name}

  name_add_mac_suffix: false

wifi:

  ssid: !secret wifi_ssid

  password: !secret wifi_password

esp32_ble_tracker:

  scan_parameters:

    interval: 1100ms

    window: 1100ms

    active: true

bluetooth_proxy:

  active: true

I had no luck with the bluetooth proxy, and I wound up installing openmqttgateway on the same device that you have, and instantly found tons of stuff available via BT.

2 Likes

same problems. I’m a newbie but I’d be glad to take advice. :slight_smile:

To see these device details add the below to your yaml

text_sensor:
  - platform: ble_scanner
    name: "BLE Devices Scanner" 
1 Like

Thanks, did that for test, but it seems that this sensor causes module to reset every minute or so… strange. When i removed it module stopped resetting. Maybe too much data…? IT did show connected BLE’s though.

I have finally got mine working - removed all my BLE devices I had intergraded prior > turned off all other Bluetooth integrations > device started showing up!

The text sensor and the verbose logs only show (address, rssi and name)

turned on

logger:
  default: info
  logs:
    homeassistant.components.bluetooth: debug

in configuration.yaml and can confirm advertised device data is reaching home assistant

2022-10-23 18:53:21.210 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] gl-s10-bt-proxy-1: xx:xx:xx:xx:xx:xx AdvertisementData(local_name='ATC_4BAHSN', service_data={'0000181a-0000-1000-8000-00805f9b34fb': b'\xa4\xc18K\xbd\x1f\x00\xe8@2\nfA'}) connectable: False match: set() rssi: -80

hm…
you got me here for a while…

i inserted above lines in ESPHome, but got a bunch of errors. ESPHome won’t accept individual logs to be set higher than general, only lower, and also option" default: logger" is not known to ESPHome’s compiler.

Well, after reading again i see that you inserted these lines in Home Assistant, not ESPHome… now it works, yes. However, it’s not seen which proxy device received and sent BLE module to HA, i can only see that it does come into HA. Also, it’s interesting that some modules have “False match” and some “True match”… whatever this means.

But, do you know where to look these logs other than in Studio Code Server (file home-assistant.log)? I can’t find it in HA’s interface…

Yeah sorry, configuration.yaml in ha!

Only other place would be in ha settings under logs (HA core) then look at the full logs there.

It seems this intergration needs to mature a bit.(which is understandable) In regards to user visibility of the source transmission of data (ie proxy delivering the data) which would ensure we are not all thinking that things are not working, when indeed they are!

I tried to create the bluetooth gateway today via the ESPhome website.
I see the device in my home assistant but it doesn’t detect any bluetooth devices.

Home assistant is on 2022.12
ESP32 wemos d1 mini with fresh install from the esphome website.

My openmqtt gateway detects the bluetooth devices immediately. The mqtt gateway is not active during the tests but I can’t see devices.

How can in troubleshoot this ?

Config file

substitutions:

  name: "esp32-bluetooth-proxy-1"

  device_description: "Bluetooth proxy"

packages:

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

esphome:

  name: ${name}

  comment: ${device_description}

  name_add_mac_suffix: false

esp32:

  board: wemos_d1_mini32

  framework:

    type: esp-idf

    version: latest

# Enable logging

logger:

  level: DEBUG

wifi:

  ssid: !secret wifi_ssid

  password: !secret wifi_password

How do you know that it doesn’t detect nothing? Through esp’s log output? Default log won’t say anything about BT, you must set log to verbose, only then you’ll see if any BT devices are proxying to HA.

I don’t see devices in HA so yes I’m not sure if the gateway works and that it is maybe the connection to HA.
Will test verbose.

Tested the verbose setting and it looks the gateway works but not the integration to HA

[09:27:27][V][esp32_ble_tracker:781]: Unhandled type: advType: 0x1b
[09:27:27][V][bluetooth_proxy:020]: Proxying packet from [LG] webOS TV OLED65CX6LA - 58:88:27:56:DE:65. RSSI: -93 dB
[09:27:27][V][bluetooth_proxy:020]: Proxying packet from Raspberry Pi 3 Model B Plus R - 43:45:C0:00:1F:AC. RSSI: -94 dB
[09:27:27][V][bluetooth_proxy:020]: Proxying packet from ATC_D9F1B4 - A4:C1:38:D9:F1:B4. RSSI: -70 dB
[09:27:27][V][bluetooth_proxy:020]: Proxying packet from Raspberry Pi 3 Model B Plus R - 43:45:C0:00:1F:AC. RSSI: -91 dB
[09:27:28][V][bluetooth_proxy:020]: Proxying packet from Raspberry Pi 3 Model B Plus R - 43:45:C0:00:1F:AC. RSSI: -91 dB
[09:27:28][V][esp32_ble_tracker:781]: Unhandled type: advType: 0x1b
[09:27:28][V][bluetooth_proxy:020]: Proxying packet from [LG] webOS TV OLED65CX6LA - 58:88:27:56:DE:65. RSSI: -95 dB
[09:27:28][V][bluetooth_proxy:020]: Proxying packet from ClearGrass Temp & RH - 58:2D:34:10:B5:E3. RSSI: -73 dB