Garage cover state (via Shelly) stopped updating in UI

I wasn’t paying attention and it seems that one of the last 3 releases has somehow changed the way my garage door cover reports through the UI. I use a Shelly One+ with the following code in my configuration.yaml file:

template:
  - sensor:
      - name: "Garage Door Sensor"
        state: >
          {% if is_state('binary_sensor.shelly_garage_sensor', 'on') and is_state('switch.shelly_garage_relay', 'on') %}
            opening
          {% elif is_state('binary_sensor.shelly_garage_sensor', 'off') and is_state('switch.shelly_garage_relay', 'on') %}
            closing
          {% elif is_state('binary_sensor.shelly_garage_sensor', 'off') %}
            open
          {% else %}
            closed
          {% endif %}

cover:
  - platform: template
    covers:
      garage_door_cover:
        device_class: garage
        unique_id: garage_door_shelly_01
        friendly_name: "Garage Door"
        value_template: "{{ states('sensor.garage_door_sensor') }}"
        open_cover:
          - condition: state
            entity_id: sensor.garage_door_sensor
            state: "closed"
          - service: switch.toggle
            target:
              entity_id: switch.shelly_garage_relay
        close_cover:
          - condition: state
            entity_id: sensor.garage_door_sensor
            state: "open"
          - service: switch.toggle
            target:
              entity_id: switch.shelly_garage_relay
        stop_cover:
          service: switch.toggle
          target:
            entity_id: switch.shelly_garage_relay
        icon_template: >-
          {% if is_state('cover.garage_door_cover', 'opening') or is_state('cover.garage_door_cover', 'closing') %}
            mdi:garage-alert
          {% elif is_state('cover.garage_door_cover', 'open') %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}

Using developer tools, I confirmed that the states are, in fact, updating – at least ‘open’ and ‘closed’ (can’t confirm ‘opening’ and ‘closing’).

On my dashboard, I have the following custom button card:

type: custom:button-card
entity: cover.garage_door_cover
name: Garage Door
show_entity_picture: true
styles:
  icon:
    - width: 50%
    - color: rgb(50,200,255)
  card:
    - height: 120px
tap_action:
  action: call-service
  service: automation.trigger
  service_data:
    entity_id: automation.toggle_garage
    skip_condition: false

The icon used to update to “opening” or “closing” briefly based on the relay state, and then settle to “open” or “closed”, appropriately. Now, it just shows the “closed” state at all time (even though the door may be open).

The garage door works just fine - the problem seems to be with the dashboard logic. Again, I’m sure I missed something in a release note but I’m having difficulty figuring out the issue.

Can anyone help to shed light on this issue? All the states are correct and change correctly. The only thing not updating properly is the icon that is part of the custom button card (and it used to update fine). I’m running the latest version of custom button card.

Bumping this one last time to see if anyone can shed light on why this used to work fine up to three or four release ago, and now the icon does not change. Icon doesn’t change on the stock entity card either.