Help required with dimmer automation

Hi,

I’m trying to get a dimmer automation working, but can’t figure out why it’s not working. In the example below, I’m trying to get a light to come on at 15% at a fixed time, wait for 1 minute and then start ramping up to 100% over 10 minutes (600 seconds). The first trigger works, in that it comes on at the set time at 15%, but it never moves to the ramping up to 100%.

I don’t really need the 1 minute delay, all I’m really looking for is the light to turn on at 15% at the trigger time and ramp up to 100% over time. I only put the delay in in case setting the 15% and the 100% ramp at the same time caused and issue.

Ultimately what I want is to ramp up over time, stay at the 100% for a time and then ramp back down over time. A sort of sunrise, sunset ramp.

alias: Vivarium Dimmer - Sunrise
description: ""
trigger:
  - platform: time
    at: "18:58:00"
condition: []
action:
  - action: light.turn_on
    metadata: {}
    data:
      brightness_pct: 15
    target:
      device_id: ceccba121d76f232dd999e32f9cbebb4
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
  - action: light.turn_on
    metadata: {}
    data:
      brightness_pct: 100
      transition: 600
      brightness_step_pct: 5
    target:
      device_id: ceccba121d76f232dd999e32f9cbebb4
mode: single

As per my understanding, this will trigger only once. You may have to repeat the above with number of times or percentage of brightness to achieve what you are looking for. Some examples are here


automation:
  - trigger:
      - platform: state
        entity_id: binary_sensor.xyz
        to: "on"
    condition:
      - condition: state
        entity_id: binary_sensor.something
        state: "off"
    mode: single
    action:
      - alias: "Repeat the sequence UNTIL the conditions are true"
        repeat:
          sequence:
            # Run command that for some reason doesn't always work
            - action: shell_command.turn_something_on
            # Give it time to complete
            - delay:
                milliseconds: 200
          until:
            # Did it work?
            - condition: state
              entity_id: binary_sensor.something
              state: "on"