diff --git a/esphome/components/wifi/wifi_component_esp_idf.cpp b/esphome/components/wifi/wifi_component_esp_idf.cpp index cdc101b87c1..00890771bf1 100644 --- a/esphome/components/wifi/wifi_component_esp_idf.cpp +++ b/esphome/components/wifi/wifi_component_esp_idf.cpp @@ -855,7 +855,7 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { std::copy(record.bssid, record.bssid + 6, bssid.begin()); std::string ssid(ssid_cstr); this->scan_result_.emplace_back(bssid, std::move(ssid), record.primary, record.rssi, - record.authmode != WIFI_AUTH_OPEN, ssid.empty()); + record.authmode != WIFI_AUTH_OPEN, ssid_cstr[0] == '\0'); } else { WiFiComponent::log_discarded_scan_result_(ssid_cstr, record.bssid, record.rssi, record.primary); } diff --git a/esphome/components/wifi/wifi_component_pico_w.cpp b/esphome/components/wifi/wifi_component_pico_w.cpp index 57fc89d36be..d80ff87da65 100644 --- a/esphome/components/wifi/wifi_component_pico_w.cpp +++ b/esphome/components/wifi/wifi_component_pico_w.cpp @@ -149,7 +149,7 @@ void WiFiComponent::wifi_scan_result(void *env, const cyw43_ev_scan_result_t *re std::copy(result->bssid, result->bssid + 6, bssid.begin()); std::string ssid(ssid_cstr); WiFiScanResult res(bssid, std::move(ssid), result->channel, result->rssi, result->auth_mode != CYW43_AUTH_OPEN, - ssid.empty()); + ssid_cstr[0] == '\0'); if (std::find(this->scan_result_.begin(), this->scan_result_.end(), res) == this->scan_result_.end()) { this->scan_result_.push_back(res); }