Commit Graph

76 Commits (dev)

Author SHA1 Message Date
J. Nick Koston d43083e2f9
Set via_device for remote Bluetooth adapters to link to the parent device (#137091) 2025-02-01 12:10:59 -06:00
Joost Lekkerkerker ef8b8fbbaa
Enable RUF023 (#135830) 2025-01-17 12:28:27 +01:00
J. Nick Koston 6e255060c6
Add Bluetooth config entries for remote scanners (#135543) 2025-01-16 09:52:52 -10:00
J. Nick Koston c9a7afe439
Add bluetooth API to remove scanners that are no longer used (#135408) 2025-01-12 14:03:05 -10:00
Erik Montnemery b6fe3a3022
Reinitialize bluetooth discovery flow on config entry removal (#126555)
* Reinitialize bluetooth discovery flow on unignore

* Update homeassistant/components/bluetooth/manager.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update tests

* Rediscover on any removed config entry

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-24 14:42:46 +02:00
Sid 2cc916db6d
Replace pylint broad-except with Ruff BLE001 (#116250) 2024-05-07 14:00:27 +02:00
J. Nick Koston 2b2b46c774
Bump habluetooth to 3.0.1 (#116663) 2024-05-03 12:15:51 +02:00
J. Nick Koston ca5ed274cb
Deprecate calling async_listen and async_listen_once with run_immediately (#115169) 2024-04-08 10:07:54 -10:00
J. Nick Koston 5e8265d8a4
Add run_immediately to bluetooth listeners (#113659) 2024-03-16 19:03:14 -10:00
Marc Mueller ff3a801936
Add empty line after module docstring [a-d] (#112697) 2024-03-08 14:51:32 +01:00
J. Nick Koston b9b52b5e6d
Reduce Bluetooth setup time (#111304) 2024-02-24 11:31:45 -10:00
J. Nick Koston e50fe79911
Update habluetooth to 2.0.0 (#106145) 2023-12-20 20:37:39 -10:00
J. Nick Koston f002a6a732
Refactor all Bluetooth scanners to inherit from BaseHaRemoteScanner (#105523) 2023-12-12 21:28:43 +01:00
J. Nick Koston e890671192
Relocate Bluetooth manager to habluetooth library (#105110)
* Relocate Bluetooth manager to habluetooth library

* Relocate Bluetooth manager to habluetooth library

* Relocate Bluetooth manager to habluetooth library

* fixes

* fix patching time

* fix more tests

* fix more tests

* split

* Bump habluetooth to 0.7.0

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v0.6.1...v0.7.0

This is the big change that will move the manager so the HA
PR that will follow this will be a bit larger than the rest of them
since the manager is connected to everything

* fix types

* fix types

* fix types

* fix patch targets

* fix flakey logbook tests (will need another PR)

* mock shutdown

* bump again

* value can be a float now

* Revert "value can be a float now"

This reverts commit b7e7127143.

* float
2023-12-11 15:42:00 -05:00
J. Nick Koston 3c635fdbf2
Split bluetooth manager so it can be extracted into the habluetooth lib (#105015) 2023-12-05 19:54:50 +01:00
J. Nick Koston 94d168e20e
Move Bluetooth advertisement tracker to habluetooth library (#105083) 2023-12-05 19:53:29 +01:00
J. Nick Koston a3dd2b8ea9
Migrate to using faster monotonic_time_coarse from bluetooth-data-tools (#104882) 2023-12-01 10:57:09 -10:00
J. Nick Koston d3b4dd226b
Prevent Bluetooth reconnects from blocking shutdown (#104150) 2023-11-19 08:22:26 -06:00
J. Nick Koston f9dbddc884
Small cleanups to Bluetooth fallback intervals (#102440) 2023-10-21 10:06:49 -10:00
Raman Gupta 067b94899f
Move EVENT_LOGGING_CHANGED to constants (#100974)
* Move EVENT_LOGGING_CHANGED to constants

* fix test

* remove logger as dependency for bluetooth and fix test
2023-09-27 01:06:14 -04:00
Jc2k f0375eb97e
Expose bluetooth availability tracking interval controls to integrations (#100774) 2023-09-24 10:45:25 +02:00
Marc Mueller fb66ceb302
Update mypy to 1.5.0 (#98179) 2023-08-11 13:13:04 +02:00
J. Nick Koston bc28d7f33e
Add slots to bluetooth manager (#95881) 2023-07-09 10:06:26 -10:00
J. Nick Koston 54255331d5
Small cleanups to bluetooth manager advertisement processing (#95453)
Avoid a few lookups that are rarely used now
2023-06-28 21:40:03 -04:00
J. Nick Koston 1459bf4011
Fix async_scanner_devices_by_address unexpectedly combining Bluetooth scanners (#94990) 2023-06-22 16:50:21 +02:00
J. Nick Koston f47f49c9a1
Reduce overhead to check bluetooth logging (#92512) 2023-05-07 01:30:54 +02:00
epenet c01b1eb013
Adjust async_track_time_interval name argument (#90838)
Adjust async_track_time_interval naming
2023-04-05 10:58:02 -04:00
J. Nick Koston 02ef7d445d
Allow passing an optional name to async_track_time_interval (#90244)
* Allow passing an optional name to async_track_time_interval

This is the same idea as passing a name to asyncio.create_task which
makes it easier to track down bugs

* more

* short

* still cannot find it

* add a few more

* test
2023-03-25 10:11:14 -04:00
J. Nick Koston 331102e592
Dismiss discoveries when the underlying device disappears (#88340)
* Implement discovery removals

Bluetooth, HomeKit, SSDP, and Zeroconf now implement
dismissing discoveries when the underlying discovered
device disappears

* cover

* add zeroconf test

* cover

* cover bluetooth

* fix rediscover
2023-02-17 15:51:19 -05:00
J. Nick Koston 34e2751f14
Retrigger Bluetooth discovery when calling async_rediscover_address (#87884)
* Retrigger Bluetooth discovery when calling async_rediscover_address

* Retrigger Bluetooth discovery when calling async_rediscover_address

* tweak
2023-02-11 16:59:51 +01:00
J. Nick Koston d0c7f42559
Fix Bluetooth discoveries missing between restarts (#86808)
* Fix Bluetooth discoveries missing between restarts

* do not load other integrations

* coverage
2023-01-27 22:16:16 -05:00
epenet 25c451832b
Remove `pragma: no cover` when not raising (#86706) 2023-01-26 16:34:05 +01:00
Felix T 42a4dd98f1
Use fallback advertising interval for non-connectable Bluetooth devices (#85701)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 12:11:25 -10:00
David Buezas 112b2c22f7
Expose async_scanner_devices_by_address from the bluetooth api (#83733)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-01-08 14:06:32 -10:00
Franck Nijhof 487782a6d1
Code styling tweaks to Bluetooth (#85448)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-08 11:20:02 -10:00
J. Nick Koston 8c70e5aaad
Try the next best adapter after a BLE connection fails (#84512)
* Try the next best adapter after a BLE connection fails

* add cover

* tweak

* tweak

* Update homeassistant/components/bluetooth/wrappers.py

* bump

* small tweak

* tweak logic
2022-12-23 20:48:47 -05:00
J. Nick Koston 070aa714a0
Switch to a different local Bluetooth adapter when one runs out of connection slots (#84331) 2022-12-23 08:58:33 -10:00
Franck Nijhof b0cee0bc46
String formatting and max line length - Part 1 (#84390)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
J. Nick Koston bb3feceb57
Fix connectable Bluetooth devices not going available after scanner recovers (#84172) 2022-12-19 13:37:29 +01:00
J. Nick Koston 9008006ac8
Restore remote discovered devices between remote scanner restarts (#83699) 2022-12-11 09:02:55 -10:00
J. Nick Koston a7caa038be
Accept advertisements from alternate scanners when a scanner stops scanning (#82448) 2022-11-21 21:23:07 -05:00
J. Nick Koston 7801cd96de
Split bluetooth models into base_scanner and wrappers (#82291) 2022-11-20 08:44:28 -06:00
J. Nick Koston 47c66dbed4
Offload platform specific bluetooth code to bluetooth-adapters (#82196)
* Offload platform specific bluetooth code to bluetooth-adapters

* adjust

* fix some more patch targets

* more test fixes

* almost there

* may not be setup yet

* more fixes

* fixes

* fix test

* fix merge
2022-11-17 14:34:19 -05:00
J. Nick Koston 682187541f
Move BluetoothServiceInfoBleak to home_assistant_bluetooth (#82064) 2022-11-15 14:00:52 -06:00
J. Nick Koston 5b09ab93dc
Immediately prefer advertisements from alternate sources when a scanner goes away (#81357) 2022-11-01 13:07:03 -04:00
J. Nick Koston 1589c06203
Significantly reduce clock_gettime syscalls on platforms with broken vdso (#81257) 2022-10-31 09:35:08 -04:00
J. Nick Koston 95d6859cb7
Log bluetooth advertisement before firing bleak callbacks (#80800)
The debug log was confusing because the bleak callbacks
were firing before we were logging the advertisements
2022-10-23 11:34:03 +02:00
J. Nick Koston 91c5aac8ba
Add homekit notifications to the list of allowed apple bluetooth start bytes (#80733) 2022-10-21 13:54:02 -05:00
J. Nick Koston a708fc9984
Bump bleak-retry-connector to 2.3.1 (#80549) 2022-10-18 11:48:52 -05:00
J. Nick Koston f70f972d88
Fix connectable Bluetooth devices not being seen if the nearest scanner is non-connectable (#80388)
If we saw the non-connectable scanner advertisement first we would reject
the connectable scanner advertisement because it had worse signal strength.

In this case we need to check both
2022-10-17 21:13:26 -04:00