Servo transition_length: 2s not working

Putting any number in the optional transition length creates a slow then fast then slow movement. I had a note years ago that it didn’t work then and I just tried it again with the latest esphome version… Still not working.
Has anyone notice this option isn’t working?

servo:
  - id: my_servo
    output: pwm_output

  - id: my_servo2
    output: pwm_output2
    transition_length: 5s

Below is the example from ESP Home… have a look at it and then look at your code.

# Example configuration entry
servo:
  - id: my_servo
    output: pwm_output

# Example output platform
# On ESP32, use ledc output
output:
  - platform: esp8266_pwm #what ESP are you using? 
    id: my_servo2
    pin: D1 #what pin are you using?
    frequency: 50 Hz
    transition_length: 5s

I’m playing with a server right now and I have a similar problem. So I set the servo movement time, upload it to esphome and the first movement ignores the set time length of the movement, only when the second moves according to the set time. I have no idea what it could be, but it’s causing quite a problem. I have the code like this:

# Example output platform
# On ESP32, use ledc output
output:
  - platform: ledc
    id: pwm_output
    pin: GPIO32
    frequency: 50 Hz

# Example configuration entry
servo:
  - id: my_servo
    output: pwm_output
    transition_length: 10s
    min_level: 3%
    idle_level: 7.5%
    max_level: 12%
    auto_detach_time: 10s

maybe have a read of this

I’m having the same problem: the very first servo movement after boot is jerky, ignoring the transition_length. From the second movement, everything works fine.

Here is my config:

servo:
  - id: rotation_servo
    output: servo_pwm_output
    transition_length: 10s
    auto_detach_time: 1s
    restore: false

output:
  - platform: ledc
    id: servo_pwm_output
    pin: GPIO17
    frequency: 50Hz

I tried both with restore: true and restore: false, with no change in behavior.

At this point I suspect it’s a software bug in ESPhome or underlying libraries, because we’re 3 users using (probably) different servos.

Also, the jerky behavior happens with just a ESP reboot, so without removing power to the servo.

Have the same issue, only that the transition time seems to be always ignored.

I created an issue in github:

Checked the code and no obvious issue is visible ( have no debug setup) - but the log definitly shows that the transition time is ignored