Make preset_mode_template and percentage_template based off the same value

Okay, so I know this is confusion, but I need some help. I’ve got the LZW36 fan. It supports “breezey” mode by setting the percentage of the fan to 1, as well as the standard off, low, medium, and high speeds. I’m trying to build a simple template fan that enables that option. Here’s what I have so far:

my_fan_template:
  friendly_name: "My Fan"
  value_template: "{{ states('fan.actual_fan_device') }}"
  percentage_template: "{{ state_attr('fan.actual_fan_device', 'percentage') }}"
  preset_mode_template: >
    {% if is_state_attr('fan.actual_fan_device', 'percentage', 1) %}
      breezy
    {% endif %}
  turn_on:
    service: fan.turn_on
    entity_id: fan.actual_fan_device
  turn_off:
    service: fan.turn_off
    entity_id: fan.actual_fan_device
  set_percentage:
    service: fan.set_percentage
    entity_id: fan.actual_fan_device
    data:
      percentage: "{{percentage}}"
  set_preset_mode:
    service: fan.set_percentage
    entity_id: fan.actual_fan_device
    data:
      percentage: 1
  preset_modes:
    - 'breezy'
  speed_count: 3

This pretty much works, except for that I can never get the fan state to actually report “breezy” mode. If I set the preset mode to breezey, it sets the fan percentage to 1. Then if I go check the state, it says the speed is “low”, the preset_mode is null, and the percentage is 1. I want it to report preset_mode as breezy.

I tried having percentage_template only return the value if it was > 1, but when it’s 1, HA gives this error:

ERROR (MainThread) [homeassistant.components.template.fan] Received invalid percentage:

It looks like it’s not possible based on what I see here: core/fan.py at e5c70c87896686717d45f5fe7d06b3af064a93ef · home-assistant/core · GitHub But I’m hoping I’m wrong.

Did you get anywhere with this? I’m having the same problem. I’ve never seen anyone with a working preset_mode_template.