home-assistant / intents

Intents to be used with Home Assistant
https://developers.home-assistant.io/docs/voice/overview/
Creative Commons Attribution 4.0 International
464 stars 534 forks source link

More than 1 sentence should be checked if matched #2551

Open salleq opened 2 weeks ago

salleq commented 2 weeks ago

For now I only have one example but I'll fill in more if I (again) see other similar issues. But for instance on timers - I can start a timer like - "<timer_set> <timer_duration> (ajastin|ajastus)" And I would say (in Finnish): "Aloita tunnin ajastin" which translates to "Start one hour timer" but without the numeral "one" - we don't necessarily say "1 tunnin" even though that's also correct.

Then if I want to cancel the timer and I have these two sentences: ` - " (ajastin|ajastus)"

If I then change the latter sentence to: - "<timer_cancel> {timer_name:name} niminen (ajastin|ajastus)"

Then it will only match with the sentence correctly.

However I think Hassil should try these both sentences - first the named one of course and if that's not found then the other one. There shouldn't be conflicts in having a name of "Tunnin". Now canceling the timer works inconsistently on starting it, unless I add the "niminen" word for the latter sentence.

tetele commented 2 weeks ago

Can this be solved by adding some "default" values to the <time_duration> like, for example, "half" is used in English https://github.com/home-assistant/intents/blob/cdb1ac2d57c88acf7cf16344ce4312f0defa399b/sentences/en/_common.yaml#L407 ?

salleq commented 2 weeks ago

I use those "default values" for quarter hour, half hour and "hour". Those work when starting the timer just fine, it's canceling the timer which becomes problematic unless I have that filler word for named timers.