Bermuda - Bluetooth/BLE Room Presence and tracking [custom integration]

follow mode

Yes, this was raised in Entities not leaving Unavailable state until after integration reload · Issue #235 · agittins/bermuda · GitHub and after a while to find hte bug, a fix was merged in fix: Entities not updating if away at startup by agittins · Pull Request #269 · agittins/bermuda · GitHub

It will be in the next release, but you can try out v0.6.9rc2 in HACS by enabling “Show Beta Versions” in the “Re-download” dialog. RC2 also has initial per-scanner calibration stuff, but if you decide to play with that bear in mind your calibration settings might be discarded upon installing the official release.

hello, i have installed an esp in the kitchen and living room with ble proxy also in the bedroom i have installed one. only i run into a problem at the kitchen is on the left then comes a piece of ‘free space’ and then the living room in this part is our dining table. only when i sit at the dining table does it take the bedroom. this is absolutely not handy when i want to build an automation. is there a possibility to reduce the strength of the bedroom ble proxy?

Hi Willem, the next release will have per-scanner calibration, so that you be able to adjust for an over-sensitive proxy, or one that just needs to not read so close due to room layout etc.

If you like you can install v0.6.9rc2 right now, which includes the fixes already, but bear in mind you might need to re-do the calibration once the release is out (in case I change how it’s done). The likelyhood of that is small, though.

In HACS, go to Bermuda’s page, click the rop-right “meatballs” menu, and choose “Re-Download”. Enable “Show Beta Versions”, and install v0.6.9.rc2.

In the configure screen of Bermuda, choose “Calibration 2: Scanner RSSI Offsets” choose a device (like your phone or watch) that you have at the dining table and click Submit - it will now show a table of recent measurements to that device by each scanner. Make the bedroom proxy’s Offset “more negative” and click submit to refresh the distance calculations. When you’re happy with the distance estimates tick the “save and close” option and click Submit.

This is the quick-and-dirty way to just get the scanner to “back off” its estimates. If you want to do a proper calibration, start with the “Calibration 1” step and follow the instructions - it’s more mucking about and might not solve your problem initially anyway, since it’s possible it’s the geometry of the room that causes the issue rather than scanner sensitivity - but either way, adding a negative offset (!) to the bedroom scanner only will probably sort it out for you.

Let me know how you go, or if you have any problems.

1 Like

Awesome, thanks!

Looking forward to this one as I find my phones ‘distance to scanner’ varies wildly between different scanners when tested at the same physical distance.

I know I should probably put this on Github…

  • When in the config menu, there is no way to go back to the first page which would be handy rather than having to hit ‘configure’ again.

  • Is there a way to exclude bluetooth devices from being scanners? If not, this would be nice.

Agreed. We did have it going back to the front menu after saving, but things got weird and broken when doing that - I think that HA was reloading the integration and the objects available in the options_flow were stale or something - it got no new updates despite the rest of the integration still working. I think we hit the limit of how much HA will tolerate us abusing the options_flow! :smiley:

Not exactly, not yet. You can set a big stonking offset on a scanner that would ensure it (almost) never “won” a closest-area test, but it would still gather data and contribute results. This will need to be a proper option for trilateration though, since a “mobile” scanner device would badly mess with the calculations.

So… it will be an option soonish, but not just yet :slight_smile:

1 Like

Hi Ashley,

Thanks for your clear advice, these adjustments definitely helped me! good work :slight_smile:

1 Like

I could do with some help to resolve error messages in my logfile. They only began when I updated Core and HACS to latest versions. 2024.8.3 and 2.0.0. Maybe it is my doing due to a previous improper uninstall of Bermuda a few months ago. I don’t recall what I did.

Unfortunately my phone chews too much battery when I increase the iBeacon signal, so I have removed the integration. But now, whenever I click on the Integrations button to view all the installed integrations, I get this Error.

2024-08-30 18:20:55.770 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140....  (deleted)  ...
040] Error handling message: Unknown error (unknown_error) Steve from 192.168.1.13 (Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 28, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 514, in handle_manifest_list
    raise int_or_exc
homeassistant.loader.IntegrationNotFound: Integration 'bermuda' not found. 

The IP address is my desktop PC accessing the HA system which is Generic Intel OS directly on a Lenovo PC.

If I copy my bermuda folder from backup into the custom_components folder and reboot, no more errors, even with a different folder name. Tried reinstalling Bermuda again, disable, then remove. It does not remove the Bermuda folder from custom_components. No error messages until I remove the folder again and then reboot. Error messages only generate when I click to view all integrations.

I can’t work out how to access those /usr/src files to even see what is there.

Please help to solve.

Hello everyone

Many thanks for the Bemruda integration.

I have a problem with my wife’s smartphone. She has an Iphone 15 pro max with the latest iOS. As soon as the screen is turned off, after a few minutes, no more data is sent to the integration. Presumably the Iphone stops the BLE service in the background.

Does anyone have any idea how I can prevent this?

Thank you very much

Greetings
Buhli

Look into the HA application “Private BLE Device”. Basically you need to find the IDK Key of the Apple device. That’s because apple devices change their BT MAC address all the time. There are instructions in the Bermuda wiki via the Bermuda Github

Hey again Ashley
What’s the quickest easiest way to locate the BT MAC address being passively broadcast from an ESP32 chip?
I’ve just put in an ESP32 BT proxy into my project. It’s working OK
I just can’t find it in Configure>select devices
I can’t even find the info using BLE Scanner or LightBlue apps… :roll_eyes:
edit Sorted. :grinning:

Hi Solarjunkie

Thank you very much for your answer.

I’m not sure but I think I can’t set anything for BLE in the HA app for iOS. Or I’m wrong? Is IDK and IRK the same? Because the IRK I found already and could add succesfully to the “Private BLE Device” integration.

Here Apple | ESPresense I found the follow information:

Some iOS devices do not emit a beacon while the phone screen is off if there is not a reason for the device to broadcast a signal, consequently the device may not appear while the screen is off.

Unfortunately, most of the solutions there were marked as outdated and did not work either.

Does nobody have this problem, when the screen of the Iphone is switched off for a few minutes, that no more data is transferred

Thanks and best regards

Buhli

Sure, I have it too. iPhone 9 (iOS 15.8.3).

Just read this over on CNX Software: Bluetooth 6.0 features accurate two-way ranging using Channel Sounding, latency reduction, improved scanning efficiency, and more

No responses to my question a week ago? Surely someone can tell me how to find the “usr/src/homeassistant …” files that report errors. Can I just edit out these references to Bermuda? Or is there another way to get rid of these errors? Disabling and Deleting the integration not fix them.

No.

There will be no Bermuda references in those files. What it’s doing is iterating the integrations and when it comes across Bermuda, it can’t find its core components files and errors out.

My guess would be that there is a db entry somewhere which isn’t being deleted/disabled when you remove Bermuda from the UI.

This error is a Hass core error, not a Bermuda one. You will need to post a new topic asking how to troubleshoot a ghost integration that is throwing errors.

Did you remove the folder before you completely removed the integration via the UI?

Edit: did you redownload using hacs or remove it using hacs? Maybe removing all references to Bermuda from your system will purge the bad entry.

Just disabling in Hass core integrations will not remove Bermuda. You will need to use hacs to redownload and re-init it or remove it completely and restart your system to see if things change.

If you disable or remove Bermuda from the core integrations, the Bermuda custom components folder would remain because it’s still downloaded from hacs. The integration part is only an instance of Bermuda, not the actual Bermuda component itself. The Bermuda component itself is managed by hacs.

1 Like

Thanks baudneo.

“Did you redownload using hacs or remove it using hacs?”. I know that is the way it should be done. From my recollection something did not work as expected at the time and because of that I deleted the Bermuda folder.

All I can be sure of is the Bermuda folder had not been in custom_components for some months. It was only the core and HACS updates done about 2 weeks ago that caused the error messages to appear for the first time.

I will have another go, reinstalling then removing Bermuda in a couple of days.

Hi,
I haven’t used Bermuda yet but I will do as it sounds like it will solve most of my use cases.

Question - does it support Classic BT as well as BLE? The title of the blog suggests it will.
Many thanks for any clarification.

Just started playing around with Bermuda, although I’ve had it on my ‘to-do’ list for a while. One issue I’m running into, is that several of my proxies control things located in one area, but the proxy is actually located in a different one (all of my proxies do other things besides acting as BT Proxies). Specifically, I have several proxies inside my house but controlling things that are outside, so they are assigned to ‘Outside’, but the proxy is very much in a specific room. Any ideas (besides assigning them to different areas)?