github custom-components/ble_monitor 14.0.0-beta
14.0.0-beta - Keep passive scans continuous and support instant batched updates

pre-release4 hours ago

What's Changed

  • Keep passive scans continuous and support instant batched updates by @rmounce in #1558

Summary

This update contains three intentionally separate commits that improve passive HCI scanning and low-latency measurement delivery:

  • decouple scanner lifetime from the measurement aggregation period
  • add a configurable per-adapter raw-HCI inactivity watchdog
  • add backward-compatible periodic/instant measurement update policies, including per-device overrides
  • parse every legacy or extended advertising report in batched HCI LE meta-events

The commits are kept separate so the scanner lifecycle, instant delivery, and multi-report parser work can be split into smaller PRs if preferred during review.

Motivation and root cause

Restarting the HCI scanner after every aggregation period creates avoidable scan downtime. With period: 1, a TP-Link UB500 was repeatedly closing and reopening its HCI socket and losing advertisements.

After continuous scanning and instant updates were enabled, matched captures identified a second UB500-specific loss mechanism. The adapter commonly emits LE Extended Advertising Report events containing two to five reports. BleParser.parse_raw_data() assumed exactly one report and rejected the complete HCI event whenever its total length exceeded the first report's length.

Configuration example

ble_monitor:
  hci_inactivity_timeout: 60
  measurement_update: instant

New Contributors

Full Changelog: 3.16.0...14.0.0-beta

Don't miss a new ble_monitor release

NewReleases is sending notifications on new releases.