diff --git a/esphome/core/component.cpp b/esphome/core/component.cpp index 03c44599e2..0a4606074a 100644 --- a/esphome/core/component.cpp +++ b/esphome/core/component.cpp @@ -85,7 +85,8 @@ void Component::call_setup() { this->setup(); } void Component::call_dump_config() { this->dump_config(); if (this->is_failed()) { - ESP_LOGE(TAG, " Component %s is marked FAILED: %s", this->get_component_source(), this->error_message_.c_str()); + ESP_LOGE(TAG, " Component %s is marked FAILED: %s", this->get_component_source(), + this->error_message_ ? this->error_message_ : "unspecified"); } } diff --git a/esphome/core/component.h b/esphome/core/component.h index d05a965034..f77d40ae35 100644 --- a/esphome/core/component.h +++ b/esphome/core/component.h @@ -319,7 +319,7 @@ class Component { float setup_priority_override_{NAN}; const char *component_source_{nullptr}; uint16_t warn_if_blocking_over_{WARN_IF_BLOCKING_OVER_MS}; ///< Warn if blocked for this many ms (max 65.5s) - std::string error_message_{}; + const char *error_message_{nullptr}; }; /** This class simplifies creating components that periodically check a state.