Fibaro Rollershutter setup as MQTT Cover

Hi I use Z-WAVE JS UI to connect to my Z-Wave devices and until now
I don’t use MQTT discovery or WS Server. Instead I manually created MQTT entities for the devices to just have the the entities I really need showing up in home assistant.
Now I added a Fibaro roller shutter and want to create a corresponding MQTT Cover.

My Problem the MQTT Cover expects a Command Topic and Commands to be sent via this topic to control the shutter. Unfortunately the Fibaro Roller Shutter works in a different way. It expects different topics for specific commands.

How can I get it to work together. Any hints are greatly appreciated

I think I can answer my own question.
Thanks to @DavZero I got the hint to solve this. You need to define an MQTT Sensor to get the actual position and then define a cover template with the right MQTT commands to get the Cover entity to work as seen here:

The remaining problem is that there were quite some changes in home assistant and wave JS which needs some changes.

To get the MQTT Sensor you need to define a sensor within the mqtt platform as to the new rules for mqtt devices. Also the topic names have changed.

  - name: "rollladen_kueche_west_pos"
    state_topic: "zwave2mqtt/53/38/1/currentValue"

then we use the template platform to define the cover:

- platform: template
      friendly_name: "Rollladen Küche West"
      position_template: "{{ ( ( states('sensor.rollladen_kueche_west_pos') | float ) * 100 / 99 ) | round }}"
        service: mqtt.publish
          topic: "zwave2mqtt/53/38/1/Up/set"
          payload: 'true'
        service: mqtt.publish
          topic: "zwave2mqtt/53/38/1/Down/set"
          payload: 'true'
        service: mqtt.publish
          topic: "zwave2mqtt/53/38/1/Down/set"
          payload: 'false'
        service: mqtt.publish
          topic: "zwave2mqtt/53/38/1/targetValue/set"
          payload: "{{ (position | float ) * 99 / 100 | round}}"
      icon_template: >-
          {% if states('sensor.rollladen_kueche_west_pos')|float > 0 %}
          {% else %}
          {% endif %}