Commit Graph

134 Commits

Author SHA1 Message Date
J. Nick Koston
46b18367f7 Send back BLE address type when connecting via esphome proxies (#82890) 2022-11-28 18:54:53 -10:00
J. Nick Koston
d6e287f47a Add manufacturer and model to bluetooth adapter device (#82769)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-11-27 15:44:44 -05:00
J. Nick Koston
f0ae1cc6ce Add bluetooth diagnostics to esphome (#82761) 2022-11-27 14:59:37 -05:00
Aarni Koskela
e4c73259f7 Configure autoflake for pre-commit (#82414) 2022-11-22 08:10:36 +01: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
3f5649092e Break out bluetooth apis into api.py (#82416)
* Break out bluetooth apis into api.py

Like #82291 this is not a functional change.

* cleanups
2022-11-20 12:33:03 -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
f584efa0c2 Move bluetooth remote scanner implementation into a base class (#82012) 2022-11-13 14:18:36 -06:00
J. Nick Koston
78180b2ad8 Fix bluetooth adapters with missing firmware patch files not being discovered (#81926) 2022-11-10 14:14:37 -06:00
J. Nick Koston
ab14e55c05 Ensure we do not actually create a BleakScanner in the usage test (#81362)
Avoids a failure when bluetooth is turned off when
testing on macos:

bleak.exc.BleakError: Bluetooth device is turned off
2022-11-02 14:57:59 +01: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
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