Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shelly devices not forwarding iBeacon messages #453

Open
jacauc opened this issue Feb 4, 2025 · 5 comments
Open

Shelly devices not forwarding iBeacon messages #453

jacauc opened this issue Feb 4, 2025 · 5 comments

Comments

@jacauc
Copy link

jacauc commented Feb 4, 2025

Intro

Hi @agittins ,

Really love the work you've done on Bermuda and it's promising to be very solid if I can just get it to work. Need a bit of support and I've searched far and wide, but cannot really find something to resolve this issue.

I have a BT dongle in the HA instance, and 8 additional shelly plus devices throughout the house. This in theory should work really well, and for some devices it does.

Image

I have all of the shelly's configured as active and logged into the web interface to ensure the script installed by HA is activated.

In bermuda, I've added tracking for a few BT entities and for some of them it works flawlessly,

Image

Configuration

Image

Image

Image

Describe the bug

As shown above, some devices report really well, but an android phone (Samsung A35) configured and selected as an iBeacon and set up with the companion app only checks in really really infrequently and all statuses are typically shown as Unknown. When the device gets picked up at times, it quickly jumps back to unknown mode thereafter.

Image

Image
The device was on charger, connected to home SSID and in the living room during the entire time shown

Diagnostics

(for now I'm not uploading diagnostics, as it contains all the sensitive information I blurred out in the images)

Conclusion

Is there anything in particular that I need to know about ibeacon devices and why their tracking doesn't work as reliably as expected?

@jacauc jacauc changed the title Request for support Shelly devices not forwarding iBeacon messages Feb 4, 2025
@jacauc
Copy link
Author

jacauc commented Feb 10, 2025

FWIW I've upgraded to 0.7.4 and the issues persist. Any advice or guidance in this matter would be really appreciated!

@agittins
Copy link
Owner

Hi Jacauc - sorry for the late response. A few folks have said that their phones (both Samsungs and Pixels) didn't detect very reliably on the default iBeacon settings in the HA app beacause it uses a very low-power setting.

I'd suggest in the HA companion app, go into Sensors, Bluetooth Sensors, BLE Transmitter and set the power level to Medium and the Advertising rate to 3Hz.

In my experience it doesn't make much difference to battery life (ymmv of course) but does make detection a lot more reliable. Given that other devices seem to work well for you I'm hopeful this might be the issue.

You can also raise your max_radius setting in Bermuda, your screenshot shows it at the default 20m setting, while your phone seemed to be detecting regularly at a range near that limit (calibration might help there, too - but increasing the phone's transmit power seems a common requirement).

@jacauc
Copy link
Author

jacauc commented Feb 10, 2025

Thank you, let me give that a try and I'll revert!

@jacauc
Copy link
Author

jacauc commented Feb 11, 2025

I've tried the above and it definitely makes a huge difference. Still not perfect though. Below example is with a phone on charge, on home SSID sitting in the master bedroom all night. Would an Advertising rate of 10Hz or a Power level of High cause a significantly higher battery drain compared to 3Hz/Medium?

Image

@agittins
Copy link
Owner

advertising settings

My gut instinct is that ble advertising is a drop in the ocean against things like powering a screen, a gig or so of memory, a cpu and all sorts of other stuff that a phone has going on. So i would be surprised if it made much difference to battery life, but it all depends on the details.

The only real way to know is to try. I think 3Hz is fine, because Shelly's only send adverts every three seconds, and Bermuda only performs its calculations once per second.

But trying high power is definitely worth it, and you can turn it back down if it doesn't make a difference or if battery usage does increase unacceptably.

diagnostics

If you're comfortable doing so, emailing the diagnostics directly to me at [email protected] would make it a lot easier to see what's going on internally. I understand if you have privacy concerns around that.

Another option is that you can download the diags and look through them yourself, and i can give you some pointers on what to look for. It's a plain text file in json format, which is sort of like yaml but a bit uglier 😅

The main thing to look for are the hist_interval sections which tell you how often we get reports from that device via that scanner - for Shelly proxies we expect to see fairly consistent 3 second intervals. If the entry for your phone looks inconsistent, take a look at some other devices to see if it's related to the phone, the particular scanner, or all devices.

config

Definitely increase the max_radius setting from the default of 20m to something big, like 200m. If the issue is signal strength (which in Bermuda translates directly to distance) then it might be detected ok but the readings are discarded for being too distant.

history graphs

Graphing two or more devices (say, your phone and a toothbrush, or whatever else you have) can help reveal patterns or to isolate if an issue is with a device, a scanner or common to all.

Going directly to the history tool and using the "+add device" button will add all sensors for that device which can be really handy for correlating things.

In the device page, if you enable the "nearest rssi" sensor and possibly others it can give you more insight into what's happening "inside" Bermuda.

Other

Given your problem seems to be confined to your phone, it might be worth just checking that something's not blocking the bt signal. Try taking it out of its case, if any, just in case there's something weird going on there.

By way of comparison, when close to a scanner, my pixel 6pro at 3hz medium power is seen reliably every one or two seconds, always. On a Shelly I'd expect that to be every 3 seconds. For it to come and go like it does in your graph while it's sitting stationary and charging is very unexpected, assuming it's not too far from a proxy.

Maybe check if you have any extreme power saving settings on your phone that might be on, or any weird apps designed to maximise battery life.

Oh, another possibility is if your Shelly's are configured as "active proxies" meaning that HA can connect out to other devices through them (different to "active scanning"), then it's possible that another integration keeps making outbound Bluetooth connections, possibly stopping the proxy from gathering adverts while it's proxying an active connection to another device. A few folks have found this to be a problem.

Sorry for the novella, but hopefully it gives you some things to try and more data to gather!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants