From 7b82b3b5848b1772e7fc1a3ac97a3e2d28805862 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 22 Dec 2025 11:11:16 -1000 Subject: [PATCH] reduce churn --- esphome/components/web_server/web_server.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index 06c6131804..f568829a07 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -981,13 +981,10 @@ std::string WebServer::number_json(number::Number *obj, float value, JsonDetail std::isnan(value) ? "NA" : (value_accuracy_with_uom_to_buf(state_buf, value, accuracy, uom_ref), state_buf); set_json_icon_state_value(root, obj, "number", state_str, val_str, start_config); if (start_config == DETAIL_ALL) { - // Reuse val_buf for these - ArduinoJson copies the string - value_accuracy_to_buf(val_buf, obj->traits.get_min_value(), accuracy); - root[ESPHOME_F("min_value")] = val_buf; - value_accuracy_to_buf(val_buf, obj->traits.get_max_value(), accuracy); - root[ESPHOME_F("max_value")] = val_buf; - value_accuracy_to_buf(val_buf, obj->traits.get_step(), accuracy); - root[ESPHOME_F("step")] = val_buf; + // ArduinoJson copies the string immediately, so we can reuse val_buf + root[ESPHOME_F("min_value")] = (value_accuracy_to_buf(val_buf, obj->traits.get_min_value(), accuracy), val_buf); + root[ESPHOME_F("max_value")] = (value_accuracy_to_buf(val_buf, obj->traits.get_max_value(), accuracy), val_buf); + root[ESPHOME_F("step")] = (value_accuracy_to_buf(val_buf, obj->traits.get_step(), accuracy), val_buf); root[ESPHOME_F("mode")] = (int) obj->traits.get_mode(); if (!uom_ref.empty()) root[ESPHOME_F("uom")] = uom_ref;