Commit Graph

54 Commits (78a8f904887e461688038de187f7427a72265364)

Author SHA1 Message Date
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
Ville Skyttä f7938c940c
Upgrade ruff to 0.0.272 (#94290) 2023-06-08 21:53:43 +02:00
J. Nick Koston 88bfd94800
Add support for ESPHome raw bluetooth advertisements (#94138)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-06-07 18:36:22 -05:00
J. Nick Koston 4420201fe6
Use bluetooth data tools for address conversion in esphome (#91443) 2023-04-16 11:55:08 -10:00
J. Nick Koston 6a5c05e7d2
Add support for clearing the on device GATT cache to esphome (#90318) 2023-03-27 09:34:28 +02:00
J. Nick Koston a7c796a2f7
Ensure esphome connected future is awaited when connecting is canceled (#90329) 2023-03-26 12:30:00 -10:00
J. Nick Koston 8c9966aa05
Ensure esphome subscribes to bluetooth connection free before accepting connect requests (#90319) 2023-03-26 22:06:14 +02: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
epenet ff2a88b426
Bump ruff to 0.0.254 (#89273) 2023-03-07 13:25:31 +01:00
J. Nick Koston ee89922c1b
Add support for bluetooth pairing in esphome (#88603)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-06 14:24:35 -10:00
epenet eebcf70b41
Re-enable Ruff D411 (#89035) 2023-03-02 13:01:05 -05:00
Franck Nijhof d3ed8de232
Update Ruff to v0.0.247 (#88210)
* Update Ruff to v0.0.247

* Fix new found violations
2023-02-15 16:46:03 -05:00
J. Nick Koston 978aafdd09
Update esphome bluetooth client for python 3.11 (#86480) 2023-01-23 21:36:19 +01:00
Aarni Koskela c0d9dcdb3f
Fix docstring in esphome.bluetooth.client (#86226) 2023-01-19 15:21:32 +01:00
Franck Nijhof 382e1ac679
Code styling tweaks to the ESPHome integration (#86146) 2023-01-18 11:10:16 +01: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 5a970e0a2b
Adjust additional esphome bluetooth debug messages for unique id change (#83955) 2022-12-13 12:57:29 -10:00
J. Nick Koston 95641fa780
Revert "Move esphome gatt services cache to be per device" #81265 (#83793) 2022-12-11 17:50:18 -10:00
J. Nick Koston 7178cacdc2
Adjust esphome bluetooth client logging for unique id change (#83742) 2022-12-10 17:45:59 -10:00
Paulus Schoutsen d3df4dd3c1
ESPHome: Use MAC as unique ID (#83741)
* ESPHome: Use MAC as unique ID

* Normalize incoming zeroconf/dhcp macs

* Update comment

* Test ESPHome without mac in zeroconf

* Use format_mac

* Remove unique ID index from DomainData
2022-12-10 22:26:42 -05: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
J. Nick Koston 3044e78d43
Avoid regex overhead in processing esphome bluetooth advertisements (#83246) 2022-12-04 21:09:45 -05:00
J. Nick Koston c617e7da31
Raise an exception when an esp proxy gets empty services during connection so callers know to retry (#83211) 2022-12-04 09:05:46 -10:00
J. Nick Koston 955d4abf13
Fix missing services with esp32 proxies (#83192) 2022-12-03 13:50:59 -05:00
J. Nick Koston de1e97a81f
Fix esphome ble client leaking notify on disconnect (#83106)
* Fix esphome ble client leaking notify on disconnect

needs: https://github.com/esphome/aioesphomeapi/pull/329

* leak

* more cleanup

* more cleanup

* bump
2022-12-02 19:45:49 -05:00
Marc Mueller 490aec0b11
Update pylint to 2.15.7 (#82977) 2022-11-30 12:20:18 +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 fb98128b9f
Add support for esphome ble client connections v3 (#82815) 2022-11-28 16:56:18 -10:00
J. Nick Koston d451a74c2d
Add a destruction check to the ESPHome bluetooth client (#82760) 2022-11-27 21:17:35 -05:00
J. Nick Koston f0ae1cc6ce
Add bluetooth diagnostics to esphome (#82761) 2022-11-27 14:59:37 -05:00
J. Nick Koston 18dd605a74
Fix un-retrieved future in esphome ble client when library raises (#82537) 2022-11-24 10:38:53 -10:00
J. Nick Koston 188cdd1bac
Ensure esphome client tasks await cancelation (#82547) 2022-11-23 10:07:05 +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
Marc Mueller 8f33ad38cf
Update pylint to 2.15.6 (#82440)
* Update pylint to 2.15.6

* Use single pylint disable

* Use implicit dict constructor
2022-11-21 08:58:45 +01: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 6517e3e21e
Fix esphome bleak client seeing disconnects too late (#81932)
* Fix esphome bleak client seeing disconnects too late

Because allbacks are delivered asynchronously its possible
that we find out during the operation before the callback
is delivered telling us about the disconnected.

We now watch for error code -1 which indicates the connection
dropped out from under us

* debug logging

* cleanup comment

* Fix comment grammar

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-11-11 09:09:28 +01:00
J. Nick Koston 6495c65d10
Align esphome ble client notify behavior to match BlueZ (#81463) 2022-11-05 15:28:47 -05:00
J. Nick Koston 972b36b469
Adjust time to remove stale connectable devices from the esphome ble to closer match bluez (#81356) 2022-11-01 13:07:42 -04:00
J. Nick Koston d87ca0b099
Improve esphome bluetooth error reporting (#81326) 2022-10-31 21:21:11 -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 8db7afb2e0
Include esphome device name in BLE logs (#81284)
* Include esphome device name in BLE logs

This makes it easier to debug what is going on when there
are multiple esphome proxies

* revert unintended change
2022-10-31 00:31:37 -05:00
J. Nick Koston ccefc510c3
Do not fire the esphome ble disconnected callback if we were not connected (#81286) 2022-10-30 22:10:30 -05:00
J. Nick Koston c8a3392471
Move esphome gatt services cache to be per device (#81265) 2022-10-30 18:02:54 -05:00
J. Nick Koston 11d7e1e45f
Provide a human readable error when an esphome ble proxy connection fails (#81266) 2022-10-30 17:43:09 -05:00
J. Nick Koston 27a61f5407
Raise exception when esphome ble client disconnects during operation (#80885) 2022-10-24 14:04:50 -05:00
J. Nick Koston 5589edd814
Fix bluetooth calls from automations in esphome (#80683) 2022-10-20 14:35:38 -04: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 07d4ac42d4
Fix Bluetooth failover when esphome device unexpectedly disconnects (#79769) 2022-10-06 16:40:40 -10:00
J. Nick Koston dac60990ee
Ensure bluetooth disconnect callback fires if esphome config entry is reloaded (#79389) 2022-10-01 20:42:54 -04:00