From 655d001d724f6cbeda6f7fe6422ded4b6aa24ec9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 4 Aug 2025 16:26:40 -1000 Subject: [PATCH] address bot comments --- .../components/esp32_ble_tracker/esp32_ble_tracker.cpp | 1 + esphome/components/esp32_ble_tracker/esp32_ble_tracker.h | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index 9143f25a25..a610dacf20 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -803,6 +803,7 @@ void ESP32BLETracker::handle_scanner_failure_() { } void ESP32BLETracker::try_promote_discovered_clients_() { + // Only promote the first discovered client to avoid multiple simultaneous connections for (auto *client : this->clients_) { if (client->state() != ClientState::DISCOVERED) { continue; diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h index 77020d3222..b7245a8fdd 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h @@ -142,10 +142,12 @@ struct ClientStateCounts { uint8_t searching = 0; uint8_t disconnecting = 0; - bool operator!=(const ClientStateCounts &other) const { - return connecting != other.connecting || discovered != other.discovered || searching != other.searching || - disconnecting != other.disconnecting; + bool operator==(const ClientStateCounts &other) const { + return connecting == other.connecting && discovered == other.discovered && searching == other.searching && + disconnecting == other.disconnecting; } + + bool operator!=(const ClientStateCounts &other) const { return !(*this == other); } }; enum class ClientState : uint8_t {