Intent handling DISABLED

Hi there,
Just installed docker version and trying to use it with existing Snips and NodeRed environment. For some reason Intent Handling disabled under the settings and I see these errors:

[DEBUG:2431315] DialogueManager: handling -> ready
[DEBUG:2431315] HermesMqtt: Published intent to hermes/nlu/intentNotRecognized
[DEBUG:2431315] WebSocketObserver: {“text”: “”, “intent”: {“name”: “”, “confidence”: 0}, “entities”: [], “speech_confidence”: 0, “wakeId”: “”, “siteId”: “default”, “slots”: {}}
[DEBUG:2431314] DialogueManager: recognizing -> handling
[DEBUG:2431314] DialogueManager: {‘text’: ‘’, ‘intent’: {‘name’: ‘’, ‘confidence’: 0}, ‘entities’: [], ‘speech_confidence’: 0, ‘wakeId’: ‘’, ‘siteId’: ‘default’}
[DEBUG:2431313] DialogueManager: decoding -> recognizing
[DEBUG:2431313] DialogueManager: (confidence=0)
[DEBUG:2431313] PocketsphinxDecoder: Decoded WAV in 0.0002758502960205078 second(s)
[DEBUG:2431311] HermesMqtt: Subscribed to hermes/asr/stopListening
[DEBUG:2431310] PocketsphinxDecoder: rate=16000, width=2, channels=1.
[DEBUG:2431310] HermesMqtt: Subscribed to hermes/asr/startListening
[DEBUG:2431310] DialogueManager: awake -> decoding
[DEBUG:2431309] HermesCommandListener: listening -> started
[DEBUG:2431309] HermesCommandListener: Received stopListening
[DEBUG:2428474] HermesCommandListener: started -> listening
[DEBUG:2428473] DialogueManager: awake -> awake
[DEBUG:2428473] DialogueManager: ready -> awake
[DEBUG:2428472] HermesCommandListener: Received startListening
[DEBUG:2428472] HermesCommandListener: Received startListening
[INFO:2416214] quart.serving: 172.17.0.1:54350 POST /api/train 1.1 200 36 1573601
[DEBUG:2416211] DialogueManager: training_loading -> ready

Typing sentense to get intent using web ui works fine.

Can someone confirm that intent recognition works with “snips” ?

How exactly do you “use it with existing Snips”? What’s your setup and what exactly are you doing?

I did deploy Rhasspy as Docker container.

I am trying to get Rhasspy to parse and recognize intent by listening to mqtt message generated by Snips. So when I say “hey snips what time is it ?” I get this error in Rhasspy:

[DEBUG:2905732] DialogueManager: handling -> ready
[DEBUG:2905732] WebSocketObserver: {“text”: “”, “intent”: {“name”: “”, “confidence”: 0}, “entities”: [], “speech_confidence”: 1, “wakeId”: “”, “siteId”: “default”, “slots”: {}}
[DEBUG:2905732] DialogueManager: recognizing -> handling
[DEBUG:2905732] DialogueManager: {‘text’: ‘’, ‘intent’: {‘name’: ‘’, ‘confidence’: 0}, ‘entities’: [], ‘speech_confidence’: 1, ‘wakeId’: ‘’, ‘siteId’: ‘default’}
[ERROR:2905730] FsticuffsRecognizer: in_loaded
Traceback (most recent call last):
File “/usr/share/rhasspy/rhasspy/intent.py”, line 208, in in_loaded
assert recognitions, “No intent recognized”
AssertionError: No intent recognized
[DEBUG:2905729] DialogueManager: decoding -> recognizing
[DEBUG:2905729] DialogueManager: (confidence=1)
[DEBUG:2905083] KaldiDecoder: [‘bash’, ‘/root/.config/rhasspy/profiles/en/kaldi/model/decode.sh’, ‘/opt/kaldi’, ‘/root/.config/rhasspy/profiles/en/kaldi/model’, ‘/root/.config/rhasspy/profiles/en/kaldi/model/graph’, ‘/tmp/tmp87oluty2.wav’]
[DEBUG:2905058] HermesMqtt: Subscribed to hermes/asr/stopListening
[DEBUG:2905056] HermesMqtt: Subscribed to hermes/asr/startListening
[DEBUG:2905048] DialogueManager: awake -> decoding
[DEBUG:2905047] HermesCommandListener: listening -> started
[DEBUG:2905047] HermesCommandListener: Received stopListening
[DEBUG:2902646] HermesCommandListener: started -> listening

My snips setup works ok, I am using it for past 2 years to control home automation and as a personal assistant. Automation part done in NodeRed.

So you’re doing intent recognition with Snips NLU, and are trying to do intent handling in Rhasspy? Or what’s your goal?

There is currently no way to use Snips intent recognition in Rhasspy. I see in your logs that you’re using Fsticuffs. There are a couple of options for intent recognition in the Rhasspy docs.

Or do you just want to use snips-audio-server to forward audio to Rhasspy?

Sorry … I want snips-audio-server to forward audio to Rhasspy and do intent recognition using Rh… May be I am confused, but I was under impression that if Rh can subscribe to hermes/asr/startListening and decode audio provided by snips then it can do intent recognition from decoded audio.

Yes that’s possible:

  • Set the Site ID to your Snips setup’s site ID (currently only one site ID is supported).
  • Choose Get microphone input remotely with MQTT (Hermes protocol) for audio recording.
  • Choose Play sound remotely with MQTT (Hermes protocol) for audio playing.

Well, that is what I have configured.

Can you double-check? In the first screenshot you showed, the microphone bar is disabled (in red). The microphone bar should be green and show ‘hermes’.

Oh sorry, my bad. Changed settings multiple times and forgot to enable mic. It works now.

Are you running the latest Rhasspy release (2.4.14)? If not, can you update the container? And if it’s the latest release, can you open an issue on the issue tracker with this error message? That doesn’t look right.

I’m not sure, I haven’t used Rhasspy with Node-RED yet. Someone else can probably help you with this.