Commit Graph

30 Commits

Author SHA1 Message Date
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
e7cec9b148 Small speed up to constructing Bluetooth service_uuids (#104193) 2023-11-19 08:14:55 -06:00
Erik Montnemery
64f0ea60d1 Correct logic for picking bluetooth local name (#102823)
* Correct logic for picking bluetooth local name

* make test more robust

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-25 18:08:31 -05:00
J. Nick Koston
667f4b1ca8 Mark Bluetooth scanner as not scanning when watchdog timeout is reached (#100738) 2023-09-26 05:29:46 -05:00
J. Nick Koston
e8397063d3 Optimize bluetooth base scanners for python3.11+ (#96165) 2023-07-09 12:56:33 -10:00
J. Nick Koston
2a5ffa9a5b Fix timestamps for bluetooth scanners that bundle advertisements (#94511)
#94138 added support for raw/bundled advertisements. We should use the
same monotonic time for all advertisements in the bundle if not time
is passed, or calculate the timestamp and pass it if its known
2023-06-14 21:47:00 -04:00
J. Nick Koston
6b931b208f Small cleanups to bluetooth internals (#92045)
* Small cleanups to bluetooth internals

Improve the performance of _async_on_advertisement

Fixes

```
tests/components/bluetooth/test_models.py::test_ble_device_with_proxy_client_out_of_connections_uses_best_available
tests/components/bluetooth/test_models.py::test_ble_device_with_proxy_client_out_of_connections_uses_best_available_macos
  /Users/bdraco/home-assistant/homeassistant/components/bluetooth/wrappers.py:226: FutureWarning: This method will be removed future version, pass the callback to the BleakClient constructor instead.
    self._backend.set_disconnected_callback(

tests/components/bluetooth/test_models.py::test_ble_device_with_proxy_client_out_of_connections_uses_best_available_macos
  /Users/bdraco/home-assistant/tests/components/bluetooth/test_models.py:506: FutureWarning: BLEDevice.metadata is deprecated and will be removed in a future version of Bleak, use AdvertisementData instead
    switchbot_proxy_device_no_connection_slot.metadata["delegate"] = 0

tests/components/bluetooth/test_models.py::test_ble_device_with_proxy_client_out_of_connections_uses_best_available_macos
  /Users/bdraco/home-assistant/tests/components/bluetooth/test_models.py:521: FutureWarning: BLEDevice.metadata is deprecated and will be removed in a future version of Bleak, use AdvertisementData instead
    switchbot_proxy_device_has_connection_slot.metadata["delegate"] = 0

tests/components/bluetooth/test_models.py::test_ble_device_with_proxy_client_out_of_connections_uses_best_available_macos
  /Users/bdraco/home-assistant/tests/components/bluetooth/test_models.py:535: FutureWarning: BLEDevice.metadata is deprecated and will be removed in a future version of Bleak, use AdvertisementData instead
    switchbot_device.metadata["delegate"] = 0

```

* put back kwargs
2023-04-26 11:16:34 +02:00
rlippmann
f5911bcad6 Add slots to dataclasses in default_config (#91410)
* add dataclass slots to default config items

* remove slots from sun mixing
2023-04-14 14:22:39 -04: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
7cf1926081 Fix BLEDevice not getting updated when details change for remote scanners (#90815) 2023-04-05 12:19:37 +02: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
c3043fb0ee Bump bluetooth deps for bleak 0.20 (#89925)
Co-authored-by: K <z@kwi.li>
2023-03-20 12:06:15 +01:00
J. Nick Koston
5374c70c97 Fix bluetooth history and device expire running in the executor (#89342) 2023-03-08 15:27:34 +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
1fbdb80430 Avoid some data merges in the bluetooth remote scanners when nothing has changed (#85270) 2023-01-05 15:22:14 -10:00
Aarni Koskela
7440c34901 Allow None connector for BaseHaRemoteScanner (#84847) 2022-12-30 06:49:37 -10:00
J. Nick Koston
94d1375be3 Avoid creating a task in the bluetooth watchdog when everything is OK (#84669) 2022-12-27 16:00:24 -10: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
0e2ebfe5c4 Move bluetooth watchdog into the scanner base class (#83888) 2022-12-13 11:57:40 -10:00
J. Nick Koston
80a8d5443d Improve remote bluetooth scanner diagnostics and add missing test cover (#83796) 2022-12-11 21:33:30 -10: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
09f9bb05dc Add bluetooth diagnostics to shelly (#83438)
* Add bluetooth diagnostics to shelly

* Add tests

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-12-09 10:55:10 -05:00
Erik Montnemery
c4afc33fc5 Add abc.ABC to classes with abstract methods (#83546) 2022-12-08 17:50:36 +01:00
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
f0ae1cc6ce Add bluetooth diagnostics to esphome (#82761) 2022-11-27 14:59:37 -05: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