From 22f3a2b4de2b8ee3b129ed91989f1559acb84e6a Mon Sep 17 00:00:00 2001 From: DataGhost <3911340+DataGhost@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:07:32 +0100 Subject: [PATCH] Check for external light mode (temperature vs rgb) switch --- custom_components/adaptive_lighting/switch.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index f00227dc..b7f8b762 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -767,6 +767,30 @@ def _attributes_have_changed( context.id, ) return True + + if ( + adapt_color + and ( + ( + old_attributes.get(ATTR_COLOR_TEMP_KELVIN) + and not new_attributes.get(ATTR_COLOR_TEMP_KELVIN) + ) + or ( + old_attributes.get(ATTR_RGB_COLOR) + and not new_attributes.get(ATTR_RGB_COLOR) + ) + ) + ): + last_mode = "color_temp" if old_attributes.get(ATTR_COLOR_TEMP_KELVIN) else "rgb" + current_mode = "color_temp" if new_attributes.get(ATTR_COLOR_TEMP_KELVIN) else "rgb" + _LOGGER.debug( + "Light mode of %s changed from %s to %s with context.id='%s'", + light, + last_mode, + current_mode, + context.id, + ) + return True return False