diff --git a/esphome/components/absolute_humidity/absolute_humidity.cpp b/esphome/components/absolute_humidity/absolute_humidity.cpp index 36b6534c0d..c927afcd50 100644 --- a/esphome/components/absolute_humidity/absolute_humidity.cpp +++ b/esphome/components/absolute_humidity/absolute_humidity.cpp @@ -10,7 +10,7 @@ void AbsoluteHumidityComponent::setup() { this->temperature_ = state; this->enable_loop(); }); - ESP_LOGD(TAG, " Added callback for temperature '%s'", this->temperature_sensor_->get_name().c_str()); + ESP_LOGD(TAG, " Added callback for temperature '%s'", LOG_STR_ARG(this->temperature_sensor_->get_log_name())); // Get initial value if (this->temperature_sensor_->has_state()) { this->temperature_ = this->temperature_sensor_->get_state(); @@ -20,7 +20,7 @@ void AbsoluteHumidityComponent::setup() { this->humidity_ = state; this->enable_loop(); }); - ESP_LOGD(TAG, " Added callback for relative humidity '%s'", this->humidity_sensor_->get_name().c_str()); + ESP_LOGD(TAG, " Added callback for relative humidity '%s'", LOG_STR_ARG(this->humidity_sensor_->get_log_name())); // Get initial value if (this->humidity_sensor_->has_state()) { this->humidity_ = this->humidity_sensor_->get_state(); @@ -49,7 +49,8 @@ void AbsoluteHumidityComponent::dump_config() { "Sources\n" " Temperature: '%s'\n" " Relative Humidity: '%s'", - this->temperature_sensor_->get_name().c_str(), this->humidity_sensor_->get_name().c_str()); + LOG_STR_ARG(this->temperature_sensor_->get_log_name()), + LOG_STR_ARG(this->humidity_sensor_->get_log_name())); } void AbsoluteHumidityComponent::loop() { diff --git a/esphome/components/adc/adc_sensor_common.cpp b/esphome/components/adc/adc_sensor_common.cpp index dcb4138201..86c864ea2a 100644 --- a/esphome/components/adc/adc_sensor_common.cpp +++ b/esphome/components/adc/adc_sensor_common.cpp @@ -66,7 +66,7 @@ template class Aggregator; void ADCSensor::update() { float value_v = this->sample(); - ESP_LOGV(TAG, "'%s': Voltage=%.4fV", this->get_name().c_str(), value_v); + ESP_LOGV(TAG, "'%s': Voltage=%.4fV", LOG_STR_ARG(this->get_log_name()), value_v); this->publish_state(value_v); } diff --git a/esphome/components/ads1115/sensor/ads1115_sensor.cpp b/esphome/components/ads1115/sensor/ads1115_sensor.cpp index 776346171b..d2f1814297 100644 --- a/esphome/components/ads1115/sensor/ads1115_sensor.cpp +++ b/esphome/components/ads1115/sensor/ads1115_sensor.cpp @@ -13,7 +13,7 @@ float ADS1115Sensor::sample() { void ADS1115Sensor::update() { float v = this->sample(); if (!std::isnan(v)) { - ESP_LOGD(TAG, "'%s': Got Voltage=%fV", this->get_name().c_str(), v); + ESP_LOGD(TAG, "'%s': Got Voltage=%fV", LOG_STR_ARG(this->get_log_name()), v); this->publish_state(v); } } diff --git a/esphome/components/ads1118/sensor/ads1118_sensor.cpp b/esphome/components/ads1118/sensor/ads1118_sensor.cpp index 2b3d68d1f4..74d2521415 100644 --- a/esphome/components/ads1118/sensor/ads1118_sensor.cpp +++ b/esphome/components/ads1118/sensor/ads1118_sensor.cpp @@ -21,7 +21,7 @@ float ADS1118Sensor::sample() { void ADS1118Sensor::update() { float v = this->sample(); if (!std::isnan(v)) { - ESP_LOGD(TAG, "'%s': Got Voltage=%fV", this->get_name().c_str(), v); + ESP_LOGD(TAG, "'%s': Got Voltage=%fV", LOG_STR_ARG(this->get_log_name()), v); this->publish_state(v); } } diff --git a/esphome/components/am43/cover/am43_cover.cpp b/esphome/components/am43/cover/am43_cover.cpp index 6fb8c0c7eb..7fac19b50f 100644 --- a/esphome/components/am43/cover/am43_cover.cpp +++ b/esphome/components/am43/cover/am43_cover.cpp @@ -30,9 +30,9 @@ void Am43Component::loop() { auto status = esp_ble_gattc_write_char(this->parent_->get_gattc_if(), this->parent_->get_conn_id(), this->char_handle_, packet->length, packet->data, ESP_GATT_WRITE_TYPE_NO_RSP, ESP_GATT_AUTH_REQ_NONE); - ESP_LOGI(TAG, "[%s] Logging into AM43", this->get_name().c_str()); + ESP_LOGI(TAG, "[%s] Logging into AM43", LOG_STR_ARG(this->get_log_name())); if (status) { - ESP_LOGW(TAG, "[%s] Error writing set_pin to device, error = %d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] Error writing set_pin to device, error = %d", LOG_STR_ARG(this->get_log_name()), status); } else { this->logged_in_ = true; } @@ -50,7 +50,7 @@ CoverTraits Am43Component::get_traits() { void Am43Component::control(const CoverCall &call) { if (this->node_state != espbt::ClientState::ESTABLISHED) { - ESP_LOGW(TAG, "[%s] Cannot send cover control, not connected", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Cannot send cover control, not connected", LOG_STR_ARG(this->get_log_name())); return; } if (call.get_stop()) { @@ -59,7 +59,7 @@ void Am43Component::control(const CoverCall &call) { esp_ble_gattc_write_char(this->parent_->get_gattc_if(), this->parent_->get_conn_id(), this->char_handle_, packet->length, packet->data, ESP_GATT_WRITE_TYPE_NO_RSP, ESP_GATT_AUTH_REQ_NONE); if (status) { - ESP_LOGW(TAG, "[%s] Error writing stop command to device, error = %d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] Error writing stop command to device, error = %d", LOG_STR_ARG(this->get_log_name()), status); } } auto opt_pos = call.get_position(); @@ -73,7 +73,8 @@ void Am43Component::control(const CoverCall &call) { esp_ble_gattc_write_char(this->parent_->get_gattc_if(), this->parent_->get_conn_id(), this->char_handle_, packet->length, packet->data, ESP_GATT_WRITE_TYPE_NO_RSP, ESP_GATT_AUTH_REQ_NONE); if (status) { - ESP_LOGW(TAG, "[%s] Error writing set_position command to device, error = %d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] Error writing set_position command to device, error = %d", LOG_STR_ARG(this->get_log_name()), + status); } } } @@ -89,9 +90,9 @@ void Am43Component::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ auto *chr = this->parent_->get_characteristic(AM43_SERVICE_UUID, AM43_CHARACTERISTIC_UUID); if (chr == nullptr) { if (this->parent_->get_characteristic(AM43_TUYA_SERVICE_UUID, AM43_TUYA_CHARACTERISTIC_UUID) != nullptr) { - ESP_LOGE(TAG, "[%s] Detected a Tuya AM43 which is not supported, sorry.", this->get_name().c_str()); + ESP_LOGE(TAG, "[%s] Detected a Tuya AM43 which is not supported, sorry.", LOG_STR_ARG(this->get_log_name())); } else { - ESP_LOGE(TAG, "[%s] No control service found at device, not an AM43..?", this->get_name().c_str()); + ESP_LOGE(TAG, "[%s] No control service found at device, not an AM43..?", LOG_STR_ARG(this->get_log_name())); } break; } @@ -100,7 +101,8 @@ void Am43Component::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ auto status = esp_ble_gattc_register_for_notify(this->parent_->get_gattc_if(), this->parent_->get_remote_bda(), chr->handle); if (status) { - ESP_LOGW(TAG, "[%s] esp_ble_gattc_register_for_notify failed, status=%d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] esp_ble_gattc_register_for_notify failed, status=%d", LOG_STR_ARG(this->get_log_name()), + status); } break; } @@ -126,25 +128,26 @@ void Am43Component::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ if (this->decoder_->has_pin_response()) { if (this->decoder_->pin_ok_) { - ESP_LOGI(TAG, "[%s] AM43 pin accepted.", this->get_name().c_str()); + ESP_LOGI(TAG, "[%s] AM43 pin accepted.", LOG_STR_ARG(this->get_log_name())); auto *packet = this->encoder_->get_position_request(); auto status = esp_ble_gattc_write_char(this->parent_->get_gattc_if(), this->parent_->get_conn_id(), this->char_handle_, packet->length, packet->data, ESP_GATT_WRITE_TYPE_NO_RSP, ESP_GATT_AUTH_REQ_NONE); if (status) { - ESP_LOGW(TAG, "[%s] Error writing set_position to device, error = %d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] Error writing set_position to device, error = %d", LOG_STR_ARG(this->get_log_name()), + status); } } else { - ESP_LOGW(TAG, "[%s] AM43 pin rejected!", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] AM43 pin rejected!", LOG_STR_ARG(this->get_log_name())); } } if (this->decoder_->has_set_position_response() && !this->decoder_->set_position_ok_) { - ESP_LOGW(TAG, "[%s] Got nack after sending set_position. Bad pin?", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Got nack after sending set_position. Bad pin?", LOG_STR_ARG(this->get_log_name())); } if (this->decoder_->has_set_state_response() && !this->decoder_->set_state_ok_) { - ESP_LOGW(TAG, "[%s] Got nack after sending set_state. Bad pin?", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Got nack after sending set_state. Bad pin?", LOG_STR_ARG(this->get_log_name())); } break; } diff --git a/esphome/components/anova/anova.cpp b/esphome/components/anova/anova.cpp index 28e2da93e9..72a2960759 100644 --- a/esphome/components/anova/anova.cpp +++ b/esphome/components/anova/anova.cpp @@ -67,8 +67,9 @@ void Anova::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_ case ESP_GATTC_SEARCH_CMPL_EVT: { auto *chr = this->parent_->get_characteristic(ANOVA_SERVICE_UUID, ANOVA_CHARACTERISTIC_UUID); if (chr == nullptr) { - ESP_LOGW(TAG, "[%s] No control service found at device, not an Anova..?", this->get_name().c_str()); - ESP_LOGW(TAG, "[%s] Note, this component does not currently support Anova Nano.", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] No control service found at device, not an Anova..?", LOG_STR_ARG(this->get_log_name())); + ESP_LOGW(TAG, "[%s] Note, this component does not currently support Anova Nano.", + LOG_STR_ARG(this->get_log_name())); break; } this->char_handle_ = chr->handle; @@ -76,7 +77,8 @@ void Anova::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_ auto status = esp_ble_gattc_register_for_notify(this->parent_->get_gattc_if(), this->parent_->get_remote_bda(), chr->handle); if (status) { - ESP_LOGW(TAG, "[%s] esp_ble_gattc_register_for_notify failed, status=%d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] esp_ble_gattc_register_for_notify failed, status=%d", LOG_STR_ARG(this->get_log_name()), + status); } break; } diff --git a/esphome/components/aqi/aqi_sensor.cpp b/esphome/components/aqi/aqi_sensor.cpp index c242ee3913..95f798d2b3 100644 --- a/esphome/components/aqi/aqi_sensor.cpp +++ b/esphome/components/aqi/aqi_sensor.cpp @@ -30,10 +30,10 @@ void AQISensor::dump_config() { ESP_LOGCONFIG(TAG, " Extended Range: %s", this->extended_range_ ? LOG_STR_LITERAL("enabled") : LOG_STR_LITERAL("disabled")); if (this->pm_2_5_sensor_ != nullptr) { - ESP_LOGCONFIG(TAG, " PM2.5 Sensor: '%s'", this->pm_2_5_sensor_->get_name().c_str()); + ESP_LOGCONFIG(TAG, " PM2.5 Sensor: '%s'", LOG_STR_ARG(this->pm_2_5_sensor_->get_log_name())); } if (this->pm_10_0_sensor_ != nullptr) { - ESP_LOGCONFIG(TAG, " PM10 Sensor: '%s'", this->pm_10_0_sensor_->get_name().c_str()); + ESP_LOGCONFIG(TAG, " PM10 Sensor: '%s'", LOG_STR_ARG(this->pm_10_0_sensor_->get_log_name())); } LOG_SENSOR(" ", "AQI", this); } diff --git a/esphome/components/atm90e32/atm90e32.cpp b/esphome/components/atm90e32/atm90e32.cpp index 0c4f095ab5..937011c048 100644 --- a/esphome/components/atm90e32/atm90e32.cpp +++ b/esphome/components/atm90e32/atm90e32.cpp @@ -1289,7 +1289,7 @@ void ATM90E32Component::check_phase_status() { if (!status.empty()) { status.pop_back(); // remove space status.pop_back(); // remove semicolon - ESP_LOGW(TAG, "%s: %s", sensor->get_name().c_str(), status.c_str()); + ESP_LOGW(TAG, "%s: %s", LOG_STR_ARG(sensor->get_log_name()), status.c_str()); sensor->publish_state(status); } else { sensor->publish_state("Okay"); diff --git a/esphome/components/atm90e32/button/atm90e32_button.cpp b/esphome/components/atm90e32/button/atm90e32_button.cpp index 0387149521..765dd7f9f3 100644 --- a/esphome/components/atm90e32/button/atm90e32_button.cpp +++ b/esphome/components/atm90e32/button/atm90e32_button.cpp @@ -8,11 +8,12 @@ ESPHOME_LOG_TAG(TAG, "atm90e32.button"); void ATM90E32GainCalibrationButton::press_action() { if (this->parent_ == nullptr) { - ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Gain Calibration button [%s]", this->get_name().c_str()); + ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Gain Calibration button [%s]", + LOG_STR_ARG(this->get_log_name())); return; } - ESP_LOGI(TAG, "%s", this->get_name().c_str()); + ESP_LOGI(TAG, "%s", LOG_STR_ARG(this->get_log_name())); ESP_LOGI(TAG, "[CALIBRATION] Use gain_ct: & gain_voltage: under each phase_x: in your config file to save these values"); this->parent_->run_gain_calibrations(); @@ -20,21 +21,22 @@ void ATM90E32GainCalibrationButton::press_action() { void ATM90E32ClearGainCalibrationButton::press_action() { if (this->parent_ == nullptr) { - ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Clear Gain button [%s]", this->get_name().c_str()); + ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Clear Gain button [%s]", LOG_STR_ARG(this->get_log_name())); return; } - ESP_LOGI(TAG, "%s", this->get_name().c_str()); + ESP_LOGI(TAG, "%s", LOG_STR_ARG(this->get_log_name())); this->parent_->clear_gain_calibrations(); } void ATM90E32OffsetCalibrationButton::press_action() { if (this->parent_ == nullptr) { - ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Offset Calibration button [%s]", this->get_name().c_str()); + ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Offset Calibration button [%s]", + LOG_STR_ARG(this->get_log_name())); return; } - ESP_LOGI(TAG, "%s", this->get_name().c_str()); + ESP_LOGI(TAG, "%s", LOG_STR_ARG(this->get_log_name())); ESP_LOGI(TAG, "[CALIBRATION] **NOTE: CTs and ACVs must be 0 during this process. USB power only**"); ESP_LOGI(TAG, "[CALIBRATION] Use offset_voltage: & offset_current: under each phase_x: in your config file to save " "these values"); @@ -43,21 +45,22 @@ void ATM90E32OffsetCalibrationButton::press_action() { void ATM90E32ClearOffsetCalibrationButton::press_action() { if (this->parent_ == nullptr) { - ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Clear Offset button [%s]", this->get_name().c_str()); + ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Clear Offset button [%s]", LOG_STR_ARG(this->get_log_name())); return; } - ESP_LOGI(TAG, "%s", this->get_name().c_str()); + ESP_LOGI(TAG, "%s", LOG_STR_ARG(this->get_log_name())); this->parent_->clear_offset_calibrations(); } void ATM90E32PowerOffsetCalibrationButton::press_action() { if (this->parent_ == nullptr) { - ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Power Calibration button [%s]", this->get_name().c_str()); + ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Power Calibration button [%s]", + LOG_STR_ARG(this->get_log_name())); return; } - ESP_LOGI(TAG, "%s", this->get_name().c_str()); + ESP_LOGI(TAG, "%s", LOG_STR_ARG(this->get_log_name())); ESP_LOGI(TAG, "[CALIBRATION] **NOTE: CTs must be 0 during this process. Voltage reference should be present**"); ESP_LOGI(TAG, "[CALIBRATION] Use offset_active_power: & offset_reactive_power: under each phase_x: in your config " "file to save these values"); @@ -66,11 +69,11 @@ void ATM90E32PowerOffsetCalibrationButton::press_action() { void ATM90E32ClearPowerOffsetCalibrationButton::press_action() { if (this->parent_ == nullptr) { - ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Clear Power button [%s]", this->get_name().c_str()); + ESP_LOGW(TAG, "[CALIBRATION] No meters assigned to Clear Power button [%s]", LOG_STR_ARG(this->get_log_name())); return; } - ESP_LOGI(TAG, "%s", this->get_name().c_str()); + ESP_LOGI(TAG, "%s", LOG_STR_ARG(this->get_log_name())); this->parent_->clear_power_offset_calibrations(); } diff --git a/esphome/components/bedjet/climate/bedjet_climate.cpp b/esphome/components/bedjet/climate/bedjet_climate.cpp index 196d4785e9..40c26a4927 100644 --- a/esphome/components/bedjet/climate/bedjet_climate.cpp +++ b/esphome/components/bedjet/climate/bedjet_climate.cpp @@ -211,7 +211,7 @@ void BedJetClimate::control(const ClimateCall &call) { } else if (fan_mode == CLIMATE_FAN_HIGH) { result = this->parent_->set_fan_speed(75); } else { - ESP_LOGW(TAG, "[%s] Unsupported fan mode: %s", this->get_name().c_str(), + ESP_LOGW(TAG, "[%s] Unsupported fan mode: %s", LOG_STR_ARG(this->get_log_name()), LOG_STR_ARG(climate_fan_mode_to_string(fan_mode))); return; } @@ -223,7 +223,7 @@ void BedJetClimate::control(const ClimateCall &call) { auto fan_mode = call.get_custom_fan_mode(); auto fan_index = bedjet_fan_speed_to_step(fan_mode.c_str()); if (fan_index <= 19) { - ESP_LOGV(TAG, "[%s] Converted fan mode %.*s to bedjet fan step %d", this->get_name().c_str(), + ESP_LOGV(TAG, "[%s] Converted fan mode %.*s to bedjet fan step %d", LOG_STR_ARG(this->get_log_name()), (int) fan_mode.size(), fan_mode.c_str(), fan_index); bool result = this->parent_->set_fan_index(fan_index); if (result) { @@ -236,7 +236,7 @@ void BedJetClimate::control(const ClimateCall &call) { void BedJetClimate::on_bedjet_state(bool is_ready) {} void BedJetClimate::on_status(const BedjetStatusPacket *data) { - ESP_LOGV(TAG, "[%s] Handling on_status with data=%p", this->get_name().c_str(), (void *) data); + ESP_LOGV(TAG, "[%s] Handling on_status with data=%p", LOG_STR_ARG(this->get_log_name()), (void *) data); auto converted_temp = bedjet_temp_to_c(data->target_temp_step); if (converted_temp > 0) @@ -310,11 +310,11 @@ void BedJetClimate::on_status(const BedjetStatusPacket *data) { break; default: - ESP_LOGW(TAG, "[%s] Unexpected mode: 0x%02X", this->get_name().c_str(), data->mode); + ESP_LOGW(TAG, "[%s] Unexpected mode: 0x%02X", LOG_STR_ARG(this->get_log_name()), data->mode); break; } - ESP_LOGV(TAG, "[%s] After on_status, new mode=%s", this->get_name().c_str(), + ESP_LOGV(TAG, "[%s] After on_status, new mode=%s", LOG_STR_ARG(this->get_log_name()), LOG_STR_ARG(climate_mode_to_string(this->mode))); // FIXME: compare new state to previous state. this->publish_state(); @@ -351,11 +351,11 @@ bool BedJetClimate::update_status_() { } void BedJetClimate::update() { - ESP_LOGD(TAG, "[%s] update()", this->get_name().c_str()); + ESP_LOGD(TAG, "[%s] update()", LOG_STR_ARG(this->get_log_name())); // TODO: if the hub component is already polling, do we also need to include polling? // We're already going to get on_status() at the hub's polling interval. auto result = this->update_status_(); - ESP_LOGD(TAG, "[%s] update_status result=%s", this->get_name().c_str(), result ? "true" : "false"); + ESP_LOGD(TAG, "[%s] update_status result=%s", LOG_STR_ARG(this->get_log_name()), result ? "true" : "false"); } } // namespace esphome::bedjet diff --git a/esphome/components/bedjet/fan/bedjet_fan.cpp b/esphome/components/bedjet/fan/bedjet_fan.cpp index 4b1bd14ae3..1f0762e40c 100644 --- a/esphome/components/bedjet/fan/bedjet_fan.cpp +++ b/esphome/components/bedjet/fan/bedjet_fan.cpp @@ -53,7 +53,7 @@ void BedJetFan::control(const fan::FanCall &call) { } void BedJetFan::on_status(const BedjetStatusPacket *data) { - ESP_LOGVV(TAG, "[%s] Handling on_status with data=%p", this->get_name().c_str(), (void *) data); + ESP_LOGVV(TAG, "[%s] Handling on_status with data=%p", LOG_STR_ARG(this->get_log_name()), (void *) data); bool did_change = false; bool new_state = data->mode != MODE_STANDBY && data->mode != MODE_WAIT; @@ -96,11 +96,11 @@ bool BedJetFan::update_status_() { } void BedJetFan::update() { - ESP_LOGD(TAG, "[%s] update()", this->get_name().c_str()); + ESP_LOGD(TAG, "[%s] update()", LOG_STR_ARG(this->get_log_name())); // TODO: if the hub component is already polling, do we also need to include polling? // We're already going to get on_status() at the hub's polling interval. auto result = this->update_status_(); - ESP_LOGD(TAG, "[%s] update_status result=%s", this->get_name().c_str(), result ? "true" : "false"); + ESP_LOGD(TAG, "[%s] update_status result=%s", LOG_STR_ARG(this->get_log_name()), result ? "true" : "false"); } /** Resets states to defaults. */ diff --git a/esphome/components/bh1750/bh1750.cpp b/esphome/components/bh1750/bh1750.cpp index 2d9709f422..ddd56d4214 100644 --- a/esphome/components/bh1750/bh1750.cpp +++ b/esphome/components/bh1750/bh1750.cpp @@ -75,7 +75,7 @@ void BH1750Sensor::dump_config() { LOG_SENSOR("", "BH1750", this); LOG_I2C_DEVICE(this); if (this->is_failed()) { - ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, this->get_name().c_str()); + ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, LOG_STR_ARG(this->get_log_name())); } LOG_UPDATE_INTERVAL(this); @@ -154,7 +154,7 @@ void BH1750Sensor::loop() { break; } - ESP_LOGV(TAG, "'%s': Illuminance=%.1flx", this->get_name().c_str(), lx); + ESP_LOGV(TAG, "'%s': Illuminance=%.1flx", LOG_STR_ARG(this->get_log_name()), lx); this->status_clear_warning(); this->publish_state(lx); this->state_ = IDLE; diff --git a/esphome/components/binary_sensor_map/binary_sensor_map.cpp b/esphome/components/binary_sensor_map/binary_sensor_map.cpp index 4f00a85c8d..78270046e0 100644 --- a/esphome/components/binary_sensor_map/binary_sensor_map.cpp +++ b/esphome/components/binary_sensor_map/binary_sensor_map.cpp @@ -47,7 +47,7 @@ void BinarySensorMap::process_group_() { } } else if (this->last_mask_ != 0ULL) { // no buttons are pressed and the states have changed since last run, so publish NAN - ESP_LOGV(TAG, "'%s' - No binary sensor active, publishing NAN", this->name_.c_str()); + ESP_LOGV(TAG, "'%s' - No binary sensor active, publishing NAN", LOG_STR_ARG(this->get_log_name())); this->publish_state(NAN); } diff --git a/esphome/components/bl0940/bl0940.cpp b/esphome/components/bl0940/bl0940.cpp index ac1386df03..8698f1334d 100644 --- a/esphome/components/bl0940/bl0940.cpp +++ b/esphome/components/bl0940/bl0940.cpp @@ -191,7 +191,7 @@ float BL0940::update_temp_(sensor::Sensor *sensor, uint16_le_t temperature) cons if (sensor != nullptr) { if (sensor->has_state() && std::abs(converted_temp - sensor->get_state()) > max_temperature_diff_) { ESP_LOGD(TAG, "Invalid temperature change. Sensor: '%s', Old temperature: %f, New temperature: %f", - sensor->get_name().c_str(), sensor->get_state(), converted_temp); + LOG_STR_ARG(sensor->get_log_name()), sensor->get_state(), converted_temp); return 0.0f; } sensor->publish_state(converted_temp); diff --git a/esphome/components/ble_client/sensor/ble_rssi_sensor.cpp b/esphome/components/ble_client/sensor/ble_rssi_sensor.cpp index 69e7450dc2..f3f3b180fe 100644 --- a/esphome/components/ble_client/sensor/ble_rssi_sensor.cpp +++ b/esphome/components/ble_client/sensor/ble_rssi_sensor.cpp @@ -63,7 +63,7 @@ void BLEClientRSSISensor::gap_event_handler(esp_gap_ble_cb_event_t event, esp_bl void BLEClientRSSISensor::update() { if (this->node_state != espbt::ClientState::ESTABLISHED) { - ESP_LOGW(TAG, "[%s] Cannot poll, not connected", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Cannot poll, not connected", LOG_STR_ARG(this->get_log_name())); this->should_update_ = true; return; } diff --git a/esphome/components/ble_client/sensor/ble_sensor.cpp b/esphome/components/ble_client/sensor/ble_sensor.cpp index 1ddd50c307..cca77e6fd7 100644 --- a/esphome/components/ble_client/sensor/ble_sensor.cpp +++ b/esphome/components/ble_client/sensor/ble_sensor.cpp @@ -37,13 +37,13 @@ void BLESensor::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t ga switch (event) { case ESP_GATTC_OPEN_EVT: { if (param->open.status == ESP_GATT_OK) { - ESP_LOGI(TAG, "[%s] Connected successfully!", this->get_name().c_str()); + ESP_LOGI(TAG, "[%s] Connected successfully!", LOG_STR_ARG(this->get_log_name())); break; } break; } case ESP_GATTC_CLOSE_EVT: { - ESP_LOGW(TAG, "[%s] Disconnected!", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Disconnected!", LOG_STR_ARG(this->get_log_name())); this->status_set_warning(); this->publish_state(NAN); break; @@ -102,10 +102,10 @@ void BLESensor::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t ga } case ESP_GATTC_NOTIFY_EVT: { if (param->notify.value_len == 0) { - ESP_LOGW(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: empty value", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: empty value", LOG_STR_ARG(this->get_log_name())); break; } - ESP_LOGD(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: handle=0x%x, value=0x%x", this->get_name().c_str(), + ESP_LOGD(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: handle=0x%x, value=0x%x", LOG_STR_ARG(this->get_log_name()), param->notify.handle, param->notify.value[0]); if (param->notify.handle != this->handle) break; @@ -143,11 +143,11 @@ float BLESensor::parse_data_(uint8_t *value, uint16_t value_len) { void BLESensor::update() { if (this->node_state != espbt::ClientState::ESTABLISHED) { - ESP_LOGW(TAG, "[%s] Cannot poll, not connected", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Cannot poll, not connected", LOG_STR_ARG(this->get_log_name())); return; } if (this->handle == 0) { - ESP_LOGW(TAG, "[%s] Cannot poll, no service or characteristic found", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Cannot poll, no service or characteristic found", LOG_STR_ARG(this->get_log_name())); return; } @@ -156,7 +156,7 @@ void BLESensor::update() { if (status) { this->status_set_warning(); this->publish_state(NAN); - ESP_LOGW(TAG, "[%s] Error sending read request for sensor, status=%d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] Error sending read request for sensor, status=%d", LOG_STR_ARG(this->get_log_name()), status); } } diff --git a/esphome/components/ble_client/text_sensor/ble_text_sensor.cpp b/esphome/components/ble_client/text_sensor/ble_text_sensor.cpp index f6df7b4336..c82822d429 100644 --- a/esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +++ b/esphome/components/ble_client/text_sensor/ble_text_sensor.cpp @@ -38,7 +38,7 @@ void BLETextSensor::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ switch (event) { case ESP_GATTC_OPEN_EVT: { if (param->open.status == ESP_GATT_OK) { - ESP_LOGI(TAG, "[%s] Connected successfully!", this->get_name().c_str()); + ESP_LOGI(TAG, "[%s] Connected successfully!", LOG_STR_ARG(this->get_log_name())); break; } break; @@ -104,10 +104,10 @@ void BLETextSensor::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ if (param->notify.handle != this->handle) break; if (param->notify.value_len == 0) { - ESP_LOGW(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: empty value", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: empty value", LOG_STR_ARG(this->get_log_name())); break; } - ESP_LOGV(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: handle=0x%x, value=0x%x", this->get_name().c_str(), + ESP_LOGV(TAG, "[%s] ESP_GATTC_NOTIFY_EVT: handle=0x%x, value=0x%x", LOG_STR_ARG(this->get_log_name()), param->notify.handle, param->notify.value[0]); this->publish_state(reinterpret_cast(param->notify.value), param->notify.value_len); break; @@ -124,11 +124,11 @@ void BLETextSensor::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ void BLETextSensor::update() { if (this->node_state != espbt::ClientState::ESTABLISHED) { - ESP_LOGW(TAG, "[%s] Cannot poll, not connected", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Cannot poll, not connected", LOG_STR_ARG(this->get_log_name())); return; } if (this->handle == 0) { - ESP_LOGW(TAG, "[%s] Cannot poll, no service or characteristic found", this->get_name().c_str()); + ESP_LOGW(TAG, "[%s] Cannot poll, no service or characteristic found", LOG_STR_ARG(this->get_log_name())); return; } @@ -137,7 +137,7 @@ void BLETextSensor::update() { if (status) { this->status_set_warning(); this->publish_state(""); - ESP_LOGW(TAG, "[%s] Error sending read request for sensor, status=%d", this->get_name().c_str(), status); + ESP_LOGW(TAG, "[%s] Error sending read request for sensor, status=%d", LOG_STR_ARG(this->get_log_name()), status); } } diff --git a/esphome/components/combination/combination.cpp b/esphome/components/combination/combination.cpp index 0488fbb6ab..dcdabec8a2 100644 --- a/esphome/components/combination/combination.cpp +++ b/esphome/components/combination/combination.cpp @@ -30,14 +30,14 @@ void CombinationOneParameterComponent::add_source(Sensor *sensor, float value) { void CombinationNoParameterComponent::log_source_sensors() { ESP_LOGCONFIG(TAG, " Source Sensors:"); for (const auto &sensor : this->sensors_) { - ESP_LOGCONFIG(TAG, " - %s", sensor->get_name().c_str()); + ESP_LOGCONFIG(TAG, " - %s", LOG_STR_ARG(sensor->get_log_name())); } } void CombinationOneParameterComponent::log_source_sensors() { ESP_LOGCONFIG(TAG, " Source Sensors:"); for (const auto &source : this->sensor_sources_) { - ESP_LOGCONFIG(TAG, " - %s", source.sensor->get_name().c_str()); + ESP_LOGCONFIG(TAG, " - %s", LOG_STR_ARG(source.sensor->get_log_name())); } } diff --git a/esphome/components/ct_clamp/ct_clamp_sensor.cpp b/esphome/components/ct_clamp/ct_clamp_sensor.cpp index 6488c468c3..4c50c5ad04 100644 --- a/esphome/components/ct_clamp/ct_clamp_sensor.cpp +++ b/esphome/components/ct_clamp/ct_clamp_sensor.cpp @@ -40,7 +40,8 @@ void CTClampSensor::update() { if (rms_ac_squared > 0) rms_ac = std::sqrt(rms_ac_squared); ESP_LOGD(TAG, "'%s' - Raw AC Value: %.3fA after %" PRIu32 " different samples (%" PRIu32 " SPS)", - this->name_.c_str(), rms_ac, this->num_samples_, 1000 * this->num_samples_ / this->sample_duration_); + LOG_STR_ARG(this->get_log_name()), rms_ac, this->num_samples_, + 1000 * this->num_samples_ / this->sample_duration_); this->publish_state(rms_ac); }); diff --git a/esphome/components/current_based/current_based_cover.cpp b/esphome/components/current_based/current_based_cover.cpp index 0474397571..0c8e435fa2 100644 --- a/esphome/components/current_based/current_based_cover.cpp +++ b/esphome/components/current_based/current_based_cover.cpp @@ -70,20 +70,20 @@ void CurrentBasedCover::loop() { this->direction_idle_(); this->malfunction_trigger_.trigger(); ESP_LOGI(TAG, "'%s' - Malfunction detected during opening. Current flow detected in close circuit", - this->name_.c_str()); + LOG_STR_ARG(this->get_log_name())); } else if (this->is_opening_blocked_()) { // Blocked - ESP_LOGD(TAG, "'%s' - Obstacle detected during opening.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Obstacle detected during opening.", LOG_STR_ARG(this->get_log_name())); this->direction_idle_(); if (this->obstacle_rollback_ != 0) { this->set_timeout(ROLLBACK_TIMEOUT_ID, 300, [this]() { - ESP_LOGD(TAG, "'%s' - Rollback.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Rollback.", LOG_STR_ARG(this->get_log_name())); this->target_position_ = clamp(this->position - this->obstacle_rollback_, 0.0F, 1.0F); this->start_direction_(COVER_OPERATION_CLOSING); }); } } else if (this->is_initial_delay_finished_() && !this->is_opening_()) { // End reached auto dur = (now - this->start_dir_time_) / 1e3f; - ESP_LOGD(TAG, "'%s' - Open position reached. Took %.1fs.", this->name_.c_str(), dur); + ESP_LOGD(TAG, "'%s' - Open position reached. Took %.1fs.", LOG_STR_ARG(this->get_log_name()), dur); this->direction_idle_(COVER_OPEN); } } else if (this->current_operation == COVER_OPERATION_CLOSING) { @@ -91,25 +91,25 @@ void CurrentBasedCover::loop() { this->direction_idle_(); this->malfunction_trigger_.trigger(); ESP_LOGI(TAG, "'%s' - Malfunction detected during closing. Current flow detected in open circuit", - this->name_.c_str()); + LOG_STR_ARG(this->get_log_name())); } else if (this->is_closing_blocked_()) { // Blocked - ESP_LOGD(TAG, "'%s' - Obstacle detected during closing.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Obstacle detected during closing.", LOG_STR_ARG(this->get_log_name())); this->direction_idle_(); if (this->obstacle_rollback_ != 0) { this->set_timeout(ROLLBACK_TIMEOUT_ID, 300, [this]() { - ESP_LOGD(TAG, "'%s' - Rollback.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Rollback.", LOG_STR_ARG(this->get_log_name())); this->target_position_ = clamp(this->position + this->obstacle_rollback_, 0.0F, 1.0F); this->start_direction_(COVER_OPERATION_OPENING); }); } } else if (this->is_initial_delay_finished_() && !this->is_closing_()) { // End reached auto dur = (now - this->start_dir_time_) / 1e3f; - ESP_LOGD(TAG, "'%s' - Close position reached. Took %.1fs.", this->name_.c_str(), dur); + ESP_LOGD(TAG, "'%s' - Close position reached. Took %.1fs.", LOG_STR_ARG(this->get_log_name()), dur); this->direction_idle_(COVER_CLOSED); } } if (now - this->start_dir_time_ > this->max_duration_) { - ESP_LOGD(TAG, "'%s' - Max duration reached. Stopping cover.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Max duration reached. Stopping cover.", LOG_STR_ARG(this->get_log_name())); this->direction_idle_(); } diff --git a/esphome/components/dallas_temp/dallas_temp.cpp b/esphome/components/dallas_temp/dallas_temp.cpp index 45101e4981..c2c8336d1f 100644 --- a/esphome/components/dallas_temp/dallas_temp.cpp +++ b/esphome/components/dallas_temp/dallas_temp.cpp @@ -53,7 +53,7 @@ void DallasTemperatureSensor::update() { } float tempc = this->get_temp_c_(); - ESP_LOGD(TAG, "'%s': Got Temperature=%f°C", this->get_name().c_str(), tempc); + ESP_LOGD(TAG, "'%s': Got Temperature=%f°C", LOG_STR_ARG(this->get_log_name()), tempc); this->publish_state(tempc); }); } @@ -65,7 +65,7 @@ bool DallasTemperatureSensor::read_scratch_pad_() { i = this->bus_->read8(); } } else { - ESP_LOGW(TAG, "'%s' - reading scratch pad failed bus reset", this->get_name().c_str()); + ESP_LOGW(TAG, "'%s' - reading scratch pad failed bus reset", LOG_STR_ARG(this->get_log_name())); this->status_set_warning(LOG_STR("bus reset failed")); } return success; diff --git a/esphome/components/dew_point/dew_point.cpp b/esphome/components/dew_point/dew_point.cpp index 7012bcbb75..6c6a852334 100644 --- a/esphome/components/dew_point/dew_point.cpp +++ b/esphome/components/dew_point/dew_point.cpp @@ -36,7 +36,8 @@ void DewPointComponent::dump_config() { "Sources\n" " Temperature: '%s'\n" " Humidity: '%s'", - this->temperature_sensor_->get_name().c_str(), this->humidity_sensor_->get_name().c_str()); + LOG_STR_ARG(this->temperature_sensor_->get_log_name()), + LOG_STR_ARG(this->humidity_sensor_->get_log_name())); } float DewPointComponent::get_setup_priority() const { return setup_priority::DATA; } @@ -75,8 +76,8 @@ void DewPointComponent::loop() { // Publish the calculated dew point this->publish_state(dew_point); - ESP_LOGD(TAG, "'%s' >> %.1f°C (T: %.1f°C, RH: %.1f%%)", this->get_name().c_str(), dew_point, this->temperature_value_, - this->humidity_value_); + ESP_LOGD(TAG, "'%s' >> %.1f°C (T: %.1f°C, RH: %.1f%%)", LOG_STR_ARG(this->get_log_name()), dew_point, + this->temperature_value_, this->humidity_value_); } } // namespace esphome::dew_point diff --git a/esphome/components/duty_cycle/duty_cycle_sensor.cpp b/esphome/components/duty_cycle/duty_cycle_sensor.cpp index 69a41eb548..9c986192b1 100644 --- a/esphome/components/duty_cycle/duty_cycle_sensor.cpp +++ b/esphome/components/duty_cycle/duty_cycle_sensor.cpp @@ -36,7 +36,7 @@ void DutyCycleSensor::update() { const float total_time = float(now - this->last_update_); const float value = (on_time * 100.0f) / total_time; - ESP_LOGD(TAG, "'%s' Got duty cycle=%.1f%%", this->get_name().c_str(), value); + ESP_LOGD(TAG, "'%s' Got duty cycle=%.1f%%", LOG_STR_ARG(this->get_log_name()), value); this->publish_state(value); } this->last_update_ = now; diff --git a/esphome/components/endstop/endstop_cover.cpp b/esphome/components/endstop/endstop_cover.cpp index 25b5b54209..991f0d8f66 100644 --- a/esphome/components/endstop/endstop_cover.cpp +++ b/esphome/components/endstop/endstop_cover.cpp @@ -70,20 +70,20 @@ void EndstopCover::loop() { if (this->current_operation == COVER_OPERATION_OPENING && this->is_open_()) { float dur = (now - this->start_dir_time_) / 1e3f; - ESP_LOGD(TAG, "'%s' - Open endstop reached. Took %.1fs.", this->name_.c_str(), dur); + ESP_LOGD(TAG, "'%s' - Open endstop reached. Took %.1fs.", LOG_STR_ARG(this->get_log_name()), dur); this->start_direction_(COVER_OPERATION_IDLE); this->position = COVER_OPEN; this->publish_state(); } else if (this->current_operation == COVER_OPERATION_CLOSING && this->is_closed_()) { float dur = (now - this->start_dir_time_) / 1e3f; - ESP_LOGD(TAG, "'%s' - Close endstop reached. Took %.1fs.", this->name_.c_str(), dur); + ESP_LOGD(TAG, "'%s' - Close endstop reached. Took %.1fs.", LOG_STR_ARG(this->get_log_name()), dur); this->start_direction_(COVER_OPERATION_IDLE); this->position = COVER_CLOSED; this->publish_state(); } else if (now - this->start_dir_time_ > this->max_duration_) { - ESP_LOGD(TAG, "'%s' - Max duration reached. Stopping cover.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Max duration reached. Stopping cover.", LOG_STR_ARG(this->get_log_name())); this->start_direction_(COVER_OPERATION_IDLE); this->publish_state(); } diff --git a/esphome/components/esp32_camera/esp32_camera.cpp b/esphome/components/esp32_camera/esp32_camera.cpp index ef29fc9b25..b14d76b904 100644 --- a/esphome/components/esp32_camera/esp32_camera.cpp +++ b/esphome/components/esp32_camera/esp32_camera.cpp @@ -132,9 +132,9 @@ void ESP32Camera::dump_config() { " External Clock: Pin:%d Frequency:%u\n" " I2C Pins: SDA:%d SCL:%d\n" " Reset Pin: %d", - this->name_.c_str(), YESNO(this->is_internal()), conf.pin_d0, conf.pin_d1, conf.pin_d2, conf.pin_d3, - conf.pin_d4, conf.pin_d5, conf.pin_d6, conf.pin_d7, conf.pin_vsync, conf.pin_href, conf.pin_pclk, - conf.pin_xclk, conf.xclk_freq_hz, conf.pin_sccb_sda, conf.pin_sccb_scl, conf.pin_reset); + LOG_STR_ARG(this->get_log_name()), YESNO(this->is_internal()), conf.pin_d0, conf.pin_d1, conf.pin_d2, + conf.pin_d3, conf.pin_d4, conf.pin_d5, conf.pin_d6, conf.pin_d7, conf.pin_vsync, conf.pin_href, + conf.pin_pclk, conf.pin_xclk, conf.xclk_freq_hz, conf.pin_sccb_sda, conf.pin_sccb_scl, conf.pin_reset); ESP_LOGCONFIG(TAG, " Resolution: %s", frame_size_to_str(this->config_.frame_size)); ESP_LOGCONFIG(TAG, " Pixel Format: %s", pixel_format_to_str(this->config_.pixel_format)); diff --git a/esphome/components/esp32_touch/esp32_touch.cpp b/esphome/components/esp32_touch/esp32_touch.cpp index ed7d0bd7cb..2de201ccf7 100644 --- a/esphome/components/esp32_touch/esp32_touch.cpp +++ b/esphome/components/esp32_touch/esp32_touch.cpp @@ -346,13 +346,13 @@ void ESP32TouchComponent::loop() { child->publish_state(new_state); #ifdef USE_ESP32_VARIANT_ESP32 ESP_LOGV(TAG, "Touch Pad '%s' state: %s (value: %" PRIu32 ", threshold: %" PRIu32 ")", - child->get_name().c_str(), ONOFF(new_state), value, child->get_threshold()); + LOG_STR_ARG(child->get_log_name()), ONOFF(new_state), value, child->get_threshold()); #else if (new_state) { ESP_LOGV(TAG, "Touch Pad '%s' state: ON (value: %" PRIu32 ", benchmark: %" PRIu32 ", threshold: %" PRIu32 ")", - child->get_name().c_str(), value, benchmark, child->get_threshold()); + LOG_STR_ARG(child->get_log_name()), value, benchmark, child->get_threshold()); } else { - ESP_LOGV(TAG, "Touch Pad '%s' state: OFF", child->get_name().c_str()); + ESP_LOGV(TAG, "Touch Pad '%s' state: OFF", LOG_STR_ARG(child->get_log_name())); } #endif } @@ -475,7 +475,8 @@ void ESP32TouchComponent::process_setup_mode_logging_(uint32_t now) { child->value_ = smooth_value; #ifdef USE_ESP32_VARIANT_ESP32 - ESP_LOGD(TAG, "Touch Pad '%s' (Ch%d): %" PRIu32, child->get_name().c_str(), child->channel_id_, smooth_value); + ESP_LOGD(TAG, "Touch Pad '%s' (Ch%d): %" PRIu32, LOG_STR_ARG(child->get_log_name()), child->channel_id_, + smooth_value); #else uint32_t benchmark = 0; touch_channel_read_data(child->chan_handle_, TOUCH_CHAN_DATA_TYPE_BENCHMARK, &benchmark); @@ -484,7 +485,7 @@ void ESP32TouchComponent::process_setup_mode_logging_(uint32_t now) { ESP_LOGD(TAG, "Touch Pad '%s' (Ch%d): value=%" PRIu32 ", benchmark=%" PRIu32 ", difference=%" PRId32 " (set threshold < %" PRId32 " to detect touch)", - child->get_name().c_str(), child->channel_id_, smooth_value, benchmark, difference, difference); + LOG_STR_ARG(child->get_log_name()), child->channel_id_, smooth_value, benchmark, difference, difference); #endif } this->setup_mode_last_log_print_ = now; @@ -496,7 +497,7 @@ void ESP32TouchComponent::publish_initial_state_if_needed_(ESP32TouchBinarySenso if (now > INITIAL_STATE_DELAY_MS) { child->publish_initial_state(false); child->initial_state_published_ = true; - ESP_LOGV(TAG, "Touch Pad '%s' state: OFF (initial)", child->get_name().c_str()); + ESP_LOGV(TAG, "Touch Pad '%s' state: OFF (initial)", LOG_STR_ARG(child->get_log_name())); } } } diff --git a/esphome/components/feedback/feedback_cover.cpp b/esphome/components/feedback/feedback_cover.cpp index 8fa56bd370..d59c3d1e74 100644 --- a/esphome/components/feedback/feedback_cover.cpp +++ b/esphome/components/feedback/feedback_cover.cpp @@ -98,7 +98,7 @@ void FeedbackCover::set_open_sensor(binary_sensor::BinarySensor *open_feedback) // setup callbacks to react to sensor changes open_feedback->add_on_state_callback([this](bool state) { - ESP_LOGD(TAG, "'%s' - Open feedback '%s'.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - Open feedback '%s'.", LOG_STR_ARG(this->get_log_name()), state ? LOG_STR_LITERAL("STARTED") : LOG_STR_LITERAL("ENDED")); this->recompute_position_(); if (!state && this->infer_endstop_ && this->current_trigger_operation_ == COVER_OPERATION_OPENING) { @@ -112,7 +112,7 @@ void FeedbackCover::set_close_sensor(binary_sensor::BinarySensor *close_feedback this->close_feedback_ = close_feedback; close_feedback->add_on_state_callback([this](bool state) { - ESP_LOGD(TAG, "'%s' - Close feedback '%s'.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - Close feedback '%s'.", LOG_STR_ARG(this->get_log_name()), state ? LOG_STR_LITERAL("STARTED") : LOG_STR_LITERAL("ENDED")); this->recompute_position_(); if (!state && this->infer_endstop_ && this->current_trigger_operation_ == COVER_OPERATION_CLOSING) { @@ -151,7 +151,7 @@ void FeedbackCover::endstop_reached_(bool open_endstop) { // from a position slightly past the endpoint if (this->current_trigger_operation_ == (open_endstop ? COVER_OPERATION_OPENING : COVER_OPERATION_CLOSING)) { float dur = (now - this->start_dir_time_) / 1e3f; - ESP_LOGD(TAG, "'%s' - %s endstop reached. Took %.1fs.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - %s endstop reached. Took %.1fs.", LOG_STR_ARG(this->get_log_name()), open_endstop ? LOG_STR_LITERAL("Open") : LOG_STR_LITERAL("Close"), dur); // if there is no external mechanism, stop the cover @@ -198,7 +198,7 @@ void FeedbackCover::set_close_obstacle_sensor(binary_sensor::BinarySensor *close close_obstacle->add_on_state_callback([this](bool state) { if (state && (this->current_operation == COVER_OPERATION_CLOSING || this->current_trigger_operation_ == COVER_OPERATION_CLOSING)) { - ESP_LOGD(TAG, "'%s' - Close obstacle detected.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Close obstacle detected.", LOG_STR_ARG(this->get_log_name())); this->start_direction_(COVER_OPERATION_IDLE); if (this->obstacle_rollback_) { @@ -215,7 +215,7 @@ void FeedbackCover::set_open_obstacle_sensor(binary_sensor::BinarySensor *open_o open_obstacle->add_on_state_callback([this](bool state) { if (state && (this->current_operation == COVER_OPERATION_OPENING || this->current_trigger_operation_ == COVER_OPERATION_OPENING)) { - ESP_LOGD(TAG, "'%s' - Open obstacle detected.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Open obstacle detected.", LOG_STR_ARG(this->get_log_name())); this->start_direction_(COVER_OPERATION_IDLE); if (this->obstacle_rollback_) { @@ -251,7 +251,7 @@ void FeedbackCover::loop() { this->start_overshoot_time_ = now; } else if (now - this->start_overshoot_time_ > this->overshoot_duration_ || now - this->start_dir_time_ > this->max_duration_) { - ESP_LOGD(TAG, "'%s' - Overshoot duration reached. Stopping cover.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Overshoot duration reached. Stopping cover.", LOG_STR_ARG(this->get_log_name())); this->start_direction_(COVER_OPERATION_IDLE); } #endif @@ -259,7 +259,7 @@ void FeedbackCover::loop() { this->start_direction_(COVER_OPERATION_IDLE); } } else if (now - this->start_dir_time_ > this->max_duration_) { - ESP_LOGD(TAG, "'%s' - Max duration reached. Stopping cover.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Max duration reached. Stopping cover.", LOG_STR_ARG(this->get_log_name())); this->start_direction_(COVER_OPERATION_IDLE); } } @@ -390,7 +390,7 @@ void FeedbackCover::start_direction_(CoverOperation dir) { // check if there is an obstacle to start the new operation -> abort without any change // the case when an obstacle appears while moving is handled in the callback if (obstacle != nullptr && obstacle->state) { - ESP_LOGD(TAG, "'%s' - %s obstacle detected. Action not started.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - %s obstacle detected. Action not started.", LOG_STR_ARG(this->get_log_name()), dir == COVER_OPERATION_OPENING ? LOG_STR_LITERAL("Open") : LOG_STR_LITERAL("Close")); return; } @@ -401,13 +401,13 @@ void FeedbackCover::start_direction_(CoverOperation dir) { if (this->direction_change_waittime_.has_value() && dir != COVER_OPERATION_IDLE && this->current_operation != COVER_OPERATION_IDLE && dir != this->current_operation) { const uint32_t waittime = *this->direction_change_waittime_; - ESP_LOGD(TAG, "'%s' - Reversing direction.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Reversing direction.", LOG_STR_ARG(this->get_log_name())); this->start_direction_(COVER_OPERATION_IDLE); this->set_timeout(DIRECTION_CHANGE_TIMEOUT_ID, waittime, [this, dir]() { this->start_direction_(dir); }); } else { this->set_current_operation_(dir, true); this->prev_command_trigger_ = trig; - ESP_LOGD(TAG, "'%s' - Firing '%s' trigger.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - Firing '%s' trigger.", LOG_STR_ARG(this->get_log_name()), dir == COVER_OPERATION_OPENING ? LOG_STR_LITERAL("OPEN") : dir == COVER_OPERATION_CLOSING ? LOG_STR_LITERAL("CLOSE") : LOG_STR_LITERAL("STOP")); diff --git a/esphome/components/gpio/switch/gpio_switch.cpp b/esphome/components/gpio/switch/gpio_switch.cpp index 68086d9466..4626916606 100644 --- a/esphome/components/gpio/switch/gpio_switch.cpp +++ b/esphome/components/gpio/switch/gpio_switch.cpp @@ -28,7 +28,7 @@ void GPIOSwitch::dump_config() { for (auto *lock : this->interlock_) { if (lock == this) continue; - ESP_LOGCONFIG(TAG, " %s", lock->get_name().c_str()); + ESP_LOGCONFIG(TAG, " %s", LOG_STR_ARG(lock->get_log_name())); } } #endif diff --git a/esphome/components/he60r/he60r.cpp b/esphome/components/he60r/he60r.cpp index 7c67c5ffd3..3e9aa3c8e6 100644 --- a/esphome/components/he60r/he60r.cpp +++ b/esphome/components/he60r/he60r.cpp @@ -58,7 +58,7 @@ void HE60rCover::endstop_reached_(CoverOperation operation) { this->current_operation = COVER_OPERATION_IDLE; if (this->last_command_ == operation) { float dur = (float) (now - this->start_dir_time_) / 1e3f; - ESP_LOGD(TAG, "'%s' - %s endstop reached. Took %.1fs.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - %s endstop reached. Took %.1fs.", LOG_STR_ARG(this->get_log_name()), operation == COVER_OPERATION_OPENING ? LOG_STR_LITERAL("Open") : LOG_STR_LITERAL("Close"), dur); } this->publish_state(); @@ -213,7 +213,7 @@ void HE60rCover::start_direction_(CoverOperation dir) { this->last_command_ = dir; if (this->current_operation == dir) return; - ESP_LOGD(TAG, "'%s' - Direction '%s' requested.", this->name_.c_str(), + ESP_LOGD(TAG, "'%s' - Direction '%s' requested.", LOG_STR_ARG(this->get_log_name()), dir == COVER_OPERATION_OPENING ? LOG_STR_LITERAL("OPEN") : dir == COVER_OPERATION_CLOSING ? LOG_STR_LITERAL("CLOSE") : LOG_STR_LITERAL("STOP")); @@ -229,7 +229,7 @@ void HE60rCover::start_direction_(CoverOperation dir) { // just stop and reverse this->toggles_needed_ = 2; } - ESP_LOGD(TAG, "'%s' - Reversing direction.", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Reversing direction.", LOG_STR_ARG(this->get_log_name())); } this->start_dir_time_ = millis(); } diff --git a/esphome/components/homeassistant/button/homeassistant_button.cpp b/esphome/components/homeassistant/button/homeassistant_button.cpp index 6cf1c87eaa..85ed0c42e9 100644 --- a/esphome/components/homeassistant/button/homeassistant_button.cpp +++ b/esphome/components/homeassistant/button/homeassistant_button.cpp @@ -26,7 +26,7 @@ void HomeassistantButton::press_action() { #ifdef USE_API_WIZARD_LINKED_INPUTS if (this->entity_id_[0] == '\0') { - ESP_LOGW(TAG, "'%s': No entity ID set yet", this->get_name().c_str()); + ESP_LOGW(TAG, "'%s': No entity ID set yet", LOG_STR_ARG(this->get_log_name())); return; } #endif diff --git a/esphome/components/homeassistant/number/homeassistant_number.cpp b/esphome/components/homeassistant/number/homeassistant_number.cpp index df92aad38e..fabe2d8736 100644 --- a/esphome/components/homeassistant/number/homeassistant_number.cpp +++ b/esphome/components/homeassistant/number/homeassistant_number.cpp @@ -31,7 +31,7 @@ void HomeassistantNumber::min_retrieved_(StringRef min) { ESP_LOGE(TAG, "'%s': Can't convert 'min' value '%s' to number!", this->entity_id_, min.c_str()); return; } - ESP_LOGD(TAG, "'%s': Min retrieved: %s", get_name().c_str(), min.c_str()); + ESP_LOGD(TAG, "'%s': Min retrieved: %s", LOG_STR_ARG(this->get_log_name()), min.c_str()); this->traits.set_min_value(min_value.value()); } @@ -41,7 +41,7 @@ void HomeassistantNumber::max_retrieved_(StringRef max) { ESP_LOGE(TAG, "'%s': Can't convert 'max' value '%s' to number!", this->entity_id_, max.c_str()); return; } - ESP_LOGD(TAG, "'%s': Max retrieved: %s", get_name().c_str(), max.c_str()); + ESP_LOGD(TAG, "'%s': Max retrieved: %s", LOG_STR_ARG(this->get_log_name()), max.c_str()); this->traits.set_max_value(max_value.value()); } @@ -51,7 +51,7 @@ void HomeassistantNumber::step_retrieved_(StringRef step) { ESP_LOGE(TAG, "'%s': Can't convert 'step' value '%s' to number!", this->entity_id_, step.c_str()); return; } - ESP_LOGD(TAG, "'%s': Step Retrieved %s", get_name().c_str(), step.c_str()); + ESP_LOGD(TAG, "'%s': Step Retrieved %s", LOG_STR_ARG(this->get_log_name()), step.c_str()); this->traits.set_step(step_value.value()); } @@ -82,7 +82,7 @@ void HomeassistantNumber::control(float value) { #ifdef USE_API_WIZARD_LINKED_INPUTS if (this->entity_id_[0] == '\0') { - ESP_LOGW(TAG, "'%s': No entity ID set yet", this->get_name().c_str()); + ESP_LOGW(TAG, "'%s': No entity ID set yet", LOG_STR_ARG(this->get_log_name())); return; } #endif diff --git a/esphome/components/homeassistant/select/homeassistant_select.cpp b/esphome/components/homeassistant/select/homeassistant_select.cpp index 189a6b1f37..f8e658ac8f 100644 --- a/esphome/components/homeassistant/select/homeassistant_select.cpp +++ b/esphome/components/homeassistant/select/homeassistant_select.cpp @@ -232,7 +232,7 @@ void HomeassistantSelect::control(size_t index) { #ifdef USE_API_WIZARD_LINKED_INPUTS if (this->entity_id_[0] == '\0') { - ESP_LOGW(TAG, "'%s': No entity ID set yet", this->get_name().c_str()); + ESP_LOGW(TAG, "'%s': No entity ID set yet", LOG_STR_ARG(this->get_log_name())); return; } #endif diff --git a/esphome/components/homeassistant/switch/homeassistant_switch.cpp b/esphome/components/homeassistant/switch/homeassistant_switch.cpp index 841f16df20..584573d881 100644 --- a/esphome/components/homeassistant/switch/homeassistant_switch.cpp +++ b/esphome/components/homeassistant/switch/homeassistant_switch.cpp @@ -42,7 +42,7 @@ void HomeassistantSwitch::write_state(bool state) { #ifdef USE_API_WIZARD_LINKED_INPUTS if (this->entity_id_[0] == '\0') { - ESP_LOGW(TAG, "'%s': No entity ID set yet", this->get_name().c_str()); + ESP_LOGW(TAG, "'%s': No entity ID set yet", LOG_STR_ARG(this->get_log_name())); return; } #endif diff --git a/esphome/components/homeassistant/text/homeassistant_text.cpp b/esphome/components/homeassistant/text/homeassistant_text.cpp index 7155f6ee18..6c006224dc 100644 --- a/esphome/components/homeassistant/text/homeassistant_text.cpp +++ b/esphome/components/homeassistant/text/homeassistant_text.cpp @@ -81,7 +81,7 @@ void HomeassistantText::control(const std::string &value) { #ifdef USE_API_WIZARD_LINKED_INPUTS if (this->entity_id_[0] == '\0') { - ESP_LOGW(TAG, "'%s': No entity ID set yet", this->get_name().c_str()); + ESP_LOGW(TAG, "'%s': No entity ID set yet", LOG_STR_ARG(this->get_log_name())); return; } #endif diff --git a/esphome/components/hx711/hx711.cpp b/esphome/components/hx711/hx711.cpp index 48afc0192d..bccafa29b8 100644 --- a/esphome/components/hx711/hx711.cpp +++ b/esphome/components/hx711/hx711.cpp @@ -25,7 +25,7 @@ void HX711Sensor::update() { uint32_t result; if (this->read_sensor_(&result)) { int32_t value = static_cast(result); - ESP_LOGD(TAG, "'%s': Got value %" PRId32, this->name_.c_str(), value); + ESP_LOGD(TAG, "'%s': Got value %" PRId32, LOG_STR_ARG(this->get_log_name()), value); this->publish_state(value); } } diff --git a/esphome/components/ir_rf_base/ir_rf_base.cpp b/esphome/components/ir_rf_base/ir_rf_base.cpp index 91db4252c0..4bfdc7b7ef 100644 --- a/esphome/components/ir_rf_base/ir_rf_base.cpp +++ b/esphome/components/ir_rf_base/ir_rf_base.cpp @@ -143,7 +143,7 @@ bool IrRfEntity::expect_api_reply_(api::APIConnection *conn) { if (this->api_reply_ == ApiReply::API_REPLY_WAITING) this->finish_api_reply_(false); if (this->api_reply_ != ApiReply::API_REPLY_NONE && !this->send_api_reply_()) { - ESP_LOGW(TAG, "'%s': transmit %s", this->get_name().c_str(), LOG_STR_LITERAL("refused, reply still owed")); + ESP_LOGW(TAG, "'%s': transmit %s", LOG_STR_ARG(this->get_log_name()), LOG_STR_LITERAL("refused, reply still owed")); this->refuse_api_call_(conn); return false; } @@ -198,13 +198,14 @@ void IrRfEntity::loop() { if (this->api_reply_ != ApiReply::API_REPLY_WAITING) { if (this->send_api_reply_() || remaining > 0) return; - ESP_LOGW(TAG, "'%s': transmit %s", this->get_name().c_str(), LOG_STR_LITERAL("reply dropped, client not reading")); + ESP_LOGW(TAG, "'%s': transmit %s", LOG_STR_ARG(this->get_log_name()), + LOG_STR_LITERAL("reply dropped, client not reading")); this->clear_api_reply_(); return; } if (remaining > 0) return; - ESP_LOGW(TAG, "'%s': transmit %s", this->get_name().c_str(), LOG_STR_LITERAL("never reported completion")); + ESP_LOGW(TAG, "'%s': transmit %s", LOG_STR_ARG(this->get_log_name()), LOG_STR_LITERAL("never reported completion")); this->finish_api_reply_(false); } diff --git a/esphome/components/ir_rf_proxy/ir_rf_proxy.cpp b/esphome/components/ir_rf_proxy/ir_rf_proxy.cpp index 0eae11d1a5..c88f131591 100644 --- a/esphome/components/ir_rf_proxy/ir_rf_proxy.cpp +++ b/esphome/components/ir_rf_proxy/ir_rf_proxy.cpp @@ -17,7 +17,7 @@ void IrRfProxy::dump_config() { "IR Proxy '%s'\n" " Supports Transmitter: %s\n" " Supports Receiver: %s", - this->get_name().c_str(), YESNO(this->get_supports_transmitter()), + LOG_STR_ARG(this->get_log_name()), YESNO(this->get_supports_transmitter()), YESNO(this->get_supports_receiver())); if (this->is_rf()) { @@ -44,7 +44,7 @@ void RfProxy::dump_config() { "RF Proxy '%s'\n" " Supports Transmitter: %s\n" " Supports Receiver: %s", - this->get_name().c_str(), YESNO(this->get_supports_transmitter()), + LOG_STR_ARG(this->get_log_name()), YESNO(this->get_supports_transmitter()), YESNO(this->get_supports_receiver())); const auto &traits = this->traits_; diff --git a/esphome/components/ld6002b/ld6002b.cpp b/esphome/components/ld6002b/ld6002b.cpp index 93a2ea341f..59010ed910 100644 --- a/esphome/components/ld6002b/ld6002b.cpp +++ b/esphome/components/ld6002b/ld6002b.cpp @@ -1058,8 +1058,8 @@ void LD6002BComponent::publish_number_clamped_(number::Number *number, float val // Outside the declared range the user cannot write the value back, so publish // what they can reach and say what the module actually sent. if (value < min_value || value > max_value) { - ESP_LOGW(TAG, "'%s': module reported %.1f, clamped to %.1f..%.1f", number->get_name().c_str(), value, min_value, - max_value); + ESP_LOGW(TAG, "'%s': module reported %.1f, clamped to %.1f..%.1f", LOG_STR_ARG(number->get_log_name()), value, + min_value, max_value); value = std::clamp(value, min_value, max_value); } number->publish_state(value); diff --git a/esphome/components/max31856/max31856.cpp b/esphome/components/max31856/max31856.cpp index bdb47216da..864f58dc04 100644 --- a/esphome/components/max31856/max31856.cpp +++ b/esphome/components/max31856/max31856.cpp @@ -94,28 +94,28 @@ bool MAX31856Sensor::has_fault_() { this->status_set_warning(); if ((faults & MAX31856_FAULT_CJRANGE) == MAX31856_FAULT_CJRANGE) { - ESP_LOGW(TAG, "Cold Junction Out-of-Range: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Cold Junction Out-of-Range: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_TCRANGE) == MAX31856_FAULT_TCRANGE) { - ESP_LOGW(TAG, "Thermocouple Out-of-Range: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Thermocouple Out-of-Range: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_CJHIGH) == MAX31856_FAULT_CJHIGH) { - ESP_LOGW(TAG, "Cold-Junction High Fault: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Cold-Junction High Fault: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_CJLOW) == MAX31856_FAULT_CJLOW) { - ESP_LOGW(TAG, "Cold-Junction Low Fault: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Cold-Junction Low Fault: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_TCHIGH) == MAX31856_FAULT_TCHIGH) { - ESP_LOGW(TAG, "Thermocouple Temperature High Fault: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Thermocouple Temperature High Fault: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_TCLOW) == MAX31856_FAULT_TCLOW) { - ESP_LOGW(TAG, "Thermocouple Temperature Low Fault: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Thermocouple Temperature Low Fault: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_OVUV) == MAX31856_FAULT_OVUV) { - ESP_LOGW(TAG, "Overvoltage or Undervoltage Input Fault: '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Overvoltage or Undervoltage Input Fault: '%s'", LOG_STR_ARG(this->get_log_name())); } if ((faults & MAX31856_FAULT_OPEN) == MAX31856_FAULT_OPEN) { - ESP_LOGW(TAG, "Thermocouple Open-Circuit Fault (possibly not connected): '%s'", this->name_.c_str()); + ESP_LOGW(TAG, "Thermocouple Open-Circuit Fault (possibly not connected): '%s'", LOG_STR_ARG(this->get_log_name())); } return true; diff --git a/esphome/components/max31888/max31888.cpp b/esphome/components/max31888/max31888.cpp index 5ff8e6f1ef..3de8c33d76 100644 --- a/esphome/components/max31888/max31888.cpp +++ b/esphome/components/max31888/max31888.cpp @@ -66,7 +66,7 @@ void MAX31888Sensor::update() { return; } const float temperature = raw * MAX31888_DEGREES_PER_LSB; - ESP_LOGD(TAG, "'%s': Got Temperature=%.3f°C", this->get_name().c_str(), temperature); + ESP_LOGD(TAG, "'%s': Got Temperature=%.3f°C", LOG_STR_ARG(this->get_log_name()), temperature); this->status_clear_warning(); this->publish_state(temperature); }); diff --git a/esphome/components/max6675/max6675.cpp b/esphome/components/max6675/max6675.cpp index 2fc8dbb73d..2207106ed0 100644 --- a/esphome/components/max6675/max6675.cpp +++ b/esphome/components/max6675/max6675.cpp @@ -39,7 +39,7 @@ void MAX6675Sensor::read_data_() { } float temperature = float(val >> 3) / 4.0f; - ESP_LOGD(TAG, "'%s': Got temperature=%.1f°C", this->name_.c_str(), temperature); + ESP_LOGD(TAG, "'%s': Got temperature=%.1f°C", LOG_STR_ARG(this->get_log_name()), temperature); this->publish_state(temperature); this->status_clear_warning(); } diff --git a/esphome/components/mcp9808/mcp9808.cpp b/esphome/components/mcp9808/mcp9808.cpp index 47df37f456..c9c3c1c851 100644 --- a/esphome/components/mcp9808/mcp9808.cpp +++ b/esphome/components/mcp9808/mcp9808.cpp @@ -20,21 +20,21 @@ void MCP9808Sensor::setup() { uint16_t manu = 0; if (!this->read_byte_16(MCP9808_REG_MANUF_ID, &manu) || manu != MCP9808_MANUF_ID) { this->mark_failed(); - ESP_LOGE(TAG, "Incorrect manufacturer ID (%X) for '%s'", manu, this->name_.c_str()); + ESP_LOGE(TAG, "Incorrect manufacturer ID (%X) for '%s'", manu, LOG_STR_ARG(this->get_log_name())); return; } uint16_t dev_id = 0; if (!this->read_byte_16(MCP9808_REG_DEVICE_ID, &dev_id) || dev_id != MCP9808_DEV_ID) { this->mark_failed(); - ESP_LOGE(TAG, "Incorrect device ID (%X) for '%s'", dev_id, this->name_.c_str()); + ESP_LOGE(TAG, "Incorrect device ID (%X) for '%s'", dev_id, LOG_STR_ARG(this->get_log_name())); return; } } void MCP9808Sensor::dump_config() { - ESP_LOGCONFIG(TAG, "%s:", this->name_.c_str()); + ESP_LOGCONFIG(TAG, "%s:", LOG_STR_ARG(this->get_log_name())); LOG_I2C_DEVICE(this); if (this->is_failed()) { - ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, this->name_.c_str()); + ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, LOG_STR_ARG(this->get_log_name())); } LOG_UPDATE_INTERVAL(this); LOG_SENSOR(" ", "Temperature", this); @@ -68,7 +68,7 @@ void MCP9808Sensor::update() { return; } - ESP_LOGD(TAG, "%s: Got temperature=%.4f°C", this->name_.c_str(), temp); + ESP_LOGD(TAG, "%s: Got temperature=%.4f°C", LOG_STR_ARG(this->get_log_name()), temp); this->publish_state(temp); this->status_clear_warning(); } diff --git a/esphome/components/mlx90614/mlx90614.cpp b/esphome/components/mlx90614/mlx90614.cpp index a67d770cc3..c85223b142 100644 --- a/esphome/components/mlx90614/mlx90614.cpp +++ b/esphome/components/mlx90614/mlx90614.cpp @@ -174,7 +174,7 @@ void MLX90614Component::update() { // Bit 15 set means the device flagged the reading as invalid const float temperature = (raw & 0x8000) ? NAN : raw * 0.02f - 273.15f; - ESP_LOGD(TAG, "'%s': Got temperature=%.1f°C", sensor->get_name().c_str(), temperature); + ESP_LOGD(TAG, "'%s': Got temperature=%.1f°C", LOG_STR_ARG(sensor->get_log_name()), temperature); sensor->publish_state(temperature); return ec; }; diff --git a/esphome/components/modbus_controller/number/modbus_number.cpp b/esphome/components/modbus_controller/number/modbus_number.cpp index f33fc36b0a..6d22887244 100644 --- a/esphome/components/modbus_controller/number/modbus_number.cpp +++ b/esphome/components/modbus_controller/number/modbus_number.cpp @@ -57,7 +57,8 @@ void ModbusNumber::control(float value) { bytes.push_back(word_bytes[1]); } if (!this->send_raw_frame_deprecated_(std::span(bytes.data(), bytes.size()))) { - ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", this->get_name().c_str()); + ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", + LOG_STR_ARG(this->get_log_name())); return; } this->publish_state(value); @@ -82,7 +83,7 @@ void ModbusNumber::control(float value) { ESP_LOGD(TAG, "Updating register: connected Sensor=%s start address=0x%X register count=%d new value=%.02f (val=%.02f)", - this->get_name().c_str(), this->start_address, this->entity_count(), value, write_value); + LOG_STR_ARG(this->get_log_name()), this->start_address, this->entity_count(), value, write_value); bool queued; if (this->entity_count() == 1 && !this->use_write_multiple_) { @@ -91,7 +92,8 @@ void ModbusNumber::control(float value) { queued = this->write_multiple_registers(this->write_address(), data); } if (!queued) { - ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", this->get_name().c_str()); + ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", + LOG_STR_ARG(this->get_log_name())); return; } this->publish_state(value); diff --git a/esphome/components/modbus_controller/select/modbus_select.cpp b/esphome/components/modbus_controller/select/modbus_select.cpp index 793aa8e9ea..a68bb0c931 100644 --- a/esphome/components/modbus_controller/select/modbus_select.cpp +++ b/esphome/components/modbus_controller/select/modbus_select.cpp @@ -100,7 +100,8 @@ void ModbusSelect::control(size_t index) { } if (!queued) { - ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", this->get_name().c_str()); + ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", + LOG_STR_ARG(this->get_log_name())); return; } if (this->optimistic_) diff --git a/esphome/components/modbus_controller/switch/modbus_switch.cpp b/esphome/components/modbus_controller/switch/modbus_switch.cpp index fe2b276231..7a9f51395e 100644 --- a/esphome/components/modbus_controller/switch/modbus_switch.cpp +++ b/esphome/components/modbus_controller/switch/modbus_switch.cpp @@ -48,7 +48,7 @@ void ModbusSwitch::parse_and_publish(std::span data) { } } - ESP_LOGV(TAG, "Publish '%s': new value = %s type = %d address = %X offset = %zx", this->get_name().c_str(), + ESP_LOGV(TAG, "Publish '%s': new value = %s type = %d address = %X offset = %zx", LOG_STR_ARG(this->get_log_name()), ONOFF(value), (int) this->register_type, this->start_address, offset); this->publish_state(value); } @@ -77,7 +77,8 @@ void ModbusSwitch::write_state(bool state) { format_hex_pretty_to(hex_buf, sizeof(hex_buf), data.data(), data.size())); // The lambda filled a legacy raw frame (device address + function code + data). if (!this->send_raw_frame_deprecated_(data)) { - ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", this->get_name().c_str()); + ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", + LOG_STR_ARG(this->get_log_name())); return; } this->publish_state(state); @@ -93,8 +94,8 @@ void ModbusSwitch::write_state(bool state) { write_value = val.value(); } ESP_LOGV(TAG, "write_state '%s': new value = %s (wire = %s) type = %d address = %X offset = %x", - this->get_name().c_str(), ONOFF(state), ONOFF(write_value), (int) this->register_type, this->start_address, - this->offset); + LOG_STR_ARG(this->get_log_name()), ONOFF(state), ONOFF(write_value), (int) this->register_type, + this->start_address, this->offset); bool queued; if (this->register_type == EntityType::COIL) { // offset for coil and discrete inputs is the coil/register number not bytes @@ -113,7 +114,8 @@ void ModbusSwitch::write_state(bool state) { } } if (!queued) { - ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", this->get_name().c_str()); + ESP_LOGW(TAG, "Modbus write for '%s' was refused by the hub; state not published", + LOG_STR_ARG(this->get_log_name())); return; } this->publish_state(state); diff --git a/esphome/components/nau7802/nau7802.cpp b/esphome/components/nau7802/nau7802.cpp index ad1a569e0f..ad7191c0a7 100644 --- a/esphome/components/nau7802/nau7802.cpp +++ b/esphome/components/nau7802/nau7802.cpp @@ -125,7 +125,7 @@ void NAU7802Sensor::dump_config() { LOG_I2C_DEVICE(this); if (this->is_failed()) { - ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, this->get_name().c_str()); + ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL_FOR, LOG_STR_ARG(this->get_log_name())); return; } // Note these may differ from the values on the device if calbration has been run @@ -307,7 +307,7 @@ void NAU7802Sensor::update() { // Get the most recent sample to publish int32_t result = this->read_value_(ADCO_B2_REG, 3); - ESP_LOGD(TAG, "'%s': Got value %" PRId32, this->name_.c_str(), result); + ESP_LOGD(TAG, "'%s': Got value %" PRId32, LOG_STR_ARG(this->get_log_name()), result); this->publish_state(result); } diff --git a/esphome/components/ntc/ntc.cpp b/esphome/components/ntc/ntc.cpp index d2b095a3d7..60b0dd2d89 100644 --- a/esphome/components/ntc/ntc.cpp +++ b/esphome/components/ntc/ntc.cpp @@ -21,7 +21,7 @@ void NTC::process_(float value) { double v = this->a_ + this->b_ * lr + this->c_ * lr * lr * lr; auto temp = float(1.0 / v - 273.15); - ESP_LOGV(TAG, "'%s' - Temperature: %.1f°C", this->name_.c_str(), temp); + ESP_LOGV(TAG, "'%s' - Temperature: %.1f°C", LOG_STR_ARG(this->get_log_name()), temp); this->publish_state(temp); } diff --git a/esphome/components/opentherm/switch/opentherm_switch.cpp b/esphome/components/opentherm/switch/opentherm_switch.cpp index 6bf06f825e..17640dc718 100644 --- a/esphome/components/opentherm/switch/opentherm_switch.cpp +++ b/esphome/components/opentherm/switch/opentherm_switch.cpp @@ -10,9 +10,9 @@ void OpenthermSwitch::setup() { auto restored = this->get_initial_state_with_restore_mode(); bool state = false; if (!restored.has_value()) { - ESP_LOGD(TAG, "Couldn't restore state for OpenTherm switch '%s'", this->get_name().c_str()); + ESP_LOGD(TAG, "Couldn't restore state for OpenTherm switch '%s'", LOG_STR_ARG(this->get_log_name())); } else { - ESP_LOGD(TAG, "Restored state for OpenTherm switch '%s': %d", this->get_name().c_str(), restored.value()); + ESP_LOGD(TAG, "Restored state for OpenTherm switch '%s': %d", LOG_STR_ARG(this->get_log_name()), restored.value()); state = restored.value(); } this->write_state(state); diff --git a/esphome/components/opt3001/opt3001.cpp b/esphome/components/opt3001/opt3001.cpp index 0101368ceb..da94327c1f 100644 --- a/esphome/components/opt3001/opt3001.cpp +++ b/esphome/components/opt3001/opt3001.cpp @@ -112,7 +112,7 @@ void OPT3001Sensor::update() { this->publish_state(NAN); return; } - ESP_LOGD(TAG, "'%s': Illuminance=%.1flx", this->get_name().c_str(), val); + ESP_LOGD(TAG, "'%s': Illuminance=%.1flx", LOG_STR_ARG(this->get_log_name()), val); this->status_clear_warning(); this->publish_state(val); }); diff --git a/esphome/components/pid/pid_autotuner.cpp b/esphome/components/pid/pid_autotuner.cpp index 8b9ce7bbee..140bf209ff 100644 --- a/esphome/components/pid/pid_autotuner.cpp +++ b/esphome/components/pid/pid_autotuner.cpp @@ -74,7 +74,7 @@ PIDAutotuner::PIDAutotuneResult PIDAutotuner::update(float setpoint, float proce } if (!std::isnan(this->setpoint_) && this->setpoint_ != setpoint) { - ESP_LOGW(TAG, "%s: Setpoint changed during autotune! The result will not be accurate!", this->id_.c_str()); + ESP_LOGW(TAG, "%s: Setpoint changed during autotune! The result will not be accurate!", LOG_STR_ARG(this->id_)); } this->setpoint_ = setpoint; @@ -88,7 +88,7 @@ PIDAutotuner::PIDAutotuneResult PIDAutotuner::update(float setpoint, float proce if (!this->frequency_detector_.has_enough_data() || !this->amplitude_detector_.has_enough_data()) { // not enough data for calculation yet - ESP_LOGV(TAG, "%s: Not enough data yet for autotuner", this->id_.c_str()); + ESP_LOGV(TAG, "%s: Not enough data yet for autotuner", LOG_STR_ARG(this->id_)); return res; } @@ -98,13 +98,13 @@ PIDAutotuner::PIDAutotuneResult PIDAutotuner::update(float setpoint, float proce // The frequency/amplitude is not fully accurate yet, try to wait // until the fault clears, or terminate after a while anyway if (!zc_symmetrical) { - ESP_LOGVV(TAG, "%s: ZC is not symmetrical", this->id_.c_str()); + ESP_LOGVV(TAG, "%s: ZC is not symmetrical", LOG_STR_ARG(this->id_)); } if (!amplitude_convergent) { - ESP_LOGVV(TAG, "%s: Amplitude is not convergent", this->id_.c_str()); + ESP_LOGVV(TAG, "%s: Amplitude is not convergent", LOG_STR_ARG(this->id_)); } uint32_t phase = this->relay_function_.phase_count; - ESP_LOGVV(TAG, "%s: >", this->id_.c_str()); + ESP_LOGVV(TAG, "%s: >", LOG_STR_ARG(this->id_)); ESP_LOGVV(TAG, " Phase %" PRIu32 ", enough=%" PRIu32, phase, enough_data_phase_); if (this->enough_data_phase_ == 0) { @@ -118,7 +118,7 @@ PIDAutotuner::PIDAutotuneResult PIDAutotuner::update(float setpoint, float proce } } - ESP_LOGI(TAG, "%s: PID Autotune finished!", this->id_.c_str()); + ESP_LOGI(TAG, "%s: PID Autotune finished!", LOG_STR_ARG(this->id_)); float osc_ampl = this->amplitude_detector_.get_mean_oscillation_amplitude(); float d = (this->relay_function_.output_positive - this->relay_function_.output_negative) / 2.0f; @@ -137,7 +137,7 @@ void PIDAutotuner::dump_config() { ESP_LOGI(TAG, "%s: PID Autotune:\n" " State: Succeeded!", - this->id_.c_str()); + LOG_STR_ARG(this->id_)); bool has_issue = false; if (!this->amplitude_detector_.is_amplitude_convergent()) { ESP_LOGW(TAG, " Could not reliably determine oscillation amplitude, PID parameters may be inaccurate!\n" @@ -181,7 +181,7 @@ void PIDAutotuner::dump_config() { print_rule_("Pessen Integral PID", 0.7f, 1.75f, 0.105f); print_rule_("Some Overshoot PID", 0.333f, 0.667f, 0.111f); print_rule_("No Overshoot PID", 0.2f, 0.4f, 0.0625f); - ESP_LOGI(TAG, "%s: Autotune completed", this->id_.c_str()); + ESP_LOGI(TAG, "%s: Autotune completed", LOG_STR_ARG(this->id_)); } if (this->state_ == AUTOTUNE_RUNNING) { @@ -193,7 +193,7 @@ void PIDAutotuner::dump_config() { " Phases: %" PRIu32 "\n" " Detected %zu zero-crossings\n" " Current Phase Min: %.2f, Max: %.2f", - this->id_.c_str(), setpoint_ - relay_function_.current_target_error(), relay_function_.phase_count, + LOG_STR_ARG(this->id_), setpoint_ - relay_function_.current_target_error(), relay_function_.phase_count, frequency_detector_.zerocrossing_intervals.size(), amplitude_detector_.phase_min, amplitude_detector_.phase_max); } diff --git a/esphome/components/pid/pid_autotuner.h b/esphome/components/pid/pid_autotuner.h index 5115c73c95..ebfa6be419 100644 --- a/esphome/components/pid/pid_autotuner.h +++ b/esphome/components/pid/pid_autotuner.h @@ -29,7 +29,8 @@ class PIDAutotuner { void dump_config(); - void set_autotuner_id(std::string id) { this->id_ = std::move(id); } + /// Name shown in log lines; must outlive the autotuner. + void set_autotuner_id(const LogString *id) { this->id_ = id; } void set_noiseband(float noiseband) { relay_function_.noiseband = noiseband; @@ -106,7 +107,7 @@ class PIDAutotuner { } state_ = AUTOTUNE_RUNNING; float ku_; float pu_; - std::string id_; + const LogString *id_{nullptr}; }; } // namespace esphome::pid diff --git a/esphome/components/pid/pid_climate.cpp b/esphome/components/pid/pid_climate.cpp index d33a7f7544..059f130130 100644 --- a/esphome/components/pid/pid_climate.cpp +++ b/esphome/components/pid/pid_climate.cpp @@ -184,14 +184,14 @@ void PIDClimate::start_autotune(std::unique_ptr &&autotune) { float min_value = this->supports_cool_() ? -1.0f : 0.0f; float max_value = this->supports_heat_() ? 1.0f : 0.0f; this->autotuner_->config(min_value, max_value); - this->autotuner_->set_autotuner_id(this->get_name()); + this->autotuner_->set_autotuner_id(this->get_log_name()); ESP_LOGI(TAG, "%s: Autotune has started. This can take a long time depending on the " "responsiveness of your system. Your system " "output will be altered to deliberately oscillate above and below the setpoint multiple times. " "Until your sensor provides a reading, the autotuner may display \'nan\'", - this->get_name().c_str()); + LOG_STR_ARG(this->get_log_name())); this->set_interval(AUTOTUNE_PROGRESS_INTERVAL_ID, 10000, [this]() { if (this->autotuner_ != nullptr && !this->autotuner_->is_finished()) @@ -200,7 +200,7 @@ void PIDClimate::start_autotune(std::unique_ptr &&autotune) { if (mode != climate::CLIMATE_MODE_HEAT_COOL) { ESP_LOGW(TAG, "%s: !!! For PID autotuner you need to set AUTO (also called heat/cool) mode!", - this->get_name().c_str()); + LOG_STR_ARG(this->get_log_name())); } } diff --git a/esphome/components/pulse_counter/pulse_counter_sensor.cpp b/esphome/components/pulse_counter/pulse_counter_sensor.cpp index b104016fb8..42771a50bc 100644 --- a/esphome/components/pulse_counter/pulse_counter_sensor.cpp +++ b/esphome/components/pulse_counter/pulse_counter_sensor.cpp @@ -197,13 +197,13 @@ void PulseCounterSensor::update() { if (this->last_time_ != 0) { uint32_t interval = now - this->last_time_; float value = (60000.0f * raw) / float(interval); // per minute - ESP_LOGD(TAG, "'%s': Retrieved counter: %0.2f pulses/min", this->get_name().c_str(), value); + ESP_LOGD(TAG, "'%s': Retrieved counter: %0.2f pulses/min", LOG_STR_ARG(this->get_log_name()), value); this->publish_state(value); } if (this->total_sensor_ != nullptr) { current_total_ += raw; - ESP_LOGD(TAG, "'%s': Total : %" PRIu32 " pulses", this->get_name().c_str(), current_total_); + ESP_LOGD(TAG, "'%s': Total : %" PRIu32 " pulses", LOG_STR_ARG(this->get_log_name()), current_total_); this->total_sensor_->publish_state(current_total_); } this->last_time_ = now; diff --git a/esphome/components/pulse_width/pulse_width.cpp b/esphome/components/pulse_width/pulse_width.cpp index 53896cbacd..b53e71ef58 100644 --- a/esphome/components/pulse_width/pulse_width.cpp +++ b/esphome/components/pulse_width/pulse_width.cpp @@ -22,7 +22,7 @@ void PulseWidthSensor::dump_config() { } void PulseWidthSensor::update() { float width = this->store_.get_pulse_width_s(); - ESP_LOGCONFIG(TAG, "'%s' - Got pulse width %.3f s", this->name_.c_str(), width); + ESP_LOGCONFIG(TAG, "'%s' - Got pulse width %.3f s", LOG_STR_ARG(this->get_log_name()), width); this->publish_state(width); } diff --git a/esphome/components/resistance/resistance_sensor.cpp b/esphome/components/resistance/resistance_sensor.cpp index d6bc324fa4..de5d4a7879 100644 --- a/esphome/components/resistance/resistance_sensor.cpp +++ b/esphome/components/resistance/resistance_sensor.cpp @@ -38,7 +38,7 @@ void ResistanceSensor::process_(float value) { } res *= this->resistor_; - ESP_LOGV(TAG, "'%s' - Resistance %.1fΩ", this->name_.c_str(), res); + ESP_LOGV(TAG, "'%s' - Resistance %.1fΩ", LOG_STR_ARG(this->get_log_name()), res); this->publish_state(res); } diff --git a/esphome/components/scd4x/scd4x.cpp b/esphome/components/scd4x/scd4x.cpp index 8249a6feb1..2cfb2705c4 100644 --- a/esphome/components/scd4x/scd4x.cpp +++ b/esphome/components/scd4x/scd4x.cpp @@ -133,7 +133,7 @@ void SCD4XComponent::dump_config() { ONOFF(this->enable_asc_), measurement_mode_str, this->temperature_offset_); if (this->ambient_pressure_source_ != nullptr) { ESP_LOGCONFIG(TAG, " Dynamic ambient pressure compensation using '%s'", - this->ambient_pressure_source_->get_name().c_str()); + LOG_STR_ARG(this->ambient_pressure_source_->get_log_name())); } else { if (this->ambient_pressure_) { ESP_LOGCONFIG(TAG, diff --git a/esphome/components/sonoff_d1/sonoff_d1.cpp b/esphome/components/sonoff_d1/sonoff_d1.cpp index c72210e932..c8eb385bd9 100644 --- a/esphome/components/sonoff_d1/sonoff_d1.cpp +++ b/esphome/components/sonoff_d1/sonoff_d1.cpp @@ -297,8 +297,8 @@ void SonoffD1Output::dump_config() { " Use RM433 Remote: %s\n" " Minimal brightness: %d\n" " Maximal brightness: %d", - this->light_state_ ? this->light_state_->get_name().c_str() : "", ONOFF(this->use_rm433_remote_), - this->min_value_, this->max_value_); + this->light_state_ ? LOG_STR_ARG(this->light_state_->get_log_name()) : "", + ONOFF(this->use_rm433_remote_), this->min_value_, this->max_value_); } void SonoffD1Output::loop() { diff --git a/esphome/components/sprinkler/sprinkler.cpp b/esphome/components/sprinkler/sprinkler.cpp index eb9e61958f..5a0cd14940 100644 --- a/esphome/components/sprinkler/sprinkler.cpp +++ b/esphome/components/sprinkler/sprinkler.cpp @@ -868,12 +868,22 @@ void Sprinkler::reset_resume() { this->resume_duration_.reset(); } +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" const char *Sprinkler::valve_name(const size_t valve_number) { if (this->is_a_valid_valve(valve_number)) { return this->valve_[valve_number].controller_switch->get_name().c_str(); } return nullptr; } +#pragma GCC diagnostic pop + +const LogString *Sprinkler::valve_log_name(const size_t valve_number) { + if (this->is_a_valid_valve(valve_number)) { + return this->valve_[valve_number].controller_switch->get_log_name(); + } + return nullptr; +} optional Sprinkler::active_valve_request_is_from() { if (this->active_req_.has_request()) { @@ -1586,7 +1596,8 @@ void Sprinkler::dump_config() { " Valve %zu:\n" " Name: %s\n" " Run Duration: %" PRIu32 " seconds", - valve_number, this->valve_name(valve_number), this->valve_run_duration(valve_number)); + valve_number, LOG_STR_ARG(this->valve_log_name(valve_number)), + this->valve_run_duration(valve_number)); } if (!this->pump_.empty()) { ESP_LOGCONFIG(TAG, " Total number of pumps: %zu", this->pump_.size()); diff --git a/esphome/components/sprinkler/sprinkler.h b/esphome/components/sprinkler/sprinkler.h index c51824d883..e5922b56c9 100644 --- a/esphome/components/sprinkler/sprinkler.h +++ b/esphome/components/sprinkler/sprinkler.h @@ -336,7 +336,10 @@ class Sprinkler final : public Component { void reset_resume(); /// returns a pointer to a valve's name string object; returns nullptr if valve_number is invalid + ESPDEPRECATED("Use valve_log_name() or control_switch()->get_name_to() instead. Removed in 2027.5.0", "2026.11.0") const char *valve_name(size_t valve_number); + /// returns a valve's name for a "%s" log argument; returns nullptr if valve_number is invalid + const LogString *valve_log_name(size_t valve_number); /// returns what invoked the valve that is currently active, if any. check with 'has_value()' optional active_valve_request_is_from(); diff --git a/esphome/components/status_led/light/status_led_light.cpp b/esphome/components/status_led/light/status_led_light.cpp index 6eeb9732a4..5877dcfb76 100644 --- a/esphome/components/status_led/light/status_led_light.cpp +++ b/esphome/components/status_led/light/status_led_light.cpp @@ -35,7 +35,7 @@ void StatusLEDLightOutput::loop() { void StatusLEDLightOutput::setup_state(light::LightState *state) { lightstate_ = state; - ESP_LOGD(TAG, "'%s': Setting initial state", state->get_name().c_str()); + ESP_LOGD(TAG, "'%s': Setting initial state", LOG_STR_ARG(state->get_log_name())); this->write_state(state); } @@ -46,7 +46,7 @@ void StatusLEDLightOutput::write_state(light::LightState *state) { // if in warning/error, don't overwrite the status_led // once it is back to OK, the loop will restore the state if ((App.get_app_state() & (STATUS_LED_ERROR | STATUS_LED_WARNING)) == 0u) { - ESP_LOGD(TAG, "'%s': Setting state %s", state->get_name().c_str(), ONOFF(binary)); + ESP_LOGD(TAG, "'%s': Setting state %s", LOG_STR_ARG(state->get_log_name()), ONOFF(binary)); this->output_state_(binary); } } diff --git a/esphome/components/stcc4/stcc4.cpp b/esphome/components/stcc4/stcc4.cpp index ac7a998e5d..e14daeb000 100644 --- a/esphome/components/stcc4/stcc4.cpp +++ b/esphome/components/stcc4/stcc4.cpp @@ -151,16 +151,16 @@ void STCC4Component::dump_config() { : LOG_STR_LITERAL("Single shot")); if (this->ambient_pressure_source_ != nullptr) { ESP_LOGCONFIG(TAG, " Dynamic ambient pressure compensation using '%s'", - this->ambient_pressure_source_->get_name().c_str()); + LOG_STR_ARG(this->ambient_pressure_source_->get_log_name())); } else if (this->ambient_pressure_in_pa_2_ != 0) { ESP_LOGCONFIG(TAG, " Ambient pressure compensation: %f hPa", pressure_in_pa_2_to_hpa(this->ambient_pressure_in_pa_2_)); } if (this->temperature_source_ != nullptr) { - ESP_LOGCONFIG(TAG, " Temperature compensation using '%s'", this->temperature_source_->get_name().c_str()); + ESP_LOGCONFIG(TAG, " Temperature compensation using '%s'", LOG_STR_ARG(this->temperature_source_->get_log_name())); } if (this->humidity_source_ != nullptr) { - ESP_LOGCONFIG(TAG, " Humidity compensation using '%s'", this->humidity_source_->get_name().c_str()); + ESP_LOGCONFIG(TAG, " Humidity compensation using '%s'", LOG_STR_ARG(this->humidity_source_->get_log_name())); } LOG_UPDATE_INTERVAL(this); LOG_SENSOR(" ", "CO2", this->co2_sensor_); diff --git a/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp b/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp index 12ff0b5a4b..6d16b9b7ed 100644 --- a/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +++ b/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp @@ -67,7 +67,8 @@ void TemplateAlarmControlPanel::dump_config() { " Armed night bypass: %s\n" " Auto bypass: %s\n" " Chime mode: %s", - alarm_sensor.sensor->get_name().c_str(), LOG_STR_ARG(sensor_type_to_string(alarm_sensor.info.type)), + LOG_STR_ARG(alarm_sensor.sensor->get_log_name()), + LOG_STR_ARG(sensor_type_to_string(alarm_sensor.info.type)), TRUEFALSE(flags & BINARY_SENSOR_MODE_BYPASS_ARMED_HOME), TRUEFALSE(flags & BINARY_SENSOR_MODE_BYPASS_ARMED_NIGHT), TRUEFALSE(flags & BINARY_SENSOR_MODE_BYPASS_AUTO), TRUEFALSE(flags & BINARY_SENSOR_MODE_CHIME)); @@ -252,7 +253,7 @@ void TemplateAlarmControlPanel::auto_bypass_sensors_() { auto *sensor = alarm_sensor.sensor; // Check for faulted bypass_auto sensors and remove them from monitoring if ((info.flags & BINARY_SENSOR_MODE_BYPASS_AUTO) && (sensor->state)) { - ESP_LOGW(TAG, "'%s' is faulted and will be automatically bypassed", sensor->get_name().c_str()); + ESP_LOGW(TAG, "'%s' is faulted and will be automatically bypassed", LOG_STR_ARG(sensor->get_log_name())); info.auto_bypassed = true; } } diff --git a/esphome/components/template/climate/template_climate.cpp b/esphome/components/template/climate/template_climate.cpp index a731f037e3..9345cf2ac2 100644 --- a/esphome/components/template/climate/template_climate.cpp +++ b/esphome/components/template/climate/template_climate.cpp @@ -115,7 +115,7 @@ void TemplateClimate::control(const climate::ClimateCall &call) { // so check here instead -- otherwise a typo is published as state the receiving end will reject. void TemplateClimate::set_mode(climate::ClimateMode mode) { if (!this->traits_.supports_mode(mode)) { - ESP_LOGW(TAG, "'%s' - Unsupported mode %u", this->get_name().c_str(), static_cast(mode)); + ESP_LOGW(TAG, "'%s' - Unsupported mode %u", LOG_STR_ARG(this->get_log_name()), static_cast(mode)); return; } this->mode = mode; @@ -123,7 +123,8 @@ void TemplateClimate::set_mode(climate::ClimateMode mode) { void TemplateClimate::set_swing_mode(climate::ClimateSwingMode swing_mode) { if (!this->traits_.supports_swing_mode(swing_mode)) { - ESP_LOGW(TAG, "'%s' - Unsupported swing mode %u", this->get_name().c_str(), static_cast(swing_mode)); + ESP_LOGW(TAG, "'%s' - Unsupported swing mode %u", LOG_STR_ARG(this->get_log_name()), + static_cast(swing_mode)); return; } this->swing_mode = swing_mode; @@ -131,7 +132,7 @@ void TemplateClimate::set_swing_mode(climate::ClimateSwingMode swing_mode) { void TemplateClimate::set_fan_mode(climate::ClimateFanMode fan_mode) { if (!this->traits_.supports_fan_mode(fan_mode)) { - ESP_LOGW(TAG, "'%s' - Unsupported fan mode %u", this->get_name().c_str(), static_cast(fan_mode)); + ESP_LOGW(TAG, "'%s' - Unsupported fan mode %u", LOG_STR_ARG(this->get_log_name()), static_cast(fan_mode)); return; } this->set_fan_mode_(fan_mode); @@ -139,7 +140,7 @@ void TemplateClimate::set_fan_mode(climate::ClimateFanMode fan_mode) { void TemplateClimate::set_preset(climate::ClimatePreset preset) { if (!this->traits_.supports_preset(preset)) { - ESP_LOGW(TAG, "'%s' - Unsupported preset %u", this->get_name().c_str(), static_cast(preset)); + ESP_LOGW(TAG, "'%s' - Unsupported preset %u", LOG_STR_ARG(this->get_log_name()), static_cast(preset)); return; } this->set_preset_(preset); @@ -147,7 +148,7 @@ void TemplateClimate::set_preset(climate::ClimatePreset preset) { void TemplateClimate::set_custom_fan_mode(StringRef mode) { if (this->find_custom_fan_mode_(mode.c_str(), mode.size()) == nullptr) { - ESP_LOGW(TAG, "'%s' - Unsupported custom fan mode '%s'", this->get_name().c_str(), mode.c_str()); + ESP_LOGW(TAG, "'%s' - Unsupported custom fan mode '%s'", LOG_STR_ARG(this->get_log_name()), mode.c_str()); return; } this->set_custom_fan_mode_(mode); @@ -155,7 +156,7 @@ void TemplateClimate::set_custom_fan_mode(StringRef mode) { void TemplateClimate::set_custom_preset(StringRef preset) { if (this->find_custom_preset_(preset.c_str(), preset.size()) == nullptr) { - ESP_LOGW(TAG, "'%s' - Unsupported custom preset '%s'", this->get_name().c_str(), preset.c_str()); + ESP_LOGW(TAG, "'%s' - Unsupported custom preset '%s'", LOG_STR_ARG(this->get_log_name()), preset.c_str()); return; } this->set_custom_preset_(preset); diff --git a/esphome/components/tmp1075/tmp1075.cpp b/esphome/components/tmp1075/tmp1075.cpp index 9b152c1ad3..f5bce6efc2 100644 --- a/esphome/components/tmp1075/tmp1075.cpp +++ b/esphome/components/tmp1075/tmp1075.cpp @@ -19,7 +19,7 @@ static float regvalue2temp(uint16_t regvalue); void TMP1075Sensor::setup() { uint8_t cfg; if (!this->read_byte(REG_CFGR, &cfg)) { - ESP_LOGE(TAG, "'%s' - unable to read", this->name_.c_str()); + ESP_LOGE(TAG, "'%s' - unable to read", LOG_STR_ARG(this->get_log_name())); this->mark_failed(); return; } @@ -30,7 +30,7 @@ void TMP1075Sensor::setup() { void TMP1075Sensor::update() { uint16_t regvalue; if (!read_byte_16(REG_TEMP, ®value)) { - ESP_LOGW(TAG, "'%s' - unable to read temperature register", this->name_.c_str()); + ESP_LOGW(TAG, "'%s' - unable to read temperature register", LOG_STR_ARG(this->get_log_name())); this->status_set_warning(LOG_STR("can't read")); return; } @@ -61,11 +61,11 @@ void TMP1075Sensor::dump_config() { void TMP1075Sensor::set_fault_count(const int faults) { if (faults < 1) { - ESP_LOGE(TAG, "'%s' - fault_count too low: %d", this->name_.c_str(), faults); + ESP_LOGE(TAG, "'%s' - fault_count too low: %d", LOG_STR_ARG(this->get_log_name()), faults); return; } if (faults > 4) { - ESP_LOGE(TAG, "'%s' - fault_count too high: %d", this->name_.c_str(), faults); + ESP_LOGE(TAG, "'%s' - fault_count too high: %d", LOG_STR_ARG(this->get_log_name()), faults); return; } config_.fields.faults = faults - 1; @@ -90,28 +90,28 @@ void TMP1075Sensor::write_config() { } void TMP1075Sensor::send_config_() { - ESP_LOGV(TAG, "'%s' - sending configuration %02x", this->name_.c_str(), config_.regvalue); + ESP_LOGV(TAG, "'%s' - sending configuration %02x", LOG_STR_ARG(this->get_log_name()), config_.regvalue); log_config_(); if (!this->write_byte(REG_CFGR, config_.regvalue)) { - ESP_LOGW(TAG, "'%s' - unable to write configuration register", this->name_.c_str()); + ESP_LOGW(TAG, "'%s' - unable to write configuration register", LOG_STR_ARG(this->get_log_name())); return; } } void TMP1075Sensor::send_alert_limit_low_() { - ESP_LOGV(TAG, "'%s' - sending alert limit low %.3f °C", this->name_.c_str(), alert_limit_low_); + ESP_LOGV(TAG, "'%s' - sending alert limit low %.3f °C", LOG_STR_ARG(this->get_log_name()), alert_limit_low_); const uint16_t regvalue = temp2regvalue(alert_limit_low_); if (!this->write_byte_16(REG_LLIM, regvalue)) { - ESP_LOGW(TAG, "'%s' - unable to write low limit register", this->name_.c_str()); + ESP_LOGW(TAG, "'%s' - unable to write low limit register", LOG_STR_ARG(this->get_log_name())); return; } } void TMP1075Sensor::send_alert_limit_high_() { - ESP_LOGV(TAG, "'%s' - sending alert limit high %.3f °C", this->name_.c_str(), alert_limit_high_); + ESP_LOGV(TAG, "'%s' - sending alert limit high %.3f °C", LOG_STR_ARG(this->get_log_name()), alert_limit_high_); const uint16_t regvalue = temp2regvalue(alert_limit_high_); if (!this->write_byte_16(REG_HLIM, regvalue)) { - ESP_LOGW(TAG, "'%s' - unable to write high limit register", this->name_.c_str()); + ESP_LOGW(TAG, "'%s' - unable to write high limit register", LOG_STR_ARG(this->get_log_name())); return; } } diff --git a/esphome/components/uart/button/uart_button.cpp b/esphome/components/uart/button/uart_button.cpp index 99b5ee548d..07cc75bfdf 100644 --- a/esphome/components/uart/button/uart_button.cpp +++ b/esphome/components/uart/button/uart_button.cpp @@ -6,7 +6,7 @@ namespace esphome::uart { ESPHOME_LOG_TAG(TAG, "uart.button"); void UARTButton::press_action() { - ESP_LOGD(TAG, "'%s': Sending data", this->get_name().c_str()); + ESP_LOGD(TAG, "'%s': Sending data", LOG_STR_ARG(this->get_log_name())); this->write_array_progmem(this->data_, this->data_len_); } diff --git a/esphome/components/uart/switch/uart_switch.cpp b/esphome/components/uart/switch/uart_switch.cpp index 1af497ffcf..c078e02346 100644 --- a/esphome/components/uart/switch/uart_switch.cpp +++ b/esphome/components/uart/switch/uart_switch.cpp @@ -18,11 +18,11 @@ void UARTSwitch::loop() { void UARTSwitch::write_command_(bool state) { if (state && this->data_on_len_ != 0) { - ESP_LOGD(TAG, "'%s': Sending on data", this->get_name().c_str()); + ESP_LOGD(TAG, "'%s': Sending on data", LOG_STR_ARG(this->get_log_name())); this->write_array_progmem(this->data_on_, this->data_on_len_); } if (!state && this->data_off_len_ != 0) { - ESP_LOGD(TAG, "'%s': Sending off data", this->get_name().c_str()); + ESP_LOGD(TAG, "'%s': Sending off data", LOG_STR_ARG(this->get_log_name())); this->write_array_progmem(this->data_off_, this->data_off_len_); } } diff --git a/esphome/components/ultrasonic/ultrasonic_sensor.cpp b/esphome/components/ultrasonic/ultrasonic_sensor.cpp index 039d08eaae..c119c91d9e 100644 --- a/esphome/components/ultrasonic/ultrasonic_sensor.cpp +++ b/esphome/components/ultrasonic/ultrasonic_sensor.cpp @@ -60,7 +60,7 @@ void UltrasonicSensorComponent::loop() { if (!this->store_.echo_start) { uint32_t elapsed = micros() - this->measurement_start_us_; if (elapsed >= START_TIMEOUT_US) { - ESP_LOGW(TAG, "'%s' - Measurement start timed out", this->name_.c_str()); + ESP_LOGW(TAG, "'%s' - Measurement start timed out", LOG_STR_ARG(this->get_log_name())); this->publish_state(NAN); this->measurement_pending_ = false; return; @@ -73,7 +73,8 @@ void UltrasonicSensorComponent::loop() { elapsed = micros() - this->store_.echo_start_us; } if (elapsed >= this->timeout_us_) { - ESP_LOGD(TAG, "'%s' - Measurement pulse timed out after %" PRIu32 "us", this->name_.c_str(), elapsed); + ESP_LOGD(TAG, "'%s' - Measurement pulse timed out after %" PRIu32 "us", LOG_STR_ARG(this->get_log_name()), + elapsed); this->publish_state(NAN); this->measurement_pending_ = false; return; @@ -84,7 +85,7 @@ void UltrasonicSensorComponent::loop() { uint32_t pulse_duration = this->store_.echo_end_us - this->store_.echo_start_us; ESP_LOGV(TAG, "Echo took %" PRIu32 "us", pulse_duration); float result = UltrasonicSensorComponent::us_to_m(pulse_duration); - ESP_LOGD(TAG, "'%s' - Got distance: %.3f m", this->name_.c_str(), result); + ESP_LOGD(TAG, "'%s' - Got distance: %.3f m", LOG_STR_ARG(this->get_log_name()), result); this->publish_state(result); this->measurement_pending_ = false; return; diff --git a/esphome/components/veml3235/veml3235.cpp b/esphome/components/veml3235/veml3235.cpp index 3a85669678..40f320aad2 100644 --- a/esphome/components/veml3235/veml3235.cpp +++ b/esphome/components/veml3235/veml3235.cpp @@ -47,7 +47,7 @@ bool VEML3235Sensor::refresh_config_reg() { void VEML3235Sensor::update() { if (this->measurement_in_progress_) { - ESP_LOGV(TAG, "'%s': Previous measurement still in progress; skipping update", this->get_name().c_str()); + ESP_LOGV(TAG, "'%s': Previous measurement still in progress; skipping update", LOG_STR_ARG(this->get_log_name())); return; } this->measurement_in_progress_ = true; @@ -80,9 +80,9 @@ void VEML3235Sensor::read_and_publish_(uint8_t adjustments_left) { } float lux = this->counts_to_lux_(als_counts); - ESP_LOGVV(TAG, "'%s': ALS counts = %u, sensitivity = %ux", this->get_name().c_str(), als_counts, + ESP_LOGVV(TAG, "'%s': ALS counts = %u, sensitivity = %ux", LOG_STR_ARG(this->get_log_name()), als_counts, this->sensitivity_factor_()); - ESP_LOGV(TAG, "'%s': Illuminance = %.4flx", this->get_name().c_str(), lux); + ESP_LOGV(TAG, "'%s': Illuminance = %.4flx", LOG_STR_ARG(this->get_log_name()), lux); this->publish_state(lux); this->measurement_in_progress_ = false; } @@ -177,7 +177,7 @@ bool VEML3235Sensor::adjust_sensitivity_(uint16_t counts) { return false; } - ESP_LOGV(TAG, "'%s': Sensitivity adjusted from %ux to %ux (ALS counts = %u)", this->get_name().c_str(), + ESP_LOGV(TAG, "'%s': Sensitivity adjusted from %ux to %ux (ALS counts = %u)", LOG_STR_ARG(this->get_log_name()), current_factor, new_factor, counts); return true; } diff --git a/esphome/components/vl53l0x/vl53l0x_sensor.cpp b/esphome/components/vl53l0x/vl53l0x_sensor.cpp index 2e3d1c8529..fdd3c063f1 100644 --- a/esphome/components/vl53l0x/vl53l0x_sensor.cpp +++ b/esphome/components/vl53l0x/vl53l0x_sensor.cpp @@ -92,7 +92,7 @@ void VL53L0XSensor::setup() { uint32_t timeout_start_us = micros(); while (reg(0x83).get() == 0x00) { if (this->timeout_us_ > 0 && (micros() - timeout_start_us > this->timeout_us_)) { - ESP_LOGE(TAG, "'%s' - setup timeout", this->name_.c_str()); + ESP_LOGE(TAG, "'%s' - setup timeout", LOG_STR_ARG(this->get_log_name())); this->mark_failed(); return; } @@ -267,7 +267,7 @@ void VL53L0XSensor::update() { this->publish_state(NAN); this->status_momentary_warning(5000); ESP_LOGW(TAG, "%s - update called before prior reading complete - initiated:%d waiting_for_interrupt:%d", - this->name_.c_str(), this->initiated_read_, this->waiting_for_interrupt_); + LOG_STR_ARG(this->get_log_name()), this->initiated_read_, this->waiting_for_interrupt_); return; } @@ -306,13 +306,14 @@ void VL53L0XSensor::loop() { this->waiting_for_interrupt_ = false; if (range_mm >= 8190) { - ESP_LOGD(TAG, "'%s' - Distance is out of range, please move the target closer", this->name_.c_str()); + ESP_LOGD(TAG, "'%s' - Distance is out of range, please move the target closer", + LOG_STR_ARG(this->get_log_name())); this->publish_state(NAN); return; } float range_m = range_mm / 1e3f; - ESP_LOGD(TAG, "'%s' - Got distance %.3f m", this->name_.c_str(), range_m); + ESP_LOGD(TAG, "'%s' - Got distance %.3f m", LOG_STR_ARG(this->get_log_name()), range_m); this->publish_state(range_m); } } diff --git a/esphome/components/xiaomi_mccgq02hl/xiaomi_mccgq02hl.cpp b/esphome/components/xiaomi_mccgq02hl/xiaomi_mccgq02hl.cpp index 519358270d..84e406a7ab 100644 --- a/esphome/components/xiaomi_mccgq02hl/xiaomi_mccgq02hl.cpp +++ b/esphome/components/xiaomi_mccgq02hl/xiaomi_mccgq02hl.cpp @@ -60,7 +60,7 @@ bool XiaomiMCCGQ02HL::parse_device(const ble_device_base::ESPBTDevice &device) { if (!this->parse_service_data_(service_data.data, reading)) continue; - ESP_LOGD(TAG, "%s: open=%s light=%s battery=%s", this->get_name().c_str(), + ESP_LOGD(TAG, "%s: open=%s light=%s battery=%s", LOG_STR_ARG(this->get_log_name()), reading.open.has_value() ? (*reading.open ? LOG_STR_LITERAL("yes") : LOG_STR_LITERAL("no")) : LOG_STR_LITERAL("-"), reading.light.has_value() ? (*reading.light ? LOG_STR_LITERAL("yes") : LOG_STR_LITERAL("no")) diff --git a/esphome/core/entity_base.cpp b/esphome/core/entity_base.cpp index 1e1c523ad3..45d11e68a3 100644 --- a/esphome/core/entity_base.cpp +++ b/esphome/core/entity_base.cpp @@ -25,7 +25,7 @@ uint32_t fnv1_hash_object_id_progmem(const char *str, size_t len) { return hash; } -// RAM copies made by get_name(), only for entities whose name is asked for +// RAM copies made by the deprecated get_name(), only for entities whose name is asked for. Remove before 2027.5.0 struct NameCopy { NameCopy *next; const char *key; diff --git a/esphome/core/entity_base.h b/esphome/core/entity_base.h index 48c7083851..3e241dc2f9 100644 --- a/esphome/core/entity_base.h +++ b/esphome/core/entity_base.h @@ -74,12 +74,16 @@ class EntityBase { public: #ifdef USE_ESP8266 /// The name is in flash here; the first call makes a RAM copy that is kept for the life of the device. + // Remove before 2027.5.0 + ESPDEPRECATED("Use get_name_to() or get_log_name() instead. Will be removed in ESPHome 2027.5.0", "2026.11.0") const StringRef &get_name() const; /// Get the name of this Entity, copied out of flash into buffer. StringRef get_name_to(std::span buffer) const { return StringRef(buffer.data(), this->write_name_to(buffer.data(), buffer.size())); } #else + // Remove before 2027.5.0 + ESPDEPRECATED("Use get_name_to() or get_log_name() instead. Will be removed in ESPHome 2027.5.0", "2026.11.0") const StringRef &get_name() const { return this->name_.ram_ref(); } const StringRef &get_name_to(std::span /*buffer*/) const { return this->name_.ram_ref(); } #endif diff --git a/tests/components/light/common.yaml b/tests/components/light/common.yaml index c1e58c673f..3ac1e4194e 100644 --- a/tests/components/light/common.yaml +++ b/tests/components/light/common.yaml @@ -294,7 +294,7 @@ light: if (state == 4) state = 0; if (initial_run) { - ESP_LOGD("custom_effect", "Effect %s started", it.get_name().c_str()); + ESP_LOGD("custom_effect", "Effect %s started", LOG_STR_ARG(it.get_log_name())); } - pulse: transition_length: 10s