|
ESPHome 2026.8.0b4
|
The delivery half of a split-report tracker, shared so the dispatch contract (raw-callback ordering, raw_only gate, discovered-log policy) lives in one place. More...
#include <scan_response_merger.h>
Public Member Functions | |
| void | register_listener (ESPBTDeviceListener *listener) |
| void | set_raw_advertisement_callback (RawAdvertisementCallback callback) |
| void | dispatch (const uint8_t *mac, int8_t rssi, uint8_t addr_type, const uint8_t *data, uint8_t data_len, bool raw_only, const char *log_unclaimed_tag) |
| Dispatch one (possibly merged) advertisement: the raw callback, and — unless raw_only — parsing for listeners/triggers. | |
| void | on_scan_end () |
| Fire listeners' on_scan_end and reset the per-scan discovered-log dedup. | |
Protected Attributes | |
| RawAdvertisementCallback | raw_callback_ {} |
| StaticVector< ESPBTDeviceListener *, ESPHOME_BLE_DEVICE_BASE_LISTENER_COUNT > | listeners_ |
| DiscoveredDeviceLog | discovered_log_ {} |
The delivery half of a split-report tracker, shared so the dispatch contract (raw-callback ordering, raw_only gate, discovered-log policy) lives in one place.
Owns the members every tracker otherwise duplicates; the tracker's BLEHub methods delegate here.
Definition at line 42 of file scan_response_merger.h.
| void esphome::ble_device_base::AdvDispatcher::dispatch | ( | const uint8_t * | mac, |
| int8_t | rssi, | ||
| uint8_t | addr_type, | ||
| const uint8_t * | data, | ||
| uint8_t | data_len, | ||
| bool | raw_only, | ||
| const char * | log_unclaimed_tag ) |
Dispatch one (possibly merged) advertisement: the raw callback, and — unless raw_only — parsing for listeners/triggers.
raw_only marks unmatched scan-response frames: forwarded on the raw callback only, never parsed for local sensors/triggers (Home Assistant merges per address). log_unclaimed_tag: when non-null, a device no listener claimed is logged under this tag (esp32_ble_tracker parity: pass the tracker TAG on one-shot scans, nullptr on continuous scans, which would spam).
Definition at line 110 of file scan_response_merger.cpp.
| void esphome::ble_device_base::AdvDispatcher::on_scan_end | ( | ) |
Fire listeners' on_scan_end and reset the per-scan discovered-log dedup.
Definition at line 143 of file scan_response_merger.cpp.
|
inline |
Definition at line 44 of file scan_response_merger.h.
|
inline |
Definition at line 49 of file scan_response_merger.h.
|
protected |
Definition at line 70 of file scan_response_merger.h.
|
protected |
Definition at line 67 of file scan_response_merger.h.
|
protected |
Definition at line 63 of file scan_response_merger.h.