1
0
mirror of https://github.com/esphome/esphome.git synced 2025-11-19 08:15:49 +00:00
This commit is contained in:
J. Nick Koston
2025-11-10 20:22:24 -06:00
parent b80b0eb864
commit 6631e2ffb2
3 changed files with 13 additions and 8 deletions

View File

@@ -1062,8 +1062,8 @@ void WiFiComponent::check_connecting_finished() {
this->state_ = WIFI_COMPONENT_STATE_STA_CONNECTED; this->state_ = WIFI_COMPONENT_STATE_STA_CONNECTED;
this->num_retried_ = 0; this->num_retried_ = 0;
// Reset all priorities if they're all the same (can't differentiate) // Clear priority tracking if all priorities are identical
this->reset_priorities_if_all_same_(); this->clear_priorities_if_all_same_();
#ifdef USE_WIFI_FAST_CONNECT #ifdef USE_WIFI_FAST_CONNECT
this->save_fast_connect_settings_(); this->save_fast_connect_settings_();
@@ -1293,9 +1293,9 @@ bool WiFiComponent::transition_to_phase_(WiFiRetryPhase new_phase) {
return false; // Did not start scan, can proceed with connection return false; // Did not start scan, can proceed with connection
} }
/// Reset all BSSID priorities if they're all identical (can't differentiate) /// Clear BSSID priority tracking if all priorities are identical (can't differentiate, saves memory)
/// Called when starting a fresh connection attempt or after successful connection /// Called when starting a fresh connection attempt or after successful connection
void WiFiComponent::reset_priorities_if_all_same_() { void WiFiComponent::clear_priorities_if_all_same_() {
if (this->sta_priorities_.empty()) { if (this->sta_priorities_.empty()) {
return; return;
} }
@@ -1360,8 +1360,8 @@ void WiFiComponent::log_and_adjust_priority_for_failed_connect_() {
format_mac_address_pretty(failed_bssid.value().data()).c_str(), old_priority, new_priority); format_mac_address_pretty(failed_bssid.value().data()).c_str(), old_priority, new_priority);
// After adjusting priority, check if all priorities are now identical // After adjusting priority, check if all priorities are now identical
// If so, reset them all to 0 to start fresh // If so, clear the vector to save memory
this->reset_priorities_if_all_same_(); this->clear_priorities_if_all_same_();
} }
/// Handle target advancement or retry counter increment when staying in the same phase /// Handle target advancement or retry counter increment when staying in the same phase

View File

@@ -383,8 +383,8 @@ class WiFiComponent : public Component {
int8_t find_next_hidden_sta_(int8_t start_index, bool include_explicit_hidden = true); int8_t find_next_hidden_sta_(int8_t start_index, bool include_explicit_hidden = true);
/// Log failed connection and decrease BSSID priority to avoid repeated attempts /// Log failed connection and decrease BSSID priority to avoid repeated attempts
void log_and_adjust_priority_for_failed_connect_(); void log_and_adjust_priority_for_failed_connect_();
/// Reset all BSSID priorities to 0 if they're all identical (can't differentiate) /// Clear BSSID priority tracking if all priorities are identical (saves memory)
void reset_priorities_if_all_same_(); void clear_priorities_if_all_same_();
/// Advance to next target (AP/SSID) within current phase, or increment retry counter /// Advance to next target (AP/SSID) within current phase, or increment retry counter
/// Called when staying in the same phase after a failed connection attempt /// Called when staying in the same phase after a failed connection attempt
void advance_to_next_target_or_increment_retry_(); void advance_to_next_target_or_increment_retry_();

View File

@@ -15,5 +15,10 @@ wifi:
networks: networks:
- ssid: MySSID - ssid: MySSID
password: password1 password: password1
priority: 10
- ssid: MySSID2 - ssid: MySSID2
password: password2 password: password2
priority: 5
- ssid: MySSID3
password: password3
priority: 0