WebTest - Test your assistant on a local website without talking


Ok so I don’t know if this work normally but when I’m connect with this tool, my voice commands aren’t work and text send commands aren’t launching actions.

On screenshots we can see :

  • at 06:42.38 it’s the normal work. I asked snips with voice to turn on ‘mode cinema’ and it worked.
  • at 06:43:25 I asked the same thing but with the tool connected, it didn’t work.
  • at 06:43:49 I send the command wakeword then input from your tool, it didn’t work.

These results are normal or actions must be trigger ?


First look: don‘t use an existing siteId, both the Tool and snips try to answer the listen request(ASR): this confuses the dialogManager

Second look:
Seems to be the double PlayFinished. Turning off the audio feedback might work (but be fast, your input must occur before the real snips reports „no voice detected“… quite ugly workaround:/ )


Oh yes seems to be the first solution ! Great tool !

It will be easier to test action without wake up every one :slight_smile:

Just a question, is it possible to send input directly without wakeword ? I think about a chat with snips but it must be difficult to have text response from it.


A direct „chat“ is on my list. It basically just means: if there is no sessionId, first send a „wakeword/detected“

But from my side that will need at least 2-3 weeks ^^

Edit: the text response is already there(last TTS), or do you mean something else?


Yes indeed, I didn’t see tts reply because my action didn’t have one.

But now it’s perfect ! Can’t wait to see next feature.

Great work ! It must be add to snips console or something, it’s a must have.


I edited the snips mosquitto.conf with sudo nano and now my mqtt broker won’t start:

Could not start MQTT client on localhost:1883                              
-> caused by: Connection refused (os error 111)

Guess I maybe messed up the ownership of the mosquitto.conf ?
What can I do to restore the defaults?

Edit: Never mind.

Found out by

sudo systemctl stop mosquitto
sudo mosquitto -v -c /etc/mosquitto/mosquitto.conf

That I had a syntax error in my .conf


Just installed the new platform update, and it looks as if this web console is no longer working.

It triggers the hotword correctly and Snips goes into listening mode for ASR, but then simulating an input doesn’t continue on to NLU processing.

It looks like the fields range_start and range_end have been changed to rangeEnd and rangeStart now in the hermes/asr/textCaptured message and the hermes/nlu/query message.

A quick change of those fields in app.js (around line 25 and 30) and the web tester seems to be working again (at least its generating a mqtt message for my intent)

There might be more that’s not quite working right, but this was just the first item I found that I thought I’d share.


1 Like

Thanks for your analysis, chris!

I adjusted it like you mentioned and ran a few more tests - the rest seems to be still working!


Hello Philipp,

Great tool and thanks for providing the code as well.

As far as I can see, all works fine and I can see the benefits of not having the actions firing every time, but is there a way to get the actions fired if needed?



Hi Vandaag,
you mean something like “pretend an input on device X” and then the output and action will be performed at that device?

I’m afraid I could not get this to work, because the real device will answer with “no input detected”, even after you send the input manually. This causes the dialogue manager to terminate the session because the MQTT message for the ID is not valid.


Hello Philipp,

No, just let it behave like a real satellite. Start the intent and let snips perform the actions attached to the intent and have it provide and answer. So that you can test the whole flow without bothering the family in the room the whole time.

Like asking snips: what is the next train to . Have snips do the lookup as stated in the action and send let it send the result to the tts engine to have it speak. Currently I see the intent being recognized, but I do not see the response.


Are you using “Test intent” or “Simulate Wakeword” followed by “simulate input”?

Test intent is doing exactly what you describe - don’t perform, just check. But if you simulate the wakeword and afterwards simulate the input (the button will only appear after the wakeword) the app will act almost like a real satellite.

Almost: There is no TTS engine - it will just be written out.


Hmmm, I seem to have missed the subtle change of the wakeword button to input button. This looks better but I am still missing the request to the audioserver to play a wav. Apperently something is wrong with my setup.

again, thanks for the tool. My family loves it more than I do :slight_smile:


Actually the request for audio output is send, but I have nothing implemented for a real sound output. The MQTT is not displayed because it is bytes only and would crash the App :wink:
I will take a look at sound output in JS - there was something on the forum as well ^^


Hello Philipp,

I found the issue.

Apparently when I install or upgrade an assistant on my vm, it does not generated the skills from the code snippets. After I ran snips-template render, all started to work the way I expected it to be. Now I get indeed a response back.

1 Like

I included a small fix in the web version and github that should improve the performance for everybody with satellites (constant data stream!):

removed subscription to hermes/#
added subscriptions for individual hermes topics excluding audio streams