epenet
a16e298599
Adjust json imports in tests ( #88248 )
2023-02-17 19:13:48 +01:00
epenet
1e352b60df
Add type hints to integration tests (part 11) ( #87996 )
2023-02-13 14:22:49 +01: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
epenet
0cf5e9fb4a
Add type hints to integration tests (part 2) ( #87789 )
...
* Add type hints to integration tests (part 2)
* typo
* Improve analytics
* Improve automation
* Imrpove bluetooth
2023-02-10 16:05:26 +01:00
J. Nick Koston
4cebc767b5
Give users a hint that their bluetooth adapter has been ignored ( #87727 )
2023-02-09 16:41:53 -06:00
epenet
807c69f621
Add type hints to integration tests (b-c) ( #87698 )
2023-02-08 18:08:43 +01:00
Franck Nijhof
5e81d28116
Update black to 23.1.0 ( #87188 )
2023-02-02 18:35:24 +01:00
Franck Nijhof
3b5fd4bd06
Enable Ruff TRY004 ( #86811 )
2023-01-30 14:06:52 +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
Marc Mueller
4f87c1f30f
Update pre-commit-config [Py310] ( #86415 )
2023-01-23 09:59:44 +01:00
Franck Nijhof
24fdd588fd
Code styling tweaks to the tests - Part 1 ( #86192 )
2023-01-20 13:52:46 +01:00
Aarni Koskela
40d39a15c9
Fix stray string literal in bluetooth test wrapper ( #86228 )
2023-01-19 14:53:43 +01:00
Michael
2850583085
Replace the usage of unit constants by enumerations in Tests [a-e] ( #85932 )
2023-01-15 14:44:01 +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
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
J. Nick Koston
53363cf7e8
Implement an active update coordinator for polling ble devices that get data from both advertisements and active connections ( #84207 )
2022-12-19 16:09:29 -10: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
9f10bd46ac
Rename Bluetooth active_update_coordinator to active_update_processor ( #84115 )
2022-12-16 22:25:43 -10: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
Erik Montnemery
c4afc33fc5
Add abc.ABC to classes with abstract methods ( #83546 )
2022-12-08 17:50:36 +01:00
J. Nick Koston
955d4abf13
Fix missing services with esp32 proxies ( #83192 )
2022-12-03 13:50:59 -05:00
J. Nick Koston
a28214caec
Fix bluetooth remote connections not picking the best path ( #82957 )
2022-11-29 19:56:31 -10: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
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
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
Jc2k
10356b9379
Fix Xiaomi BLE not detecting encryption for some devices ( #75851 )
2022-07-28 19:10:37 +01:00
J. Nick Koston
1e85ddabfd
Fix startup race in BLE integrations ( #75780 )
2022-07-26 09:29:23 -10:00
J. Nick Koston
a813cf987b
Add bluetooth options flow to pick the adapter ( #75701 )
2022-07-25 16:52:35 +02:00
J. Nick Koston
22ca28b93d
Ensure bluetooth can be reloaded when hot plugging a bluetooth adapter ( #75699 )
2022-07-24 19:23:23 -05:00
J. Nick Koston
bbb9443b00
Fix bluetooth integration matching with service_data_uuids and service_uuids ( #75687 )
...
* Fix bluetooth integration with service_data and service_uuids
We would only dispatch a new flow when the address was seen for
the first time or the manufacturer_data appeared in a followup
advertisement. Its also possible for the service_data and
service_uuids to appear in a followup advertisement so we
need to track these as well
* improve logging to avoid overly large messages
* improve logging to avoid overly large messages
* adjust
* adjsut
* split
* coverage
* coverage
* coverage
* coverage
* fix matcher
* more coverage
* more coverage
* more coverage
* revert switchbot changes and move to seperate PR
2022-07-24 16:39:53 -05:00
J. Nick Koston
da131beced
Split bluetooth coordinator into two classes ( #75675 )
2022-07-23 19:33:47 -05:00
J. Nick Koston
c5afaa2e6a
Refactor PassiveBluetoothDataUpdateCoordinator to support multiple platforms ( #75642 )
2022-07-23 13:03:01 -05:00
J. Nick Koston
240bbfa080
Retry later if bluetooth fails to start ( #75647 )
2022-07-23 12:00:34 -05:00
Franck Nijhof
8d6247446b
Automatically set up Bluetooth during onboarding ( #75658 )
2022-07-23 10:47:12 -05:00
J. Nick Koston
326e05dcf1
Fix async_get_scanner to return the correct bluetooth scanner ( #75637 )
2022-07-22 18:12:08 -05:00
J. Nick Koston
38bccadaa6
Add support for setting up and removing bluetooth in the UI ( #75600 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-22 13:19:53 -05:00