Hi there! Loving this integration so far, opened up a huge number of possibilities for me that I was struggling to use ESPresence for.
I have one question that’s come up now after using Bermuda for some time, though:
I run HASS.Agent on my Windows PC, which exposes connected BT devices and nearby BLE devices each to their own respective entities. These entities have attributes that show all the devices in question.
Is it possible for me to use this as one of the proxies? I am assuming no, but I thought I’d ask just in case.
Here’s an example of what the entity & its property looks like:
Thanks for that huge bit of information Ashley. I really appreciate how much time and effort you’re putting in to helping people, it is really awesome!
So I’ve done your steps, but for the life of me, once I get to adjusting the attenuation side of it, no matter what number I adjust that too, the distance doesn’t change at all. It maybe changes sometimes by a metre or two, but it never gets to anything close to accurate or consistent. I stand about 4 metres away from the proxie. I also found that the ref_power at -55 seemed about right though.
Hmm interesting. It looks like HASS.Agent does not currently support that, they would have to implement a BaseHaRemoteScanner interface to Homeassistant. I couldn’t see any feature requests for it, so it might be something that hasn’t come up before in the project. For Bermuda to make use of it they would need to implement a BaseHaRemoteScanner, and ensure they send the full advertisement and timestamp. I don’t know if it would even be feasible to do this, it will depend on their toolkits and what features they can support on Windows. If they do implement it, I’d be happy to make sure that Bermuda can use the data - it just has to come through the normal HomeAssistant bluetooth backend, like ESPHome proxies do. It almost certainly wouldn’t be feasible to implement an active proxy, but a passive scanning one is probably do-able.
It’s hard to beat just buying an esp32 and hanging it off an old usb charger, though.
Cheers! Hopefully we can get Bermuda improved to the point where it’s a lot easier to set up, so really digging in to learn the pain-points is part of understanding how to reach that goal
So are you saying you got the 1m calibration to work well (by adjusting the ref_power), but now you’re having trouble getting the attenuation to make the measurements at 4m line up? Can you post a screenshot of the calibration screen while you’re trying to make that work, and maybe annotate it with which proxy you’re measuring against and what the distance should be? Also if you can just confirm which version you are running, as there’ve been a couple of releases/rc’s in the last few days.
By the way I’m in Byron, are you a long way North of me? Maybe we could do some beer-powered onsite tech support!
Oh no way!! That’s awesome, haha. I am based in Brisbane so if you’re ever up here, definitely let me know and I would love to have you over for a beer or 5!
Yeah, so the 1m calibration seems to be solid, it never reports exactly a metre but of all the 5 measurements, it’s only like 10 cm off or so each way across those measurements. And then yeah - the attenuation - once I move back about 4 metres, no matter how many times I submit, the distance doesn’t really move that much, and never to the actual distance I am at. I am running the latest 7rc release you mentioned the other day FYI.
Does Bermuda automatically add new Bluetooth scanners? I’ve added 2 new bt proxies to my esphome install and Bermuda isn’t using them as scanners. I also removed one of my bt proxies and Bermuda still lists it as a scanner.
I’ve restarted Hass, rebooted the host, reloaded Bermuda and it still doesn’t see my new bt proxies and is still listing a non existing BT proxy as a scanner.
It should just pick them up automatically. That said the latest release does use a new method of discovering proxies, so there could be something different going on for you.
What’s the version number that Bermuda shows? If you can do a “download diagnostics” I can take a look at that to see what scanners are present and work out why Bermuda isn’t seeing them. You can email the diags to me or attach them to an issue on the github.
Howdy all - I am interested in seeing if we can do better with spotting iPhones. The HA bluetooth library does a bit of filtering on certain apple traffic, and I am wondering if it is causing Bermuda to not be able to see iPhones at times when they are actually transmitting.
Unfortunately, the only iOS devices I have here are older ones, and they are annoyingly rock-solid at being detected.
If you have:
at least one iOS device that should be always visible, but Bermuda often shows as away or unavailable
another phone/tablet that can run NRFConnect or similar
a bit of time to stuff around
then perhaps you could help!
What I would like to see is if there is any BLE traffic being sent by an iOS device at a time that Bermuda thinks it’s away. In NRFConnect, the “More” screen gives a graph of adverts, colour-coded by content, and below that a summary of the adverts as they change over time. You can then hit the three-dots, Save, and choose “Save to file”. If you could gather that and forward the data to me, we might be able to find more reliable ways to track iOS devices when they go into their various power-saving modes. Or not - at this stage it’s just a theory without supporting data.
This release is mainly to fix a few bugs found with metadevices (IRK, iBeacon) not setting their Area to “Unavailable” when away (and some linked issues with honouring max_radius as a result), and regular one-second pops to “Unavailable” as devices rotated their MAC address.
This version also features our first translation! Greek language support thanks to Chreece’s first contrib to the project - amazing!
Some tweaks also (with some more to come) on handling changes to scanner devices and general improvements to some of the startup routines, with things behaving a lot more predictably now which may also address some rare lockups/race conditions that have popped up previously.
I have recently installed and configured Bermuda after trialling FormatBLE earlier this year then abandoning the project! Bermuda certainly easier to setup and configure!
I have added my Android phone by enabling BLE transmitter in the HA Companion app, and generally it is detected correctly. However, it is constantly going into an unknown state before going back to the area state. Time periods are random, and I can’t work out what it is.
Below is a screenshot from the last 30 mins, where I have been sat watching the TV and my phone hasn’t moved from the side table, which is approx 1.5m from the ESP32 node in the room.
This happens regardless of room occupied, so is not an issue with this particular node.
Any pointers on what might be happening and how to resolve?
Local BT USB dongles are supported, but are not as good, since they don’t give us accurate timestamps on the advertisements, and many dongles don’t work very well - take a look at the HA bluetooth docs for recommendations on which dongles/chipsets to use.
My gut reaction is probably the esphome config on your proxies. What yaml are you using?
With history tool screenshots it can also be helpful to have the device tracker and distance elements on the graph - just use + Choose device button and it will add everything, which gives more info to go on.
So first thing to check is your esphome yaml, then the download diagnostics from Bermuda so I can take a look at the hist_interval for the last 10 seconds or so for each proxy/phone combination (it also tells me what your other settings are etc).
The download diagnostics file is quite large, and won’t paste into this thread without erroring the post!
Updated graphs below. The distance graph does cut in and out in conjunction with the area status, so I suppose this would imply it’s comms from the ESP node?
As for the yaml from the ESP node, all nodes are fresh loaded ESP32 boards with latest ESPHome, and all have a DHT22 sensor attached.
substitutions:
name: esphome-web-ce9358
friendly_name: ESP32-1
esphome:
name: ${name}
friendly_name: ${friendly_name}
min_version: 2024.6.0
name_add_mac_suffix: false
project:
name: esphome.web
version: dev
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
# Allow provisioning Wi-Fi via serial
improv_serial:
wifi:
# Set up a wifi access point
ap: {}
# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:
dashboard_import:
package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
import_full_config: true
# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none
# To have a "next url" for improv serial
web_server:
# Individual sensors
sensor:
- platform: dht
pin: GPIO4
model: DHT22
temperature:
name: "Temperature"
humidity:
name: "Humidity"
update_interval: 60s
# Bluetooth Tracker
bluetooth_proxy:
Appreciate you taking the time to look at this for me.