From 0801b29617caa6bac52ac668f5e621ec56c39250 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 12 Aug 2026 19:12:09 -0500 Subject: [PATCH] Surface a degraded mixed client in component status The table-build skip sets a warning cleared by the next successful fan-out. --- esphome/components/ble_client/ble_client.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/esphome/components/ble_client/ble_client.cpp b/esphome/components/ble_client/ble_client.cpp index 3ccc9ede42..519bf3dfdc 100644 --- a/esphome/components/ble_client/ble_client.cpp +++ b/esphome/components/ble_client/ble_client.cpp @@ -247,6 +247,7 @@ bool BLEClient::handle_gatt_search_cmpl_(esp_gatt_status_t status) { // Only the table build failed; legacy nodes read the base's services_ // and keep the link. Gatt nodes catch the next connection. ESP_LOGW(TAG, "[%s] Service table build failed; gatt nodes skip this connection", this->address_str()); + this->status_set_warning(LOG_STR("gatt nodes inactive: service table build failed")); } else { this->gatt_connected_ = true; auto view = table.view(); @@ -260,6 +261,7 @@ bool BLEClient::handle_gatt_search_cmpl_(esp_gatt_status_t status) { } } this->gatt_backoff_.reset(); + this->status_clear_warning(); } // Promote so the legacy release condition can fire. for (auto *node : this->gatt_nodes_)