How can I execute a YAML function by pressing a button?

Hello community,
I have written a function that I want to use to program my heating system to heat at certain times and run in frost protection mode at others. I have already configured an interface for this.

When I press “Heizzeiten schreiben” the function should be executed.
How can I call this function when the button is pressed?

This is the code I created

mqtt:
  number:
    - name: "open3e Heizugszeiten setzen"
      unique_id: open3e_heizugszeiten_setzen
      default_entity_id: number.open3e_heizugszeiten_setzen
      device_class: temperature
      command_topic: "open3e/cmnd"
      command_template: >
        {% set heizen_start1 = states('input_datetime.heizen_start1') [:5]  %} 
        {% set heizen_ende1 = states('input_datetime.heizen_ende1') [:5]  %} 
        {% set heizen_start2 = states('input_datetime.heizen_start2') [:5]  %} 
        {% set heizen_ende2 = states('input_datetime.heizen_ende2') [:5]  %} 
        {% set heizen_start3 = states('input_datetime.heizen_start3') [:5]  %} 
        {% set heizen_ende3 = states('input_datetime.heizen_ende3') [:5]  %}
        {% if  ((heizen_start1=='00:00') and (heizen_ende1=='00:00')) %}
        {% set counter_anzahl = '0' %}
        {% elif  ((heizen_start2=='00:00') and (heizen_ende2=='00:00')) %}
        {% set counter_anzahl = '1' %}
        {% elif  ((heizen_start3=='00:00') and (heizen_ende3=='00:00')) %}
        {% set counter_anzahl = '2' %}
        {% else %}
        {% set counter_anzahl = '3' %}
        {% endif %}
        {% set wochentag = states('input_select.wochentag') %}
        {% if (wochentag=='Montag') %}
        {% set wochentagsID = '761' %}
        {% elif (wochentag=='Dienstag') %}
        {% set wochentagsID = '762' %}
        {% elif (wochentag=='Mittwoch') %}
        {% set wochentagsID = '763' %}
        {% elif (wochentag=='Donnerstag') %}
        {% set wochentagsID = '764' %}
        {% elif (wochentag=='Freitag') %}
        {% set wochentagsID = '765' %}
        {% elif (wochentag=='Samstag') %}
        {% set wochentagsID = '766' %}
        {% elif (wochentag=='Sonntag') %}
        {% set wochentagsID = '767' %}
        {% endif %}
        {% set heizzeiten1='' %}
        {% set heizzeiten2='' %}
        {% set heizzeiten3='' %}
        {% if counter_anzahl>'0' %}
        {% set heizzeiten1='{"Start": "'+ heizen_start1 + '", "Stop": "' + heizen_ende1 + '", "Unknown": "0000", "Mode": 3}' %}
        {% endif %}
        {% if counter_anzahl>'1' %}
        {% set heizzeiten2='{"Start": "'+ heizen_start2 + '", "Stop": "' + heizen_ende2 + '", "Unknown": "0000", "Mode": 3}' %}
        {% endif %}
        {% if counter_anzahl>'2' %}
        {% set heizzeiten3='{"Start": "'+ heizen_start3 + '", "Stop": "' + heizen_ende3 + '", "Unknown": "0000", "Mode": 3}' %}
        {% endif %}

        {% set cmddata = '{"Count": ' + counter_anzahl + ', "Schedules": [' + heizzeiten1 + heizzeiten2 + heizzeiten3 + ']' %}
        {% set cmd = {'mode': 'write', 'data':[[wochentagsID, cmddata]]} %}
        {{ cmd | to_json }}
      icon: mdi:clock-time-two-outline

Thanks for your help.
Christopher

I don’t seen the config for any “function” I see config for an entity. You don’t run/execute entities.

You can update them. Use the homeassistant.update_entity action assigned to the button tap action if you want to update your number entity when you press the button.

Thanks, that helped me a lot.
Greetings Christopher

Hello,
I don’t want to use HACS.