Skip to content

Conversation

agittins
Copy link
Owner

  • more efficient processing of updates
  • better handling of proxies being added/removed
  • improvements to naming when first adding / browsing in select devices

User-visible / features

  • feat: Shorten/redact scanner macs in configure status display
  • distance_to... sensors are now created/removed in realtime as scanners come and go.
  • fix: startup is now faster due to better asyncio usage

Breaking changes

  • bermuda.dump_devices service/action format has changed! If you are using this please test as many items have been restructured
  • scanners dict renamed to "adverts", now keyed as device/scanner tuples

Code changes

  • clarification on processing order for metadevices
  • no longer save/restore scanner list in config, now dynamically CRUD'd
  • implement scanner list as properties to centralise changes
  • add customisations to manufacturer lookups
  • centralised name generation
  • added Bluetooth Company Identifiers yaml
  • switch to aiofiles for yaml imports, and place in separate task
  • remove extra calls to async_update_data
  • big refactoring of async_update_data to improve separation of concerns and decrease complexity
  • reworking of prune_devices to avoid missing devices or creating churn
  • add time check to redaction_list_update
  • refactor device creation and updating to improve SOC and complexity
  • change from MONOTONIC_TIME to monotonic_time_coarse
  • broaden BDADDR_TYPEs and add METADEVICE_DEVICETYPES
  • make BermudaDeviceScanner hashable
  • make BermudaDevice hashable
  • use platform constants now in core.
  • change to_dict methods (and others) to avoid matching attributes by string. Improved data presentation.
  • tidy up remove_config_entry_device
  • use async_schedule_reload instead of immediate

- more efficient processing of updates
- better handling of proxies being added/removed
- improvements to naming when first adding / browsing in select devices

## User-visible / features
- feat: Shorten/redact scanner macs in configure status display
- distance_to... sensors are now created/removed in realtime as scanners
  come and go.
- fix: startup is now faster due to better asyncio usage

## Breaking changes
- bermuda.dump_devices service/action format has changed!
  If you are using this please test as many items have been restructured
- scanners dict renamed to "adverts", now keyed as device/scanner tuples

## Code changes
- clarification on processing order for metadevices
- no longer save/restore scanner list in config, now dynamically CRUD'd
- implement scanner list as properties to centralise changes
- add customisations to manufacturer lookups
- centralised name generation
- added Bluetooth Company Identifiers yaml
- switch to aiofiles for yaml imports, and place in separate task
- remove extra calls to async_update_data
- big refactoring of async_update_data to improve separation of concerns
  and decrease complexity
- reworking of prune_devices to avoid missing devices or creating churn
- add time check to redaction_list_update
- refactor device creation and updating to improve SOC and complexity
- change from MONOTONIC_TIME to monotonic_time_coarse
- broaden BDADDR_TYPEs and add METADEVICE_DEVICETYPES
- make BermudaDeviceScanner hashable
- make BermudaDevice hashable
- use platform constants now in core.
- change to_dict methods (and others) to avoid matching attributes by
  string. Improved data presentation.
- tidy up remove_config_entry_device
- use async_schedule_reload instead of immediate

Signed-off-by: Ashley Gittins <[email protected]>
@agittins agittins merged commit 52740ea into main May 17, 2025
5 of 6 checks passed
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

Successfully merging this pull request may close these issues.

1 participant