Enable Or Disable Intent in sencences.ini or Catch Multi Intent

Hello there,
I am new to Rhasspy and it’s such a great tool… I can find an answer (and a solution) for every doubt.
I need some help here…

My concern is about a more interactive way of using the assistant. Let’s say…
My [Intent_1] is a kind of command A B C, with A,B and C being three parameters…
Now the user say “command A B” … I would like the assistant to ask only for the missing part and the Intent Recognizer to catch that bit. I can obtain this if I add to the intent also rules with just one argument, for example:

values = (1..10)
colors1= (red | green | blue)
colors2= (cyan | yellow | magenta | black)   

[Intent_1]
command_1 <values >{A} <colors1>{B} <colors2>{C} 

 [Intent_1_support]
<values >{A} 
<colors1>{B} 
<colors2>{C} 

But what if there are two Intents with a piece of C? For example [Intent_2] D C.

[Intent_2]
command_2 (11..20){D}  <colors2>{C} 

[Intent_2_support]
(11..20){A} 
<colors2>{C} 

In this case only the first matching intent is returned, and the Intent_2 is never caught if user says just a color in colors2.

So basically, I would need one of the two:

  • enable or disable Intent _X_support (in sentences.ini or other file) or
  • let the Intent Recognition return more than a intent, so that I can contextually understand if it refers to Intent_1 or Intent_2.

Hope I was clear…
Thanks a lot .

Probably I was not clear enough.
What I would need is
to dynamically enable/disable rules in sentences.ini, or
let Fsticuffs return more than an Intent (when it applies).

Could you formulate your example for a real case? What are the utterances you want to say and what intents do you want to detect for these specific examples?

For example, I have a command like this

set the ($room) light to ($color)

and the user just say:

set the light to ($color)

I would like to ask him: “Which room?”

And then after I would need Rhasspy to catch only a [room] intent…
I know I can add a simple rule with just the rooms, but I don’t want this rule to be always enabled…
I would like to enable this rule when I need it.

Thanks…

You can define both rules and even give them a different intent title. However, I am not so sure how to do dialogs in rhasspy. I think you could speak the “Which room” via tts and r=directly wake up your mic (without waiting for the wakeword).
And I get you point now, you would need to switch to a different grammar for the answer.

For a start, you could just add your rooms as simple answers to your grammar.

@ulno ou got perfectly my point…
I tried to do like this, but I have some problem…
For example, I have another simple rule that contains only numbers, let’s say from 1 to 300.
In this case the detection often fall in one of the numbers…
So I would prefer to be able to enable/disable rules… I personally did something with Cortana, and that solution worked perfectly…