New ESP32 bluetooth proxy - how is it supposed to work?

So I bought 3 of the devices pictured here https://bthome.io/ esp32 did pick them up, then it added xiaomi ble integration automatically, but in only got data for signal strength, no other sensor shown, so I went for the Telink Flasher v4.4 firmware, added the integration to HA and and again, only showing signal strength.

Gets the data

device in HA

OK I scrolled a bit up in this thread :smiley: image

Iā€™ve got several of these devices working just fine using the RPi4 built-in Bluetooth. The trick (as you have likely found out through scrolling here etc) is to have them advertise as BTHome, not the other choices. My sensors are transmitting temperature, humidity, and all their other usual data.

Can you please elaborate on this more? I flashed the esp chip using Bluetooth proxy website and thatā€™s all I did. Should I add BTHome integration and connect the esp again? Sorry I am still learning

Does anyone know if this device ( HHCCJCY10) is working with the ESP32 bluetooth proxy, it should be already working with the ble_monitor.

I would like some clarification on this as Iā€™m new to this as well. Am I misunderstanding it if I am thinking this would make my esp32 into a Bluetooth range extender? For example, I have an August bluetooth lock that I have setup via cloud but Iā€™d like to use the August Bluetooth integration. However, the lock is out of range from my Bluetooth dongle. If I were to place an active Bluetooth proxy esp32 close to the lock, would it be able to see it and report it to HA integrations? Or is this new update only a way to have active connections to BLE devices already setup?

Your understanding is correct, as far as my experience has gone - Iā€™ve set up a m5stack Atom Lite device as a Bluetooth proxy and plugging this in has allowed my HA to connect with Bluetooth devices that were previously out of range. It should just be that easy.

Unfortunately Iā€™m not seeing that with the Yale Access Bluetooth or my Bluetooth MQTT.

The ESP32 Bluetooth proxy only works with an ESP device being the proxy, so wonā€™t (as I understand it) work with any other devices being the proxy - or do you mean that you have an esp32 device already successfully set up as a proxy (using the details here) and youā€™re not seeing connections coming through from your distant devices? Iā€™m unclear from your description.

Disclaimer: Iā€™m not an expert in any way here :slight_smile:

I have an esp32 setup as an active proxy with those instructions but my integrations that use Bluetooth, Yale Access Bluetooth and a Bluetooth2MQTT setup, canā€™t use it as the main adapter and only work if I plug in a USB adapter, but theyā€™re out of range at their normal location.

Right, thanks for explaining. Your HA wonā€™t use the proxy as an adapter. What I see on my own system is this:

  • Iā€™m running on a Pi4 with its inbuilt Bluetooth adapter, which is shown in my integrations
  • I set up the m5stack device as a BT proxy using those instructions on the ESPhome website
  • The proxy device was detected by the ESPhome integration and I see it listed in that block within my integrations page, as well as on the ESPhome addonā€™s interface page
  • I had already checked that my BT devices could be detected by HA prior to the proxy, and that HA lost the signal from them when I moved them farther away (mine are passive temperature sensors)
  • I moved the proxy device to a place in my house between my HA Pi4 and my distant BT devices
  • I observed that the BT device signal (and data) was picked up again by HA

Unsure if any of this is helpful to you - if not perhaps someone else with more active devices can help?

2 Likes

From my understanding from my replies in the release discussion thread, these proxies can be used without any other Bluetooth adapter, so Iā€™m even more confused now lol.

I donā€™t have any onboard bluetooth and with the proxies it does pick up an ibeacon somewhere but for the integrations I want to use that I mentioned, it doesnā€™t seem to work.

This is really usefull and I have a similar setup. I just donā€™t understand if the bluetooth_proxy is also sending command like for example to a Switchbot button.

Thigns have changed as of ESPHome version 2022.9.3 and HA 2022.10.x
Now BLE Proxy does support Active connections. Unfortunately SOME locks still wonā€™t work (looking at Yale Access integration with August locks grrrr.) but a lot of active products such as MiFlora battery sensor, a lot of light globes and a lot of switchbot items will now work with BLE Proxy.
If you ahev an ESPHome evice you just add

bluetooth_proxy:
  active: true

If you built a dedicated BLE Proxy using the script on the website, it will automatically update to the Active true status as far as I know.

I have been having general issues getting my bluetooth device_tracker entities to track correctly over the past few updates (all devices showing as not_home), so decided to get an M5-lite to use as a bluetooth proxy to see if it would help.
Iā€™ve the proxy it to HA and it appears to be connected, however none of my device_trackers are showing as home. This is what i have on my configuration.yaml

device_tracker:
  - platform: bluetooth_tracker
    new_device_defaults:
      track_new_devices: true
  - platform: bluetooth_le_tracker

this is my ESPHome configuration:

substitutions:
  name: atom-bluetooth-proxy-d66718
packages:
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/m5stack-atom-lite.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Is there anything additional confiugration I need to do somewhere ?

Thanks

Hi @Dilby
This may be best presented in itā€™s own topic as Bluetooth tracking is a different topic to the Bluetooth Proxy.
Bluetooth Proxy is for connecting Bluetooth devices, such as sensors, light globes and other bluetooth devices to Home Assistant. Although it is Bluetooth, it is not the Bluetooth tracking integration.
You will need to setup using the ble tracking component.
The below link may give some ideas.
ESP32 Bluetooth Low Energy Tracker Hub ā€” ESPHome

I havenā€™t used Bluetooth Proxy to detect devices for tracking as ESP Home has itā€™s own BLE Tracking component that works quite well and would likely be more reliable.

Ah ok thanks, so the bluetooth proxy feature cannot be used for tracking devices ?

I absolutely cannot figure this out. Today I installed Passive BLE Monitor via HACS to try to detect my device, a SmartDry, but it cannot detect it with my esp32 nor any BLE signals if I donā€™t have a USB bluetooth adapter plugged in. I have tried three different esp32 boards all flashed with the same configuration:

esphome:
  name: board-3

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  level: VERY_VERBOSE

# Enable Home Assistant API
api:
  encryption:
    key: "KEY IS HERE"

ota:
  password: "PASSWORD HERE"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Board-3 Fallback Hotspot"
    password: "Xy5eipCQEMtT"

captive_portal:

esp32_ble_tracker:

bluetooth_proxy:
  active: true

And nothing every pops up under the BLE integration. However, if I plug in my USB bluetooth adapter, it is able to find things. What am I doing wrong here? Any help would be greatly appreciated, Iā€™ve spent all weekend testing thisā€¦

@Dilby It can be used for tracking devices, see #29. But After some testing, ESPresense seems to work way better using the same hardware, though it requieres MQTT server add-on. Itā€™s also fine-tuned for Apple Watches, etc.

Same problem here, had to add sensors manually in the ESP32:

sensor:
  - platform: atc_mithermometer
    mac_address: "A4:C1:38:xx:xx:xx"
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidity"
    battery_level:
      name: "BatteryLevel"

I wound up using openmqttgateway gateway, as shown in this post:

That works very well with smartdry and the mi scale.

1 Like