From 91b0b0dd70a590b43e516beb72a9ef0fee62c4bb Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 23 Mar 2026 20:47:44 -1000 Subject: [PATCH] Clarify color_mode lookup intent --- esphome/components/light/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/esphome/components/light/__init__.py b/esphome/components/light/__init__.py index 739f695908..17553cf696 100644 --- a/esphome/components/light/__init__.py +++ b/esphome/components/light/__init__.py @@ -265,8 +265,10 @@ async def setup_light_core_(light_var, config, output_var): if (initial_state_config := config.get(CONF_INITIAL_STATE)) is not None: # Emit a stateless lambda that constructs the initial state — values live # in flash as code, not stored in the LightState object (~40 bytes saved). - color_mode_str = initial_state_config.get(CONF_COLOR_MODE) - color_mode_expr = COLOR_MODES.get(color_mode_str, ColorMode.UNKNOWN) + # Map config string to C++ enum; defaults to UNKNOWN if not specified + color_mode_expr = COLOR_MODES.get( + initial_state_config.get(CONF_COLOR_MODE), ColorMode.UNKNOWN + ) initial_state = LightStateRTCState( color_mode_expr, initial_state_config.get(CONF_STATE, False),