Commit Graph

71 Commits

Author SHA1 Message Date
J. Nick Koston
03362bec1c Defer bluetooth scanner watchdog restart if one is already in progress (#80679) 2022-10-20 13:56:20 -05:00
Franck Nijhof
c4bbc439a5 Integrations v2.1: Differentiating hubs, devices and services (#80524)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02: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
Joakim Plate
9eb4faf037 Fire bluetooth listener for all matching devices (#80440)
* Fire listener for all matching devices

* Add test case for seen device

* Avoid looping all data if we have address match

* Initialize to empty list
2022-10-16 21:49:12 +02:00
J. Nick Koston
d12cbab6c4 Bump bleak to 0.19.0 (#80349) 2022-10-15 13:57:23 -04:00
J. Nick Koston
0c76e3a97e Automatically determine the advertising interval for bluetooth devices (#79669) 2022-10-14 14:39:18 -04:00
J. Nick Koston
c798723c27 Fix bluetooth diagnostics on macos (#79680)
* Fix bluetooth diagnostics on macos

The pyobjc objects cannot be pickled which cases dataclasses
asdict to raise an exception when trying to do the deepcopy

We now implement our own as_dict to avoid this problem

* add cover
2022-10-06 04:32:29 +02:00
J. Nick Koston
2768b2445a Remove call to deprecated bleak register_detection_callback (#79558) 2022-10-03 21:15:09 -04:00
J. Nick Koston
5eb50f63fd Ensure bleak_retry_connector uses HaBleakClientWrapper (#79132) 2022-09-27 14:06:10 -04:00
J. Nick Koston
75f6f9b5e2 Improve performance of Bluetooth device fallback (#79078) 2022-09-26 09:12:08 -04:00
J. Nick Koston
1b144c0e4d Update to bleak 0.18.0 (#79008) 2022-09-23 15:09:28 -10:00
J. Nick Koston
d1da6ea04d Fix flapping bluetooth scanner test (#78961) 2022-09-22 23:39:38 -04:00
J. Nick Koston
488b04fc8b Handle default RSSI values from bleak in bluetooth (#78908) 2022-09-21 17:03:50 -04:00
J. Nick Koston
12856dea05 Create an issue when Bluetooth is active on old HAOS (#78430)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-19 21:02:13 -04:00
J. Nick Koston
caba202efa Fix failing bluetooth tests (#78757) 2022-09-19 20:59:27 -04:00
J. Nick Koston
635c2f3738 Change bluetooth source to be the address of the adapter on Linux (#78795) 2022-09-19 20:58:18 -04:00
epenet
747e538172 Apply hass-relative-import to bluetooth tests (#78736) 2022-09-19 12:35:23 +02:00
J. Nick Koston
9655f30146 Handle Modalias missing from the bluetooth adapter details on older BlueZ (#78715) 2022-09-18 21:09:45 -04:00
J. Nick Koston
d4181aa911 Fix bluetooth callback matchers when only matching on connectable (#78687) 2022-09-18 10:22:54 -05:00
J. Nick Koston
18eef5da1f Restore history from bluetooth stack at startup (#78612) 2022-09-17 16:58:19 -05:00
J. Nick Koston
98dd84f535 Ensure bluetooth callbacks are only fired when advertisement data changes (#78609) 2022-09-17 10:26:02 +02:00
J. Nick Koston
085abc74ee Reduce overhead to update passive bluetooth devices (#78545) 2022-09-16 12:24:20 +02:00
J. Nick Koston
392548fe6e Bump bleak to 0.17.0 (#78333) 2022-09-13 14:31:34 +02:00
Alex Thompson
45b69618d3 Add iBeacon start byte to allowed Apple Bluetooth advertisements (#78088) 2022-09-08 18:21:58 -05:00
Jc2k
a641bbc352 Less verbose error logs for bleak connection errors in ActiveBluetoothProcessorCoordinator (#77839)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-05 10:33:10 -04:00
J. Nick Koston
804e4ab989 Prefilter noisy apple devices from bluetooth (#77808) 2022-09-04 20:57:40 -04:00
J. Nick Koston
40e8979951 Add bluetooth api to get the count of connectable and non-connectable scanners (#77427) 2022-08-29 10:21:30 -04:00
J. Nick Koston
a28aeeeca7 Hide bluetooth passive option if its not available on the host system (#77421)
* Hide bluetooth passive option if its not available

- We now have a way to determine in advance if passive
  scanning is supported by BlueZ

* drop string
2022-08-27 19:18:54 -04:00
J. Nick Koston
8e88e039f7 Add diagnostics to bluetooth (#77393) 2022-08-27 16:41:49 -05:00
J. Nick Koston
61d5ed1dcf Index bluetooth matchers to resolve performance concerns with many adapters/remotes (#77372) 2022-08-26 23:07:51 -04:00
J. Nick Koston
109d5c7084 Fix bluetooth discovery when advertisement format changes (#77286) 2022-08-24 17:36:21 -05:00
J. Nick Koston
d1486d04d9 Add support for bleak passive scanning on linux (#75542) 2022-08-24 12:17:28 -05:00
J. Nick Koston
c76dec138a Discover new bluetooth adapters when they are plugged in (#77006) 2022-08-22 15:45:08 -10:00
J. Nick Koston
3938015c93 Add support for scanners that do not provide connectable devices (#77132) 2022-08-22 14:02:26 -04:00
J. Nick Koston
f3e432c9c7 Reduce bluetooth logging noise when an adapter is recovered (#77109) 2022-08-21 12:03:14 -10:00
J. Nick Koston
ced8278e32 Auto recover when the Bluetooth adapter stops responding (#77043) 2022-08-20 11:58:14 -10:00
J. Nick Koston
cd59d3ab81 Add support for multiple Bluetooth adapters (#76963) 2022-08-18 21:41:07 -04:00
J. Nick Koston
071cae2c0b Implement auto switching when there are multiple bluetooth scanners (#76947) 2022-08-17 12:38:04 -10:00
J. Nick Koston
7bf13167d8 Prevent bluetooth scanner from being shutdown by BleakClient not using BLEDevice (#76945) 2022-08-17 11:42:12 -10:00
J. Nick Koston
3bcc274dfa Rework bluetooth to support scans from multiple sources (#76900) 2022-08-17 10:51:56 -10:00
J. Nick Koston
6f3cdb6db1 Reorganize bluetooth integration to prepare for remote and multi-adapter support (#76883) 2022-08-16 14:52:53 -10:00
J. Nick Koston
4890785299 Fix bluetooth callback registration not surviving a reload (#76817) 2022-08-15 10:19:37 -10:00
Jc2k
0639681991 Add new Bluetooth coordinator helper for polling mostly passive devices (#76549) 2022-08-10 18:56:34 +01:00
Jc2k
7d427ddbd4 Allow parsing to happen in PassiveBluetoothProcessorCoordinator (#76384) 2022-08-09 06:36:39 +01:00
J. Nick Koston
1fe44d0997 Ensure bluetooth recovers if Dbus gets restarted (#76249) 2022-08-07 11:03:56 -04:00
Joakim Plate
cdde4f9925 Add bluetooth API to allow rediscovery of address (#76005)
* Add API to allow rediscovery of domains

* Switch to clearing per device

* Drop unneded change
2022-08-05 14:49:34 +02:00
J. Nick Koston
5d7cef6416 Fix race in bluetooth async_process_advertisements (#76176) 2022-08-04 17:58:15 +02:00
J. Nick Koston
bf931f1225 Handle additional bluetooth start exceptions (#76096) 2022-08-02 13:46:43 -10:00
J. Nick Koston
80a9659524 Update to bleak 0.15 (#75941) 2022-07-29 17:53:33 -07:00
J. Nick Koston
702cef3fc7 Add startup timeout to bluetooth (#75848)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-07-28 11:14:13 -10:00