Fan Preset Speeds

For some reason that clicked and this seems to work, you basically redirect the default 33/66/99 of the buttons to new values.

- fan:
      - name: "Fan Master"
        unique_id: 0c14dcef-7658-4db5-9e4f-9f4d9f298123
        state: "{{ states('fan.master_fan_2') }}"
        turn_on:
          - action: fan.turn_on
            target:
              entity_id: fan.master_fan_2
        turn_off:
          - action: fan.turn_off
            target:
              entity_id: fan.master_fan_2
        percentage: >
          {{ state_attr('fan.master_fan_2', 'percentage') }}
        speed_count: 3
        set_percentage:
          - action: fan.set_percentage
            target:
              entity_id: fan.master_fan_2
            data:
              percentage: >-
                {% if percentage >= 70 %}
                  100
                {% elif percentage >= 34 %}
                  60
                {% elif percentage > 0 %}
                  20
                {% else %}
                  0
                {% endif %}
        preset_modes:
          - "off"
          - "low"
          - "medium"
          - "high"
        preset_mode: >
          {% if is_state('fan.master_fan_2', 'on') %}
            {% if state_attr('fan.master_fan_2', 'percentage') >= 70  %}
              high
            {% elif state_attr('fan.master_fan_2', 'percentage') >= 34 %}
              medium
            {% else %}
              low
            {% endif %}
          {% else %}
            off
          {% endif %}
        set_preset_mode:
          - action: fan.set_percentage
            target:
              entity_id: fan.master_fan_2
            data:
              percentage: >-
                {% if preset_mode == 'high' %}
                  100
                {% elif preset_mode == 'medium' %}
                  60
                {% elif preset_mode == 'low' %}
                  20
                {% else %}
                  0
                {% endif %}