From f78b6dd8c35308a1d6185da77efc6daccc8a5b9d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 30 Jan 2026 22:44:08 -0600 Subject: [PATCH] tweak --- esphome/components/light/light_json_schema.cpp | 3 ++- esphome/core/progmem.h | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/esphome/components/light/light_json_schema.cpp b/esphome/components/light/light_json_schema.cpp index b44609fc02..aaa1176f9f 100644 --- a/esphome/components/light/light_json_schema.cpp +++ b/esphome/components/light/light_json_schema.cpp @@ -20,7 +20,8 @@ static ProgmemStr get_color_mode_json_str(ColorMode mode) { unsigned bit = ColorModeBitPolicy::to_bit(mode); if (bit == 0) return nullptr; - return ColorModeStrings::get_progmem_str(bit - 1); + // bit is 1-9 for valid modes, so bit-1 is always valid (0-8). LAST_INDEX fallback never used. + return ColorModeStrings::get_progmem_str(bit - 1, ColorModeStrings::LAST_INDEX); } void LightJSONSchema::dump_json(LightState &state, JsonObject root) { diff --git a/esphome/core/progmem.h b/esphome/core/progmem.h index dde093fd2e..0962f4b684 100644 --- a/esphome/core/progmem.h +++ b/esphome/core/progmem.h @@ -56,8 +56,8 @@ template struct FixedString { /// /// Example: /// PROGMEM_STRING_TABLE(MyStrings, "foo", "bar", "baz"); -/// ProgmemStr str = MyStrings::get_progmem_str(index); // For ArduinoJson -/// const LogString *log_str = MyStrings::get_log_str(index); // For logging +/// ProgmemStr str = MyStrings::get_progmem_str(index, MyStrings::LAST_INDEX); // For ArduinoJson +/// const LogString *log_str = MyStrings::get_log_str(index, MyStrings::LAST_INDEX); // For logging /// template struct ProgmemStringTable { static constexpr size_t COUNT = sizeof...(Strs);