51 Commits
Author SHA1 Message Date
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 KostonandK 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 KostonandJesse Hills 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 NijhofandErik Montnemery 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 KostonandShay Levy 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 KostonandMartin Hjelmare 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
J. Nick Koston ca0cd19dc9 Switch to using new esphome bluetooth_proxy_version field (#79331) 2022-09-30 08:29:36 -04:00
J. Nick Koston a01f18a3ac Handle short local names from esphome proxies (#79321) 2022-09-29 14:37:31 -04:00
J. Nick Koston 0b5289f748 Wait for disconnect when we are out of connection ble slots in esphome (#79246) 2022-09-29 08:42:55 -04:00