mirror of
https://github.com/esphome/esphome.git
synced 2026-09-12 07:47:33 +00:00
a84269d6b00b780261f92d49980256930f6682a4
An idle GATT client slot has its loop disabled, so the stack-down reset in loop() never runs across a ble.disable/ble.enable cycle. The slot keeps the gattc interface of the torn-down stack and never registers again; the next esp_ble_gattc_open on that interface is dropped by Bluedroid without any event and the slot stays in CONNECTING forever, which also blocks scanning. Give ESPBTClient a before-disabled hook, fan it out from the tracker's existing handler, and have both client implementations settle any link, go back to INIT and enable their loop so they register on the new stack. The Bluedroid backend also refuses to open on an unregistered interface instead of waiting for an event that cannot come.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
592 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
