Need help with creating garage door cover template

I have a GoControl Garage Door z-wave controller and I’m sick of it. The tilt sensor will never work for more than a few days, whereas the cover controls work flawlessly all the time. I have added a zigbee door sensor to the garage door and use that as the state reporting for the door. This works fine is Node-RED as I’m able to check the status of the zigbee door sensor, and call the cover service needed depending on the state.

Where it’s becoming a pain is on my tablet dashboards, so I’m trying to create a template cover. Here is what I have so far, working off of the official documents .

In my cover.yaml -

- platform: template
  covers:
    garage_door:
      device_class: garage
      friendly_name: "Garage Door"
      value_template: "{{ states('binary_sensor.garage_door')|float > 0 }}"
      open_cover:
        service: cover.open_cover
        entity_id: cover.door_garage
      close_cover:
        service: cover.close_cover
        entity_id: cover.door_garage

The open and close cover services work fine, but the state is never reported correctly. What am I doing wrong?

I redid it exactly as the garage door example using my own entities and it is still not working correctly.

- platform: template
  covers:
    garage_door:
      device_class: garage
      friendly_name: "Garage Door"
      position_template: "{{ states('binary_sensor.garage_door') }}"
      open_cover:
        - condition: state
          entity_id: binary_sensor.garage_door
          state: "on"
        - service: cover.open_cover
          target:
            entity_id: cover.door_garage
      close_cover:
        - condition: state
          entity_id: binary_sensor.garage_door
          state: "off"
        - service: cover.close_cover
          target:
            entity_id: cover.door_garage
      stop_cover:
        service: cover.stop_cover
        target:
          entity_id: cover.door_garage
      icon_template: >-
        {% if states('sensor.garage_door')|float > 0 %}
          mdi:garage-open
        {% else %}
          mdi:garage
        {% endif %}