I woke up this morning at 6 am with IBS cramps. I tried to go back to bed but I'd woken fully up so by half 7 I was sat at my PC with a brew for some uninterrupted tinkering.
My espresence has been a bit finicky since ai set it up. I've been moving the nodes around to find better positions with slight improvements but nothing making it properly stable.
Well this morning was even worse than usual. I'm sat in my front room with my sensor flitting between the floor above and below me but never on the floor I'm on.
I moved the sensors again. I played with dwell time. I changed "wait until" up. I even dived into the rabbit hole of tuning the base stations by increasing rssi and absorbsion, which actually seemed to do the best at improving it.
So at this point my phone has been sitting on the desk for a few hours while I fine tune all this, when my wife comes down the stairs. Her beacon is firmly set to "frontroom" when she sits down but mine is bouncing around the house. Odd.
Then I finally figured it out!
The damn phone is sat on a wireless charging stand on my desk. This must be interfering with my Bluetooth!
I take my phone off the stand and voila, it's in a stable place in espresence.
So that's how I wasted 2 hours this morning.
I say wasted, I did manage to get it more stable on the charging stand before I realised, and this seems to have helped it's stability when it's off the stand. In fact, all my messing about this morning has made espresence correctly report my location ever since.
Is there any alternative to ESPresence I can add to existing ESPHome devices? Some solution building around private BLE (which I did set up, but I’m not using) and stuff? I have quite a few ESPHome based devices doing their work and not using Bluetooth around my home.
I believe the other comment is correct, there's 2 ways of adding Bluetooth presence, one is espresence which I'm using and the other is a less feature filled version in esphome.
I have done a lot of moving my esp boards around though to improve it. They seem to work better when they're in different locations.
So for example I had one at the top of my stairs but I've moved it across the room, further away from the one on the floor below which was at the bottom of the same stairs. I also moved that one into a room and higher up because it was interfering with the one on the floor below that.
And that one I moved to the other side of the room, and the one on my ground floor has been dropped to floor level instead of sitting at waist height.
Point being, if you're putting it onto already placed sensors, ymmv
I don't have any experience with it but this might do something along those lines(?):
https://esphome.io/components/binary_sensor/ble_presence.html
Seems like you can just add it to one or more of your existing esphome devices.
That wouldn’t really work for treacking Apple devices since they randomize their MAC addresses. Which is why I’ve added them using private ble integration in HA. It is able to detect their presence (or lack of it) via my ESPHome devices which are set up as Bluetooth proxies. What I would like though is know which room are they in - I have an ESP32 device in pretty much every room, and I wish I could leverage them without adding dedicated ESPresence ones.