mirror of
https://github.com/esphome/esphome.git
synced 2025-11-16 14:55:50 +00:00
[wifi] Use stack allocation for BSSID formatting in logging (#11859)
This commit is contained in:
@@ -668,25 +668,25 @@ void WiFiComponent::save_wifi_sta(const std::string &ssid, const std::string &pa
|
|||||||
|
|
||||||
void WiFiComponent::start_connecting(const WiFiAP &ap) {
|
void WiFiComponent::start_connecting(const WiFiAP &ap) {
|
||||||
// Log connection attempt at INFO level with priority
|
// Log connection attempt at INFO level with priority
|
||||||
std::string bssid_formatted;
|
char bssid_s[18];
|
||||||
int8_t priority = 0;
|
int8_t priority = 0;
|
||||||
|
|
||||||
if (ap.get_bssid().has_value()) {
|
if (ap.get_bssid().has_value()) {
|
||||||
bssid_formatted = format_mac_address_pretty(ap.get_bssid().value().data());
|
format_mac_addr_upper(ap.get_bssid().value().data(), bssid_s);
|
||||||
priority = this->get_sta_priority(ap.get_bssid().value());
|
priority = this->get_sta_priority(ap.get_bssid().value());
|
||||||
}
|
}
|
||||||
|
|
||||||
ESP_LOGI(TAG,
|
ESP_LOGI(TAG,
|
||||||
"Connecting to " LOG_SECRET("'%s'") " " LOG_SECRET("(%s)") " (priority %d, attempt %u/%u in phase %s)...",
|
"Connecting to " LOG_SECRET("'%s'") " " LOG_SECRET("(%s)") " (priority %d, attempt %u/%u in phase %s)...",
|
||||||
ap.get_ssid().c_str(), ap.get_bssid().has_value() ? bssid_formatted.c_str() : LOG_STR_LITERAL("any"),
|
ap.get_ssid().c_str(), ap.get_bssid().has_value() ? bssid_s : LOG_STR_LITERAL("any"), priority,
|
||||||
priority, this->num_retried_ + 1, get_max_retries_for_phase(this->retry_phase_),
|
this->num_retried_ + 1, get_max_retries_for_phase(this->retry_phase_),
|
||||||
LOG_STR_ARG(retry_phase_to_log_string(this->retry_phase_)));
|
LOG_STR_ARG(retry_phase_to_log_string(this->retry_phase_)));
|
||||||
|
|
||||||
#ifdef ESPHOME_LOG_HAS_VERBOSE
|
#ifdef ESPHOME_LOG_HAS_VERBOSE
|
||||||
ESP_LOGV(TAG, "Connection Params:");
|
ESP_LOGV(TAG, "Connection Params:");
|
||||||
ESP_LOGV(TAG, " SSID: '%s'", ap.get_ssid().c_str());
|
ESP_LOGV(TAG, " SSID: '%s'", ap.get_ssid().c_str());
|
||||||
if (ap.get_bssid().has_value()) {
|
if (ap.get_bssid().has_value()) {
|
||||||
ESP_LOGV(TAG, " BSSID: %s", format_mac_address_pretty(ap.get_bssid()->data()).c_str());
|
ESP_LOGV(TAG, " BSSID: %s", bssid_s);
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGV(TAG, " BSSID: Not Set");
|
ESP_LOGV(TAG, " BSSID: Not Set");
|
||||||
}
|
}
|
||||||
@@ -787,6 +787,8 @@ const LogString *get_signal_bars(int8_t rssi) {
|
|||||||
|
|
||||||
void WiFiComponent::print_connect_params_() {
|
void WiFiComponent::print_connect_params_() {
|
||||||
bssid_t bssid = wifi_bssid();
|
bssid_t bssid = wifi_bssid();
|
||||||
|
char bssid_s[18];
|
||||||
|
format_mac_addr_upper(bssid.data(), bssid_s);
|
||||||
|
|
||||||
ESP_LOGCONFIG(TAG, " Local MAC: %s", get_mac_address_pretty().c_str());
|
ESP_LOGCONFIG(TAG, " Local MAC: %s", get_mac_address_pretty().c_str());
|
||||||
if (this->is_disabled()) {
|
if (this->is_disabled()) {
|
||||||
@@ -809,9 +811,9 @@ void WiFiComponent::print_connect_params_() {
|
|||||||
" Gateway: %s\n"
|
" Gateway: %s\n"
|
||||||
" DNS1: %s\n"
|
" DNS1: %s\n"
|
||||||
" DNS2: %s",
|
" DNS2: %s",
|
||||||
wifi_ssid().c_str(), format_mac_address_pretty(bssid.data()).c_str(), App.get_name().c_str(), rssi,
|
wifi_ssid().c_str(), bssid_s, App.get_name().c_str(), rssi, LOG_STR_ARG(get_signal_bars(rssi)),
|
||||||
LOG_STR_ARG(get_signal_bars(rssi)), get_wifi_channel(), wifi_subnet_mask_().str().c_str(),
|
get_wifi_channel(), wifi_subnet_mask_().str().c_str(), wifi_gateway_ip_().str().c_str(),
|
||||||
wifi_gateway_ip_().str().c_str(), wifi_dns_ip_(0).str().c_str(), wifi_dns_ip_(1).str().c_str());
|
wifi_dns_ip_(0).str().c_str(), wifi_dns_ip_(1).str().c_str());
|
||||||
#ifdef ESPHOME_LOG_HAS_VERBOSE
|
#ifdef ESPHOME_LOG_HAS_VERBOSE
|
||||||
if (const WiFiAP *config = this->get_selected_sta_(); config && config->get_bssid().has_value()) {
|
if (const WiFiAP *config = this->get_selected_sta_(); config && config->get_bssid().has_value()) {
|
||||||
ESP_LOGV(TAG, " Priority: %d", this->get_sta_priority(*config->get_bssid()));
|
ESP_LOGV(TAG, " Priority: %d", this->get_sta_priority(*config->get_bssid()));
|
||||||
@@ -1390,8 +1392,10 @@ void WiFiComponent::log_and_adjust_priority_for_failed_connect_() {
|
|||||||
(old_priority > std::numeric_limits<int8_t>::min()) ? (old_priority - 1) : std::numeric_limits<int8_t>::min();
|
(old_priority > std::numeric_limits<int8_t>::min()) ? (old_priority - 1) : std::numeric_limits<int8_t>::min();
|
||||||
this->set_sta_priority(failed_bssid.value(), new_priority);
|
this->set_sta_priority(failed_bssid.value(), new_priority);
|
||||||
}
|
}
|
||||||
ESP_LOGD(TAG, "Failed " LOG_SECRET("'%s'") " " LOG_SECRET("(%s)") ", priority %d → %d", ssid.c_str(),
|
char bssid_s[18];
|
||||||
format_mac_address_pretty(failed_bssid.value().data()).c_str(), old_priority, new_priority);
|
format_mac_addr_upper(failed_bssid.value().data(), bssid_s);
|
||||||
|
ESP_LOGD(TAG, "Failed " LOG_SECRET("'%s'") " " LOG_SECRET("(%s)") ", priority %d → %d", ssid.c_str(), bssid_s,
|
||||||
|
old_priority, new_priority);
|
||||||
|
|
||||||
// After adjusting priority, check if all priorities are now at minimum
|
// After adjusting priority, check if all priorities are now at minimum
|
||||||
// If so, clear the vector to save memory and reset for fresh start
|
// If so, clear the vector to save memory and reset for fresh start
|
||||||
|
|||||||
@@ -525,8 +525,10 @@ void WiFiComponent::wifi_event_callback(System_Event_t *event) {
|
|||||||
ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf);
|
ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf);
|
||||||
s_sta_connect_not_found = true;
|
s_sta_connect_not_found = true;
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf,
|
char bssid_s[18];
|
||||||
format_mac_address_pretty(it.bssid).c_str(), LOG_STR_ARG(get_disconnect_reason_str(it.reason)));
|
format_mac_addr_upper(it.bssid, bssid_s);
|
||||||
|
ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf, bssid_s,
|
||||||
|
LOG_STR_ARG(get_disconnect_reason_str(it.reason)));
|
||||||
s_sta_connect_error = true;
|
s_sta_connect_error = true;
|
||||||
}
|
}
|
||||||
s_sta_connected = false;
|
s_sta_connected = false;
|
||||||
|
|||||||
@@ -746,8 +746,10 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) {
|
|||||||
ESP_LOGI(TAG, "Disconnected ssid='%s' reason='Station Roaming'", buf);
|
ESP_LOGI(TAG, "Disconnected ssid='%s' reason='Station Roaming'", buf);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf,
|
char bssid_s[18];
|
||||||
format_mac_address_pretty(it.bssid).c_str(), get_disconnect_reason_str(it.reason));
|
format_mac_addr_upper(it.bssid, bssid_s);
|
||||||
|
ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf, bssid_s,
|
||||||
|
get_disconnect_reason_str(it.reason));
|
||||||
s_sta_connect_error = true;
|
s_sta_connect_error = true;
|
||||||
}
|
}
|
||||||
s_sta_connected = false;
|
s_sta_connected = false;
|
||||||
|
|||||||
@@ -299,8 +299,10 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_
|
|||||||
if (it.reason == WIFI_REASON_NO_AP_FOUND) {
|
if (it.reason == WIFI_REASON_NO_AP_FOUND) {
|
||||||
ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf);
|
ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf);
|
||||||
} else {
|
} else {
|
||||||
ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf,
|
char bssid_s[18];
|
||||||
format_mac_address_pretty(it.bssid).c_str(), get_disconnect_reason_str(it.reason));
|
format_mac_addr_upper(it.bssid, bssid_s);
|
||||||
|
ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf, bssid_s,
|
||||||
|
get_disconnect_reason_str(it.reason));
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t reason = it.reason;
|
uint8_t reason = it.reason;
|
||||||
|
|||||||
Reference in New Issue
Block a user