I think there are some mistakes in the timer.ini you refrenced so I adjusted my ini and it looks like this (I did it in german but it looks like you actually might be looking for this):
[Zahlen]
eins_bis_neun = ((ein | eine | eins | erst | erste):1 | (zwei | zweite):2 | (drei | dritte):3 | (vier | vierte):4 | (fünf | fünfte):5 | (sechs | sechste):6 | (sieben | siebte | siebente):7 | (acht | achte):8 | (neun | neunte):9)
zehn_bis_neunzehn = ((zehn | zehnte):10 | (elf | elfte):11 | (zwölf | zwölfte):12 | (dreizehn | dreizehnte):13 | (vierzehn | vierzehnte):14 | (fünfzehn | fünfzehnte):15 | (sechszehn | sechszehnte):16 | (siebzehn | siebzehnte):17 | (achtzehn | achtzehnte):18 | (neunzehn | neunzehnte):19)
zehner_bis_neunzig = ((zwanzig | zwanzigste):20 | (dreißig | dreißigste):30 | (vierzig | vierzigste):40 | (fünzig | fünfzigste):50 | (sechzig | sechzigste):60 | (siebzig | siebzigste):70 | (achtzig | achtzigste):80 | (neunzig | neunzigste):90)
einhundert_bis_neunhundert = <eins_bis_neun> (hundert | hundertste:hundert)
eins_bis_neunzehn = (<eins_bis_neun> | <zehn_bis_neunzehn>)
eins_bis_neunundneunzig = (<eins_bis_neunzehn> | [<eins_bis_neun> und] <zehner_bis_neunzig>)
[SetTimer]
stunde_halb_ausdruck = (<Zahlen.eins_bis_neun>{stunden} ein (halb){minuten:30} | (andert){stunden:1} (halb){minuten:30})
stunde_ausdruck = (((<Zahlen.eins_bis_neun>){stunden}) | <stunde_halb_ausdruck>) (stunde | stunden)
minute_halb_ausdruck = (<Zahlen.eins_bis_neunundneunzig>{minuten} ein (halb) {sekunden:30} | (andert){minuten:1} (halb){sekunden:30})
minute_ausdruck = (((<Zahlen.eins_bis_neunundneunzig>){minuten}) | <minute_halb_ausdruck>) (minute | minuten)
sekunde_ausdruck = (((<Zahlen.eins_bis_neunundneunzig>){sekunden})) (sekunde | sekunden)
zeit_ausdruck = ((<stunde_ausdruck> [[und] <minute_ausdruck>] [[und] <sekunde_ausdruck>]) | (<minute_ausdruck> [[und] <sekunde_ausdruck>]) | <sekunde_ausdruck>)
(stell | stelle | setze) [einen] timer (auf | für) <zeit_ausdruck>
timer (auf | für) <zeit_ausdruck>
And the Intent:
SetTimer:
action:
- service: timer.start
data:
entity_id: timer.rhasspy
duration: >
{% if stunden is not defined %}
{% set stunden = '00' %}
{% else %}
{% set stunden = stunden %}
{% endif %}
{% if minuten is not defined %}
{% set minuten = '00' %}
{% elif 'und' in minuten %}
{% set minuten_liste = minuten.split(' und ') %}
{% set minuten = (minuten_liste[1] | first) + minuten_liste[0] %}
{% else %}
{% set minuten = minuten %}
{% endif %}
{% if sekunden is not defined %}
{% set sekunden = '00' %}
{% elif 'und' in sekunden %}
{% set sekunden_liste = sekunden.split(' und ') %}
{% set sekunden = (sekunden_liste[1] | first) + sekunden_liste[0] %}
{% else %}
{% set sekunden = sekunden %}
{% endif %}
{{ stunden }}:{{ minuten }}:{{ sekunden }}
I’m actually in the middle of moving this to python because the Intents are getting convoluted but I hope you get the gist.