Homeassistant with ESP32 (BLE Client vs Bluetooth Proxy vs BLE Tracker)

Morning peeps, hope all is well.

I am extremely new to this so bear with me.

I had a itch and wanted to play around with ESP32 and some bluetooth devices for my homelab.

Current hardware:
a. 2x Xiaomi LYWSD03MMC, flashed with PVVX firmware.
b. 1x BFour Meat thermometer (2x Probes)
c. 1x Olimex ESP32-PoE-ISO-EA (connected via ethernet to my home network)

In home assist, i installed ESPHome Builder (beta), and loaded the default .yaml config on the ESP board, which puts the ESP into BT proxy mode and I could find my 2x LYWSD03MMC sensors easily and working.

However, my BFour Meat thermometer doesnt seem to auto popup like my temp/humidity sensors in home assist. After a bit of researching I found a post (Adding Bfour into ESP32 config. BLE Tracker and there I was presented with the new terms called BLE Tracker and BLE client.

With the “help” of some tools, the following definition was given to me:

Bluetooth proxy:
the ESP32 forwards raw BLE traffic to home assistant, and home assistant does the integrations and decoding

BLE tracker:
the ESP32 listens to BLE advertisements and creates the sensor definitions (entities) inside the ESP32 and then homeassist can just read the entities names and values directly from the ESP32

BLE Client:
The ESP32 actively connects to predefined BLE device to read that data from that and make it available to home assist.

If i understood the definition of the three types of modes correctly, and using the information from the other post. Is it possible to have the ESP32 configure for both Bluetooth proxy and BLE client?

Never tried, but in theory it’s possible. In practice it’s probably easier to use 2 devices, some c3 supermini costs only $2.
If you want to try, pick a board with psram and turn on ble client only briefly with esphome automation (interval),

Hopefully some other member that tried can give more details.