I’m looking for clarity on the various ways in which bluetooth (and btproxy) with HA. More specifically, what is the difference between flashing esp32 with either of these methods. I understand each will create a bluetooth proxy. Method 1 is very simple, a quick flash and prompts for wifi details. Method 2 involves a yml file with sensor definitions.
If you have a quick ELI5 response I’d very much appreciate it.
The docs, discussions, and other search results don’t (seem to) address this issue, nor do they really speak to me in general. So far, my functional setup with sensors, etc. has been the result of persistence and dumb luck. Yet I’d prefer to understand this better.
In short, recent troubleshooting led to me reflashing 2x esp32 with each method above. Powering one down, then the other. Even with both esp32 powered off I see data from sensors is still received, probably from BT in Pi 3 Model B+ (because it supports both ‘classic’ and ‘ble’?). Now I’m about to go through this process again but this time examining debug logging.
Sure, things are working, and even in different configurations. However, I’d feel better if I understood how and why.
Other than the ready-made bluetooth project seems to be deprecated then there is no real difference in the end product.
Ready-made projects are a specific configuration that is compiled on the server and uploaded to your ESP device. It can not be changed from the configuration.
The other way you might get the same project, but the compiling is happening on your machine, so you can change the YAML configuration used in to control the compiling and add or remove features to the end product.
If you only need a BT proxy and nothing more, then a ready-made project is the easiest way, but if you want to change something or make other ESP projects (highly likely, once you get started with ESPHome), then the more versatile approach is the best.
This is definitely helpful, thanks! I don’t mean to overstay my welcome, but your response inspires a few other questions:
What do you mean by “seems to be deprecated?” It isn’t clear how I can see the code or configuration being applied (unless I terminal into the board, which is after-the-fact). I poked around the repo but nothing seems to associate.
Also, from this page Bluetooth Proxy — ESPHome there are a few statements that don’t totally make sense:
Note that while ths component is named bluetooth_proxy, only BLE devices (and their Home Assistant integrations) are supported.
If you’re looking to create an ESPHome node that is just a Bluetooth Proxy, see our Bluetooth Proxy installer website.
While it’s clear that esphome supports BLE, does item #2 here mean I should expect ‘classic’ support from this?
Click your link for the ready-made projects, then click the last link for the GitHub YAML configuration.
It should still work, but it is kinda funny, though.
There are actually two kinds of Bluetooth.
Normal Bluetooth, which will pair two devices and they then send communication to each other in a way they negotiate in the beginning, like head phones and speakers.
And then there is Bluetooth Low Energy (BLE), which is mainly a fire and forget communication, which means the devices will send their message and hope something hears it, like many type sensors, such as thermometers, presence/location trackers and electrical tooth brushes, just to mention a few.
This is again just the ready-made project from your first post.
The easy way to just make a preconfigured BT proxy with no configurable options.
Sadly no.
The issue with the classic Bluetooth support is the pairing and negotiating of how to communicate.
This is often predefined in some software and this predefinition can not easily be extended to a proxy somewhere else.