Cannot use unknown intent in intents filter

Hey,

I have the following app:

Intents:

  • OpenTheDoor

    • examples:
      let me in
      unlock the door
      open the door
  • TellPassword

    • slots:
      password - snips / city
    • examples:
      [Berlin] is the password
      the password is [New York]
  • SetPassword

    • slots:
      password - snips / city
    • examples:
      [Berlin] is the new password
      the new password is [Paris]
      set the password to [NewYork]

Actions

  • OpenTheDoor:
hermes.publish_continue_session(
  intentMessage.session_id,
  "Tell me the password!",
  [ "TellPassword" ]
);
  • TellPassword:
if len(intentMessage.slots.password) > 0:
  password = intentMessage.slots.password.first().value    
  if password is conf['secret']['password']:
    result_sentence = "Letting you in!"

  else:
    result_sentence = "Wrong password!"

else:
  result_sentence = "Sorry! I need a password."

hermes.publish_end_session(intentMessage.session_id, result_sentence)
  • SetPassword:
if len(intentMessage.slots.password) > 0:
  password = intentMessage.slots.password.first().value    
  conf['secret']['password'] = password

And I’m trying to test the following conversation:

  • (me) Hey Snips!
    • [ok] hot word detected
  • (me) Let me in!
    • [ok] intent OpenTheDoor detected
    • action invoked => continue with intent TellPassword, message: “Tell me the password”
  • (snips) Tell me the password!
    • [ok] this is the continue message
  • (me) The password is Berlin.
    • detected "the password is berlin’
    • [ERROR] “Cannot use unknown intent ‘TellPassword’ in intents filter”
[09:21:15] [Nlu] was asked to parse input "the password is berlin"
[09:21:15] [Nlu] reported an error: Cannot use unknown intent 'TellPassword' in intents filter
  • here I would expect the TellPassword's action callback to be called with password=berlin

Sam watch log:

[09:21:02] [Hotword] detected on site default, for model hey_snips
[09:21:02] [Asr] was asked to stop listening on site default
[09:21:02] [Hotword] was asked to toggle itself 'off' on site default
[09:21:02] [Dialogue] session with id '8e0491fb-7f72-43bc-aa50-f138503e4e5d' was started on site default
[09:21:02] [AudioServer] was asked to play a wav of 41.1 kB with id '796cecbd-a530-464d-a426-6d6274b9e9d4' on site default
[09:21:03] [AudioServer] finished playing wav with id '796cecbd-a530-464d-a426-6d6274b9e9d4'
[09:21:03] [Asr] was asked to listen on site default
[09:21:05] [Asr] captured text "let me in" in 2.0s
[09:21:05] [Asr] was asked to stop listening on site default
[09:21:05] [AudioServer] was asked to play a wav of 93.1 kB with id 'be875e23-f53f-4b5c-a310-95ef09444a2a' on site default
[09:21:06] [AudioServer] finished playing wav with id 'be875e23-f53f-4b5c-a310-95ef09444a2a'
[09:21:06] [Nlu] was asked to parse input "let me in"
[09:21:06] [Nlu] detected intent bluetiger9:OpenTheDoor with confidence score 1.000 for input "let me in"
[09:21:06] [Dialogue] New intent detected bluetiger9:OpenTheDoor with confidence 1.000
[09:21:06] [Dialogue] was ask to continue session with id 8e0491fb-7f72-43bc-aa50-f138503e4e5d by saying 'Tell me the password!'
[09:21:06] [Asr] was asked to stop listening on site default
[09:21:07] [Hotword] was asked to toggle itself 'off' on site default
[09:21:07] [Tts] was asked to say "Tell me the password!"
[09:21:08] [AudioServer] was asked to play a wav of 61.3 kB with id '4901bb23-a640-4798-b704-a24e27950a64' on site default
[09:21:10] [AudioServer] finished playing wav with id '4901bb23-a640-4798-b704-a24e27950a64'
[09:21:10] [Tts] finished speaking with id '00871ba0-66f1-4f2b-a43c-17dfcf1f4a49'
[09:21:10] [AudioServer] was asked to play a wav of 41.1 kB with id 'a9990649-5226-4716-a15f-6a53804dd259' on site default
[09:21:11] [AudioServer] finished playing wav with id 'a9990649-5226-4716-a15f-6a53804dd259'
[09:21:11] [Asr] was asked to listen on site default
[09:21:14] [Asr] captured text "the password is berlin" in 2.0s
[09:21:14] [Asr] was asked to stop listening on site default
[09:21:14] [AudioServer] was asked to play a wav of 93.1 kB with id 'b6e1cf69-9a56-4134-9e7b-681513b88295' on site default
[09:21:15] [AudioServer] finished playing wav with id 'b6e1cf69-9a56-4134-9e7b-681513b88295'
[09:21:15] [Nlu] was asked to parse input "the password is berlin"
[09:21:15] [Nlu] reported an error: Cannot use unknown intent 'TellPassword' in intents filter

[09:21:15] [AudioServer] was asked to play a wav of 61.1 kB with id 'f070f441-f7e8-4566-ab3a-3693be2f6e6f' on site default
[09:21:16] [AudioServer] finished playing wav with id 'f070f441-f7e8-4566-ab3a-3693be2f6e6f'
[09:21:16] [Dialogue] session with id '8e0491fb-7f72-43bc-aa50-f138503e4e5d' was ended on site default. The session was ended because an error happened: Receives error from component Nlu: { error: Cannot use unknown intent 'TellPassword' in intents filter
, context: the password is berlin }

[09:21:16] [Asr] was asked to stop listening on site default
[09:21:16] [Hotword] was asked to toggle itself 'on' on site default

Can somebody help me figure out what’s wrong?

Thanks,
Attila

(original topic: https://community.matrix.one/t/cannot-use-unknown-intent-in-intents-filter/2735)

i think its [“name:TellPassword”] where name is the user name that owns the intent… like my calculator app the intent would be “ozie:maths” etc