Homebridge Cover take tilt as position

Background:
I have a “novo_n21_2a73_curtain” motor which work with mi home. It has open/close/stop control and set titl control. After add integration with Xiaomi Miot Auto, I got two entities: “NOVO Smart Curtain Motor Curtain Motor Control” as a select entity with option “pause/ close/ open”, and a cover entity which holds tilt value in the position field. By adding a homebridge integration including the cover, I have a curtain that will tilt only, and when tilted to 0, it appears to be closed.
Goal:
I would like to somehow merge the motor and the cover together as a template cover. Therefore, the homebridge might recogonized my custom template cover as one that have the functionality of OPEN/CLOSE/PAUSE and set tilt postion to some value.
PROBLEM:
Now the log is complaining about fomatting. And I have no idea to fix it. Please HELP!
Here is where I am:
CODE

cover:
  - platform: template
    covers:
      template_living_room_cutrain:
        device_class: curtain
        unique_id: template_living_room_cutrain
        tilt_template: "{{state_attr( 'cover.novo_n21_2a73_curtain','current_position') | int}}"
        open_cover:
            service: select.select_option
            target:
              entity_id: select.novo_n21_2a73_motor_control
            data:
              option: Open
        close_cover:
            service: select.select_option
            target:
              entity_id: select.novo_n21_2a73_motor_control
            data:
              option: Close
        stop_cover:
            service: select.select_option
            target:
              entity_id: select.novo_n21_2a73_motor_control
            data:
              option: Pause
        set_cover_tilt_position :
            service: cover.set_cover_position
            target:
              entity_id: cover.novo_n21_2a73_curtain
            data:
              tilt: '{{ tilt }}'

EVENT LOG
Event 158 fired 10:26 PM:

event_type: call_service
data:
  domain: system_log
  service: write
  service_data:
    logger: frontend.js.latest.202405010
    message: |-
      Unhandled promise rejection from Chrome 125.0.0.0 on Windows 10
      {
        "code": "invalid_format",
        "message": "extra keys not allowed @ data['tilt']"
      }
    level: debug
origin: LOCAL
time_fired: "2024-06-05T14:26:57.936831+00:00"
context:
  id: 01HZMCQFRG143RVGGJT2YZPDTE
  parent_id: null
  user_id: 530003b5ef3c46ea98dafec8d5aeecde

Event 157 fired 10:26 PM:

event_type: call_service
data:
  domain: cover
  service: set_cover_tilt_position
  service_data:
    entity_id: cover.template_living_room_cutrain
    tilt_position: 53
origin: LOCAL
time_fired: "2024-06-05T14:26:57.923683+00:00"
context:
  id: 01HZMCQFR3JGZH6NMTV5H109VM
  parent_id: null
  user_id: 530003b5ef3c46ea98dafec8d5aeecde