As it happens I run both ESPresence and the custom ESPHome component from Raj (rpatel300 → ESPHome component for ESPresense-like room tracking). This is because I’m not ready to implement BLE room sensing yet (too busy) but I’ve got enough time to run a couple of naked ESP32s in two different rooms to see how they go…
My observations as follows:
- BLE sensing works pretty reliably, but distance measurements are a complete crap shoot. I think they’d work well under ideal conditions (an empty warehouse with the BLE beacon and the BLE sensor suspended from the ceilings using nylon fishing line), but in the real world there is too much scattering, interference, and absorption. The strength of the signal depends entirely on the orientation of the phone relative to the ESP32 (north, south, east, west), the material the phone is placed on (hard surface, soft mat), how many objects are around it or in the line-of-sight path to the ESP32 (e.g. books, tools, laptops, cup of coffee, etc), whether or not the phone cover is open of closed (mine is in a wallet case with cards in it), where I am in relation to phone (as a big hunk meat I will absorb signal). Even if I get it ‘perfect’ as soon as I move things around or conditions change it is all over the place again. The way I intend to use it in the long run is simply to find the ESP32 with the strongest signal and use that to indicate likely presence.
- The ESPHome solution works well and has been rock solid and stable since I set it up. I’m intending to clear a ‘room’ sensor for each room that will measure temperature, lux, humidity, CO2/VOx, and BLE so I will need to add a whole pile of extra modules to it when I come to actually use it in earnest. This may or may not affect stability…
- ESPresence is an awesome project that rolls together the BLE part with the option of additional sensors, all out of the box. There’s even some server-code that can use you BLE devices and do some triangulation, and it has automatic OTA…which is cool. But, this comes at the cost of not having much ability to control the configuration or behaviour, and recently there have been issues with boot loops, crashing and other spurious events which made the solution unworkable. These are resolved (for now) and my solution seems to be pretty rock solid again - the solution is under active development (it’s really active!) so it is likely future bugs may strike again. And, as per my ESP Home solution, the actual addition of sensors to the mix may impact stability again. So we will have to see…
At the moment I’m still very much on the fence. It is likely that I will continue to run two platforms all the way through the sensor build and then see if one stands out…I have NodeRed, so the wrangling of BLE data from multiple sources can be done on the back end…so the server-side code for ESPPresence it not a deal maker for me (in fact I’d have preferred a Node Red package).
A bit of a ramble…but hopefully you’ll find some value in it.
CP.