diff --git a/esphome/components/prometheus/prometheus_handler.cpp b/esphome/components/prometheus/prometheus_handler.cpp index c6f5751420e..9ab689ba061 100644 --- a/esphome/components/prometheus/prometheus_handler.cpp +++ b/esphome/components/prometheus/prometheus_handler.cpp @@ -618,8 +618,9 @@ void PrometheusHandler::event_row_(AsyncResponseStream *stream, event::Event *ob stream->print(ESPHOME_F("\",name=\"")); stream->print(relabel_name_(obj).c_str()); stream->print(ESPHOME_F("\",last_event_type=\"")); - // get_last_event_type() returns StringRef pointing to null-terminated string literals from codegen - stream->print(obj->get_last_event_type().c_str()); + // get_last_event_type() returns StringRef + auto event_type = obj->get_last_event_type(); + stream->print(event_type.c_str(), event_type.size()); stream->print(ESPHOME_F("\"} ")); stream->print(ESPHOME_F("1.0")); stream->print(ESPHOME_F("\n")); diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index 4c218479e06..e4baebe3cba 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -1966,7 +1966,7 @@ void WebServer::handle_event_request(AsyncWebServerRequest *request, const UrlMa } static std::string get_event_type(event::Event *event) { - return event ? std::string(event->get_last_event_type()) : ""; + return event ? std::string(event->get_last_event_type()) : std::string(); } std::string WebServer::event_state_json_generator(WebServer *web_server, void *source) {