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

[Request] Ability to ignore the data received via USB Bluetooth adapter #226

Closed
jeremysherriff opened this issue Jun 29, 2024 · 2 comments
Closed
Assignees
Labels
duplicate This issue or pull request already exists

Comments

@jeremysherriff
Copy link

Is your feature request related to a problem? Please describe.
The thing I am tracking (my cat) often shows as in my living room, despite being closer to another BLE Proxy. I believe this is because the USB Bluetooth adapter in my living room reports very different distance/rssi/velocity data to the BLE Proxies around my house.

Describe the solution you'd like
I have BLE proxies scattered throughout my house, including in the same room as the HA server with USB Bluetooth adapter.
As all my BLE Proxies use the same brand/model of ESP32 (providing very consistent BLE data), and are much more flexible in terms of physical placement and configuration, I would like to be able to "ignore" the USB Bluetooth adapter for this integration.

The reported distance for the USB Bluetooth adapter is vastly different than the ESP32-based BLE Proxies.
As the reference power and attenuation settings for this integration are global, it makes more sense to use identical BLE Proxy devices wherever possible.

Describe alternatives you've considered

  1. Removing the BLE Proxy from the same room as my HA system/USB Bluetooth adapter
    • I find the ESP32-based ESP Proxies to be more reliable than the USB Bluetooth adapter in some situations, due to being able to alter the BLE scan interval and window settings in ESPHome.
  2. Removing the Bluetooth USB Adapter from the HA machine
    • Some native HA features/integrations appear to only be available via a genuine adapter (I may be wrong about this, I cannot find a specific example)
  3. Making the reference power and attenuation settings per-adapter instead of global, to allow normalization of values
    • This is likely to require a considerable amount of code refactoring, and would make the integration overly complex for the average user.

Additional context
I can foresee situations where the user may also want to ignore specific other BLE proxies (eg a different brand), therefore the "ignore" option may be best to be generic and allow the user to ignore all data from any specific Bluetooth source(s).

@agittins agittins self-assigned this Jun 29, 2024
@agittins agittins added the duplicate This issue or pull request already exists label Jun 29, 2024
@agittins
Copy link
Owner

Hi Jeremy,

Yes this is a known issue and one that I plan to address soon. Your analysis is spot-on, I suspect option 2 might be a feasible work-around, but similarly I'm not 100% certain that it doesn't have other consequences (actually, I think the local BT adaptor is sometimes responsible for providing device names when the proxies aren't set for active scanning, so that's a minor point in its favour).

My intention is to allow both disabling use of any given bluetooth adaptor's data, and applying per-receiver offsets for rssi to account for differing sensitivities between receivers.

I'm going to close this as a duplicate of #164, but I'd suggest tracking #45 as being the place where this will ultimately be solved (and I might be marking 164 as a dupe of 45 at some point).

Thanks for your report and your well-thought-through analysis of the issue.

@agittins agittins closed this as not planned Won't fix, can't repro, duplicate, stale Jun 29, 2024
@agittins
Copy link
Owner

agittins commented Jun 29, 2024

Duplicate of #45

@agittins agittins marked this as a duplicate of #45 Jun 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants