LVGL indicator tracking a LVGL arc

Trying to create a climate widget using LVGL.

I want the colored tick indicator to track the setting knob as I move it i.e. the yellow knob should be followed by the blue-to-red tick colors…

      - meter:
            id: meter_ticks
            hidden: false #true
            height: 395
            width: 395
            align: CENTER
            bg_opa: TRANSP
            border_width: 0
            scales:
              range_from: ${min_temp}
              range_to: ${max_temp}
              # Set temperature ticks background
              ticks:
                count: 60
                length: 26
                width: 3
                color: ${color_temp_ticks}
              indicators:
                # Set temperature ticks
                - tick_style:
                    id: target_temp_ticks
                    start_value: ${min_temp}
                    end_value: ${default_temp} # Should be the same as the set temperature label
                    color_start: blue #${color_temp_set}
                    color_end: red #${color_temp_set}
                    width: 3

- arc:
            id: target_temp_knob
            hidden: false #true
            align: CENTER
            arc_opa: TRANSP
            adjustable: true
            value: ${default_temp} # Should be the same as the set temperature needle
            min_value: ${min_temp}
            max_value: ${max_temp}
            width: 367
            height: 367
            arc_width: 25
            indicator:
              arc_opa: TRANSP
              arc_width: 25
            knob:
              bg_color: ${color_temp_set}
              border_width: 0
            on_change:
              then:
                - lvgl.indicator.update
                    id: target_temp_ticks
                    value: !lambda return x;
                - lvgl.label.update:
                    id: target_temp_label
                    text:
                      format: "%.0f"
                      args: [ 'x' ]
            on_release:
              then:
                - homeassistant.action:
                    action: climate.set_temperature
                    data:
                      entity_id: ${climate_entity}
                      temperature: !lambda return x;

It used to work but now I get the following error at build time:

File "/esphome/esphome/components/lvgl/widgets/__init__.py", line 440, in get_widget_generator
    raise Invalid(
voluptuous.error.Invalid: Widget target_temp_ticks not found, yet all widgets should be defined by now

Going by the docs it should be the arc_id and lvgl.arc.update . Possible changes that were finally implemented in the latest release… I believe a lot of older LVGL is being slowly deprecated. Is the line the error is on under meter or arc widget? Regardless I believe it needs to be a widget if which is why it’s complaining about that widget not existing.

EDIT: updated example.thats more applicable to your scenerio

sensor:
  - platform: ...
    id: values_between_-10_and_10
    on_value:
      - lvgl.indicator.update:
          id: val_needle
          value: !lambda return x;
      - lvgl.label.update:
          id: val_text
          text:
            format: "%.0f"
            args: [ 'x' ]
lvgl:
    ...
    pages:
      - id: gauge_page
        widgets:
          - obj:
              height: 240
              width: 240
              align: CENTER
              bg_color: 0xFFFFFF
              border_width: 0
              pad_all: 4
              widgets:
                - meter:
                    height: 100%
                    width: 100%
                    border_width: 0
                    bg_opa: TRANSP
                    indicator:
                      bg_opa: TRANSP
                    align: CENTER
                    scales:
                      - range_from: -10
                        range_to: 10
                        angle_range: 180 # sets the total angle to 180 = starts mid left and ends mid right
                        indicators:
                          - arc: # first half of the scale background
                              color: 0xFF3000
                              width: 31
                              start_value: -10
                              end_value: 0
                          - arc: # second half of the scale background
                              color: 0x00FF00
                              width: 31
                              start_value: 0
                              end_value: 10
                          - line: # needle
                              id: val_needle
                              width: 8
                              value: -3
                              rounded: false
                              length: 33
                              radial_offset: 73
                - label: # gauge numeric indicator
                    id: val_text
                    text_font: montserrat_48
                    align: CENTER
                    y: -5
                    text: "-3"
                - label: # lower range indicator
                    text_font: montserrat_18
                    align: CENTER
                    y: 8
                    x: -90
                    text: "-10"
                - label: # higher range indicator
                    text_font: montserrat_18
                    align: CENTER
                    y: 8
                    x: 90
                    text: "+10"