mirror of
https://github.com/esphome/esphome.git
synced 2026-09-16 01:28:39 +00:00
[wifi] Distinguish failed roam vs scan-induced disconnect in log
Split the RECONNECTING log message into two cases: - "Reconnected after failed roam" when a specific roam target was set but we ended up on a different AP - "Reconnected after roam scan" when no roam target was set (the disconnect was caused by going off-channel during the scan itself)
This commit is contained in:
@@ -1593,11 +1593,15 @@ void WiFiComponent::check_connecting_finished(uint32_t now) {
|
||||
if (this->roaming_target_bssid_ != bssid_t{} && current_bssid == this->roaming_target_bssid_) {
|
||||
char bssid_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE];
|
||||
format_mac_addr_upper(current_bssid.data(), bssid_buf);
|
||||
ESP_LOGD(TAG, "Roam successful (via retry) to %s", bssid_buf);
|
||||
ESP_LOGD(TAG, "Roam successful (via retry, attempt %u/%u) to %s", this->roaming_attempts_, ROAMING_MAX_ATTEMPTS,
|
||||
bssid_buf);
|
||||
this->roaming_attempts_ = 0;
|
||||
} else {
|
||||
// Failed roam, reconnected to different AP - keep attempts to prevent ping-pong
|
||||
} else if (this->roaming_target_bssid_ != bssid_t{}) {
|
||||
// Failed roam to specific target, reconnected to different AP - keep attempts to prevent ping-pong
|
||||
ESP_LOGD(TAG, "Reconnected after failed roam (attempt %u/%u)", this->roaming_attempts_, ROAMING_MAX_ATTEMPTS);
|
||||
} else {
|
||||
// Reconnected after scan-induced disconnect (no roam target) - keep attempts
|
||||
ESP_LOGD(TAG, "Reconnected after roam scan (attempt %u/%u)", this->roaming_attempts_, ROAMING_MAX_ATTEMPTS);
|
||||
}
|
||||
} else {
|
||||
// Normal connection (boot, credentials changed, etc.)
|
||||
|
||||
Reference in New Issue
Block a user