This release includes some pretty significant refactoring, including a change to the core approach of processing advertisements from the backend.
Please join the discussion if you have comments / questions related to this beta - #570
Overall performance should be improved, and some bugs that resulted in devices going unknown
are resolved by this update.
Bermuda no longer saves any state relating to scanners (other than the rssi_offsets), and adding/removing scanners should now update the distance to...
sensors correctly in realtime.
Devices switching to unknown
:
- If the device simply isn't advertising, then there is nothing Bermuda can do about this. This still seems to be the case for some iOS 18.3+ devices.
- Cases where devices switched their MAC addresses during different activities and went unknown should now be fixed.
- Bermuda receives IRK MAC updates from Private BLE Device. If Bermuda is reloaded it won't be informed of the historical MAC addresses, and some devices may show as
unknown
if they switch back to previous MACs until those MACs are timed out (typically 15 minutes). - Devices that have long advertising intervals (in excess of 30 seconds) will still show as
unknown
for any intervals beyond that time. A future change will address this by auto-tuning the device timeout based on observed intervals.
Breaking Changes
If you use the bermuda.dump_devices
service/action, the format and layout of multiple fields has changed. The most significant is that the scanners
key is not named adverts
, and the keys for the sub-items are now tuples made up of the device and scanner MACs.
Changes
- fix: #534 pruning index out of range, vscode/devcontainer tweaks @agittins (#540)
- fix: Area switching on timeout to stale adverts @agittins (#549)
- fix: async usage addressing #456 @agittins (#550)
- feat: Area and distance entities use area icon @agittins (#558)
- docs: readme updates incl min ha version @agittins (#559)
- chore: added autoreload to vscode launch.json @agittins (#566)
- feat: significant restructuring @agittins (#568)
- chore: ren BermudaDeviceScanner to BermudaAdvert @agittins (#569)
📦 Dependencies
- chore(deps): bump actions/setup-python from 5.5.0 to 5.6.0 @dependabot[bot] (#530)
- chore(deps): update pip requirement from <25.1,>=24.1.1 to >=24.1.1,<25.2 @dependabot[bot] (#536)
- chore(deps): bump pip from 25.0.1 to 25.1 in /.github/workflows @dependabot[bot] (#537)
- chore(deps): bump ruff from 0.11.6 to 0.11.7 @dependabot[bot] (#531)
- chore(deps): bump ruff from 0.11.7 to 0.11.8 @dependabot[bot] (#552)
- chore(deps): bump pip from 25.1 to 25.1.1 in /.github/workflows @dependabot[bot] (#557)
- chore(deps): bump ruff from 0.11.8 to 0.11.10 @dependabot[bot] (#567)