🌟 Light Transition Effect - RGB - Kelvin - Brightness

:star2: Light Transition Effect

:memo: Description

This blueprint offers a versatile and customizable solution for creating smooth transitions in your smart lights. Whether adjusting colors, temperature, or brightness, it simulates natural, gradual changes using software—perfect for lights that lack built-in hardware transition effects.

Import Blueprint


:art: Features

  • Color Modes: Supports both RGB and Temperature-based transitions.
  • Dynamic Timing: Specify the total transition time and step intervals for smooth changes.
  • Brightness Control: Adjust brightness from an initial value to a target level.
  • Works with Any Light: Compatible with any RGB or dimmable light entity in Home Assistant.
  • Linear Transition: Smooth and even transitions over time.

:inbox_tray: Inputs

Input Description Default
light_entity The light entity to control. -
color_mode Transition mode: RGB or Temperature. RGB
initial_color Starting RGB color of the light. [255, 0, 0]
target_color Target RGB color. [255, 0, 0]
initial_temp Starting color temperature (Kelvin). 2700
target_temp Target color temperature (Kelvin). 6500
initial_brightness Starting brightness (as a percentage). 1%
target_brightness Final brightness (as a percentage). 100%
transition_time Total transition time (by duration). 1 minute
step_time Time interval between transition steps (seconds). 1 second


:wrench: How It Works

  1. Turn On the Light: The script initializes your light with the specified brightness and color settings.
  2. Transition: Gradually changes the light’s properties over the specified transition time, using the chosen colors, brightness and step intervals.
  3. Final State: The light ends at the target brightness and color values.
  4. Early Cut Off: The script will end early if the light is turned off.

:rocket: Usage

  1. Copy the GitHub link or click on the badge below.
  2. Import it into Home Assistant via the Blueprints interface.
  3. Create a new script using the blueprint.

:link: Invite Badge

Use this badge to add the blueprint to your setup:

Import Blueprint

Updated Transition Time so it is no longer a slider in seconds and is now a duration input that allows seconds, minutes and hours. Should be more user friendly for longer durations.

Nice simple script, thank you.
I had to edit it to change the minimum value for the temp selector (mine goes as low as 2200K).
Perhaps it is possible de gather the min and max from the entity attributes ?