Releases: agittins/bermuda
v0.7.1rc4
Changes
- fix: Handling retired or changed scanners @agittins (#360)
- Add greek translation @Chreece (#370)
- fix: Metadevices not going
Unavailable
@agittins (#378) - fix: Scanner config multiple saves. @agittins (#379)
- fix: IRK devices temporary unavail on mac rotation fixes #362 @agittins (#380)
- fix: regression detecting local usb adaptor as scanner @agittins (#381)
- Fix: Global sensor update rate and refpower calibration update @agittins (#383)
- fix: daft typo @agittins (#384)
v0.7.1rc2
v0.7.1rc1
v0.7.0 Calibrated Expectations
It's been a while coming, but we have a fresh release to go along with HA 2024.11!
⚖️ Calibration
The big change is the official release of Calibration options! The first two have been in the beta for a while, however...
- Global Calibration, where you use one device and one proxy to set your global defaults
- Per-scanner calibration, where you can tweak the offset for each scanner (proxy) to account for differences in proxy receivers and antennae
- Per-device calibration, using a number entity on the device page, allowing you to tweak each device based on its signal strength.
Instructions on how to do the calibration process will be forthcoming, but for now, know that you should do them in the order stated above, and once you click "CONFIGURE" the config flow will give you plenty of instructions on how to do it.
The per-device calibration can be left at 0 to use the global default, or you can enter a specific ref_power
for that device. The distance measurement updates immediately on changing the value, so you can dial in the expected distance.
Huge thanks to @Lash-L for their contributions on the calibration features!
🌐 The "Global" Bermuda Device
This is a device that shows up amongst the other Bermuda devices, but gives you some overall info on the system, like how many proxies are active, and how many bluetooth devices are visible. Another contribution from @Lash-L!
🎯 Easier Device Selection
- @Lash-L has added the device manufacturer name (where available) to the device name selector, making it a little easier to track down your desired devices when configuring Bermuda. These are based on the assigned manufacturer service UIDs.
🩹 Fixes
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Stability and performance clean-ups @agittins (#358) which should help with some performance issues / lockups on some systems.
Changes
Lots of good behind-the-scenes updates like tests and and coding standards to make Bermuda more robust, many from @Lash-L again!
- Bump requirements homeassistant to 2024.6 @agittins (#259)
- Change to HA config of ruff @Lash-L (#261)
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Fix tests and change some objects @Lash-L (#262)
- Switch to ruff for vscode formatter, linting @agittins (#273)
- Add Calibration at a per-scanner level @Lash-L (#275)
- chore: Linting / cleaning commented code @agittins (#282)
- feat: Config status and Calibration additions @agittins (#283)
- Workflow and HACS changes @agittins (#284)
- Fix linting and pre-commit workflow @agittins (#285)
- Further Calibration improvements @agittins (#289)
- Linting, btmanager import fix. @agittins (#348)
- Add a global device to keep track of some helpful data. @Lash-L (#328)
- Convert to runtime_data @Lash-L (#354)
- Stability and performance clean-ups @agittins (#358)
- feat: Per-device calibration @agittins (#359)
- Add manufacturer to prefname. @Lash-L (#352)
📦 Dependencies
- chore(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 @dependabot (#246)
- chore(deps): bump softprops/action-gh-release from 2.0.6 to 2.0.8 @dependabot (#249)
- chore(deps): bump ruff from 0.5.2 to 0.5.4 @dependabot (#255)
- chore(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#265)
- chore(deps): bump pip from 24.1.2 to 24.2 in /.github/workflows @dependabot (#267)
- chore(deps): update pip requirement from <24.2,>=24.1.1 to >=24.1.1,<24.3 @dependabot (#266)
- chore(deps): bump pre-commit from 3.7.1 to 3.8.0 in /.github/workflows @dependabot (#268)
- chore(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#281)
- chore(deps): bump black from 24.4.2 to 24.8.0 @dependabot (#280)
- chore(deps): bump black from 24.4.2 to 24.8.0 in /.github/workflows @dependabot (#279)
- chore(deps): bump flake8 from 7.1.0 to 7.1.1 in /.github/workflows @dependabot (#278)
- chore(deps): bump ruff from 0.5.6 to 0.5.7 @dependabot (#287)
- chore(deps): bump ruff from 0.5.7 to 0.6.0 @dependabot (#288)
- chore(deps): bump colorlog from 6.8.2 to 6.9.0 @dependabot (#347)
- chore(deps): bump crazy-max/ghaction-github-labeler from 5.0.0 to 5.1.0 @dependabot (#339)
- chore(deps): update pip requirement from <24.3,>=24.1.1 to >=24.1.1,<24.4 @dependabot (#338)
- chore(deps): bump pip from 24.2 to 24.3.1 in /.github/workflows @dependabot (#337)
- chore(deps): bump actions/setup-python from 5.1.1 to 5.3.0 @dependabot (#334)
- chore(deps): bump reorder-python-imports from 3.13.0 to 3.14.0 in /.github/workflows @dependabot (#324)
- chore(deps): bump ruff from 0.6.0 to 0.7.1 @dependabot (#335)
- chore(deps): bump pre-commit from 3.8.0 to 4.0.1 in /.github/workflows @dependabot (#321)
- chore(deps): bump black from 24.8.0 to 24.10.0 @dependabot (#320)
- chore(deps): bump black from 24.8.0 to 24.10.0 in /.github/workflows @dependabot (#319)
- chore(deps): bump ruff from 0.7.1 to 0.7.2 @dependabot (#357)
- chore(deps): bump softprops/action-gh-release from 2.0.8 to 2.0.9 @dependabot (#349)
v0.6.9rc3
Changes
- Bump requirements homeassistant to 2024.6 @agittins (#259)
- Change to HA config of ruff @Lash-L (#261)
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Fix tests and change some objects @Lash-L (#262)
- Switch to ruff for vscode formatter, linting @agittins (#273)
- Add Calibration at a per-scanner level @Lash-L (#275)
- chore: Linting / cleaning commented code @agittins (#282)
- feat: Config status and Calibration additions @agittins (#283)
- Workflow and HACS changes @agittins (#284)
- Fix linting and pre-commit workflow @agittins (#285)
- Further Calibration improvements @agittins (#289)
- Linting, btmanager import fix. @agittins (#348)
- Add a global device to keep track of some helpful data. @Lash-L (#328)
- Convert to runtime_data @Lash-L (#354)
- Stability and performance clean-ups @agittins (#358)
- feat: Per-device calibration @agittins (#359)
- Add manufacturer to prefname. @Lash-L (#352)
📦 Dependencies
- chore(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 @dependabot (#246)
- chore(deps): bump softprops/action-gh-release from 2.0.6 to 2.0.8 @dependabot (#249)
- chore(deps): bump ruff from 0.5.2 to 0.5.4 @dependabot (#255)
- chore(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#265)
- chore(deps): bump pip from 24.1.2 to 24.2 in /.github/workflows @dependabot (#267)
- chore(deps): update pip requirement from <24.2,>=24.1.1 to >=24.1.1,<24.3 @dependabot (#266)
- chore(deps): bump pre-commit from 3.7.1 to 3.8.0 in /.github/workflows @dependabot (#268)
- chore(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#281)
- chore(deps): bump black from 24.4.2 to 24.8.0 @dependabot (#280)
- chore(deps): bump black from 24.4.2 to 24.8.0 in /.github/workflows @dependabot (#279)
- chore(deps): bump flake8 from 7.1.0 to 7.1.1 in /.github/workflows @dependabot (#278)
- chore(deps): bump ruff from 0.5.6 to 0.5.7 @dependabot (#287)
- chore(deps): bump ruff from 0.5.7 to 0.6.0 @dependabot (#288)
- chore(deps): bump colorlog from 6.8.2 to 6.9.0 @dependabot (#347)
- chore(deps): bump crazy-max/ghaction-github-labeler from 5.0.0 to 5.1.0 @dependabot (#339)
- chore(deps): update pip requirement from <24.3,>=24.1.1 to >=24.1.1,<24.4 @dependabot (#338)
- chore(deps): bump pip from 24.2 to 24.3.1 in /.github/workflows @dependabot (#337)
- chore(deps): bump actions/setup-python from 5.1.1 to 5.3.0 @dependabot (#334)
- chore(deps): bump reorder-python-imports from 3.13.0 to 3.14.0 in /.github/workflows @dependabot (#324)
- chore(deps): bump ruff from 0.6.0 to 0.7.1 @dependabot (#335)
- chore(deps): bump pre-commit from 3.8.0 to 4.0.1 in /.github/workflows @dependabot (#321)
- chore(deps): bump black from 24.8.0 to 24.10.0 @dependabot (#320)
- chore(deps): bump black from 24.8.0 to 24.10.0 in /.github/workflows @dependabot (#319)
- chore(deps): bump ruff from 0.7.1 to 0.7.2 @dependabot (#357)
- chore(deps): bump softprops/action-gh-release from 2.0.8 to 2.0.9 @dependabot (#349)
v0.6.9rc2
Changes
- Bump requirements homeassistant to 2024.6 @agittins (#259)
- Change to HA config of ruff @Lash-L (#261)
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Fix tests and change some objects @Lash-L (#262)
- Switch to ruff for vscode formatter, linting @agittins (#273)
- Add Calibration at a per-scanner level @Lash-L (#275)
- chore: Linting / cleaning commented code @agittins (#282)
- feat: Config status and Calibration additions @agittins (#283)
- Workflow and HACS changes @agittins (#284)
- Fix linting and pre-commit workflow @agittins (#285)
- Further Calibration improvements @agittins (#289)
📦 Dependencies
- chore(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 @dependabot (#246)
- chore(deps): bump softprops/action-gh-release from 2.0.6 to 2.0.8 @dependabot (#249)
- chore(deps): bump ruff from 0.5.2 to 0.5.4 @dependabot (#255)
- chore(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#265)
- chore(deps): bump pip from 24.1.2 to 24.2 in /.github/workflows @dependabot (#267)
- chore(deps): update pip requirement from <24.2,>=24.1.1 to >=24.1.1,<24.3 @dependabot (#266)
- chore(deps): bump pre-commit from 3.7.1 to 3.8.0 in /.github/workflows @dependabot (#268)
- chore(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#281)
- chore(deps): bump black from 24.4.2 to 24.8.0 @dependabot (#280)
- chore(deps): bump black from 24.4.2 to 24.8.0 in /.github/workflows @dependabot (#279)
- chore(deps): bump flake8 from 7.1.0 to 7.1.1 in /.github/workflows @dependabot (#278)
- chore(deps): bump ruff from 0.5.6 to 0.5.7 @dependabot (#287)
- chore(deps): bump ruff from 0.5.7 to 0.6.0 @dependabot (#288)
v0.6.9rc1
Changes
- Bump requirements homeassistant to 2024.6 @agittins (#259)
- Change to HA config of ruff @Lash-L (#261)
- fix: Entities not updating if away at startup @agittins (#269)
- fix: Absent devices now show as "Away" on startup @agittins (#270)
- Fix tests and change some objects @Lash-L (#262)
- Switch to ruff for vscode formatter, linting @agittins (#273)
- Add Calibration at a per-scanner level @Lash-L (#275)
- chore: Linting / cleaning commented code @agittins (#282)
- feat: Config status and Calibration additions @agittins (#283)
- Workflow and HACS changes @agittins (#284)
📦 Dependencies
- chore(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 @dependabot (#246)
- chore(deps): bump softprops/action-gh-release from 2.0.6 to 2.0.8 @dependabot (#249)
- chore(deps): bump ruff from 0.5.2 to 0.5.4 @dependabot (#255)
- chore(deps): bump ruff from 0.5.4 to 0.5.5 @dependabot (#265)
- chore(deps): bump pip from 24.1.2 to 24.2 in /.github/workflows @dependabot (#267)
- chore(deps): update pip requirement from <24.2,>=24.1.1 to >=24.1.1,<24.3 @dependabot (#266)
- chore(deps): bump pre-commit from 3.7.1 to 3.8.0 in /.github/workflows @dependabot (#268)
- chore(deps): bump ruff from 0.5.5 to 0.5.6 @dependabot (#281)
- chore(deps): bump black from 24.4.2 to 24.8.0 @dependabot (#280)
- chore(deps): bump black from 24.4.2 to 24.8.0 in /.github/workflows @dependabot (#279)
- chore(deps): bump flake8 from 7.1.0 to 7.1.1 in /.github/workflows @dependabot (#278)
v0.6.8 - The HelpMeHelpYou release
This release is focussed on providing more useful diagnostics and quality-of-life improvements for fresh installs.
📈 SITREP
The Config dialog now shows a summary of how many Bluetooth scanners and Bluetooth devices Bermuda can see in the system, and how many of those have been seen in the last 10 seconds. This helps you know if the bluetooth backend is working and sending through data, which is something to which HA doesn't always give the best visibility. I've also added some help text in the "Configure Devices" setup page.
🔍 Diagnostics
Bermuda also now has a "Download Diagnostics" item in its options menu, which will give you a json file containing heaps of potentially useful diagnostic information, in json format. This data is "redacted" meaning it should not contain any of your MAC addresses. However, rather than just replacing them with asterisks or similar, it creates a per-file-consistent moniker for each address which will make troubleshooting easier by enabling cross-referencing between entries, without disclosing actual addresses. The idea is to create something safe for you to upload to a github issue that's still informative enough for me to analyse - but you might find it an excellent tool for your own troubleshooting as well.
🔢 Like a Version
Display of the integration version number should now be fixed, with the integration's version number (hopefully!) showing up in the main Bermuda page in HA. I won't know for sure if that works until github processes this release, but fingers crossed! 🤞🏼
📜 Signs of Wikiness
There have also been recent changes to the Wiki (yes, there's a wiki!) with advice on how to keep database sizes down and some initial guidance on troubleshooting.
🆘 Call for help
A few people have experienced serious performance issues unrelated to the recent async changes. At this stage I think that another integration is creating tens of thousands of "new" bluetooth records in HA's backend, and this is causing those systems to get bogged down as Bermuda tries to process them all. In one case, over 60 thousand devices were showing up - Bermuda automatically purges so it only keeps about a thousand of the most recent entries, but these entries kept being flagged up as new.
If you've experienced something similar, or might have an idea of which integration(s) might be causing this I'd love to hear from you so I might try and replicate the issue locally. #234
Ch-ch-ch-Changes
- feat: Diagnonstics and Redaction support @agittins (#239)
- feat: Show active device and scanner count in configure @agittins (#240)
- chore: fix versioning in release zip and HACS settings @agittins (#244)
- feat: Add full bt-manager data to diagnostics, with redactions @agittins (#245)
📦 Dependencies
- chore(deps): update pip requirement from <24.1,>=23.2.1 to >=24.1.1,<24.2 @dependabot (#224)
- chore(deps): bump ruff from 0.4.8 to 0.5.0 @dependabot (#223)
- chore(deps): bump pip from 24.0 to 24.1.1 in /.github/workflows @dependabot (#222)
- chore(deps): bump softprops/action-gh-release from 2.0.5 to 2.0.6 @dependabot (#217)
- chore(deps): bump flake8 from 7.0.0 to 7.1.0 in /.github/workflows @dependabot (#216)
- chore(deps): bump ruff from 0.5.0 to 0.5.1 @dependabot (#231)
- chore(deps): bump pip from 24.1.1 to 24.1.2 in /.github/workflows @dependabot (#230)
- chore(deps): bump actions/setup-python from 5.1.0 to 5.1.1 @dependabot (#237)
- chore(deps): bump ruff from 0.5.1 to 0.5.2 @dependabot (#242)
v0.6.7 - Fix for HA 2024.6.0 lockup adding devices
Significant change here is avoiding a race condition exposed by HA 2024.6.0 (from beta6). This was seen when adding a configured device to Bermuda, the dialog would hang spinning waiting for the config flow to apply, and the HA server would loop infinitely restarting Bermuda. Huge thanks to @andreasbrett for raising the issue before the HA release and submitting a comprehensive bug report - much appreciated!
This release also includes the current MAC address for any iBeacons being selected in the Configure Devices config flow. This should make it easier to find and identify devices while setting things up.
Changes
- Fix!: race condition in 2024.6.0b6 @agittins (#211)
- feat: Add MAC address to iBeacon listings in configure
- fix: Don't restore scanner options from saved device
- We store the options struct along with the cached scanner entries in entry.data. Prevent restoring it, since it overwrites
newer options set by config. Only affects display of data in the dump_devices service, but might become important if we
operate using those values later.
- We store the options struct along with the cached scanner entries in entry.data. Prevent restoring it, since it overwrites
- fix: Ignore disabled PrivateBLE devices
📦 Dependencies
- chore(deps): bump ruff from 0.4.4 to 0.4.7 @dependabot (#208)
- chore(deps): bump reorder-python-imports from 3.12.0 to 3.13.0 in /.github/workflows @dependabot (#209)
- chore(deps): bump ruff from 0.4.7 to 0.4.8 @dependabot (#212)
v0.6.6 - Better device selection and Fewer crashes!
This release features:
- 🚨 Hopefully fewer crashes :-/ Since 2024.5 we've seen a lot more thread/async related issues like all of HA bogging down or locking up. This has been tricky to fault-find because it only shows up on some systems, and seemingly rarely on mine. This release includes two fixes that will hopefully eliminate (or at least reduce) these instances.
- Device selection in configuration now uses Bermuda's own full list of devices, instead of just the recent devices from the bluetooth backend. Hopefully this will solve some issues people have had finding their devices, or maybe it won't. Note that PrivateBLE devices are not chosen per se, they will always be configured. The list now also indicates if a device is using a so-called "Random MAC" as a warning that tracking that particular MAC address may be futile. The list is also sorted with iBecons first, then static addresses, then random addresses.
- Config flow (more accurately the options flow, via the configure button(!)) is now set up with sub-menus, because soon we will have too many options to fit on one page :-)
Changes
- chore (typing): Tighter typing for event listeners @agittins (#190)
- Updates, primarily for #185 @agittins (#194)
- fix: removed some calls that might not be thread-safe @agittins (#195)
- feat: Config flow device list improvements @agittins (#196)
- feat: Split configuration into sub-menus @agittins (#197)
- chore (tests): Update tests for new config_flow @agittins (#198)
- fix?: Another change to address possible thread/async race lockups @agittins (#200)
📦 Dependencies
- chore(deps): bump pre-commit from 3.7.0 to 3.7.1 in /.github/workflows @dependabot (#192)
- chore(deps): bump ruff from 0.4.3 to 0.4.4 @dependabot (#191)