|
ESPHome 2026.8.0b4
|
What a tracker's controller/SDK can do — consumers branch on data, not #ifdefs. More...
#include <ble_hub.h>
Data Fields | |
| bool | active_scan |
| Controller can send scan requests (active scanning). | |
| bool | merges_scan_response |
| Controller (or tracker) delivers advertisement + scan response as one merged frame. | |
| bool | gatt |
| GATT client connections are available: the platform has a bluetooth_connection backend (rp2 binds the BLEGattConnection alias in bluetooth_connection_gatt_backend.h; esp32 uses its Bluedroid client). | |
| bool | scan_mode_switch |
| request_scan_mode() is honored at runtime. | |
What a tracker's controller/SDK can do — consumers branch on data, not #ifdefs.
| bool esphome::ble_device_base::HubCapabilities::active_scan |
Controller can send scan requests (active scanning).
| bool esphome::ble_device_base::HubCapabilities::gatt |
GATT client connections are available: the platform has a bluetooth_connection backend (rp2 binds the BLEGattConnection alias in bluetooth_connection_gatt_backend.h; esp32 uses its Bluedroid client).
| bool esphome::ble_device_base::HubCapabilities::merges_scan_response |
Controller (or tracker) delivers advertisement + scan response as one merged frame.
When false, consumers relying on scan-response fields (e.g. names) may only see them where the receiver merges per address (Home Assistant does).
| bool esphome::ble_device_base::HubCapabilities::scan_mode_switch |
request_scan_mode() is honored at runtime.
Distinct from active_scan: a passive-only controller can never switch, and a hub may support active scanning yet still refuse the runtime switch (esp32_ble_tracker drives its mode through its own tracker API).