Alexa Skill not recognized when tested on Echo
Asked Answered
N

7

20

I was doing one of the tutorials (HelloWorld) to make a skill for the Echo and I followed the directions. When I tested the skill using the Service Simulator, I typed in

Alexa, tell Greeter to say hello

and that returned the following JSON response:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Hello World!"
},
"card": {
  "content": "Hello World!",
  "title": "Greeter",
  "type": "Simple"
},
"shouldEndSession": true
  },
  "sessionAttributes": {}
}

I think that is the correct output. However, when I tried testing the skill on my Echo, Alexa replies "Sorry, I didn't your question." I went on the history and Alexa interpreted my command as "alexa tell greeter to say hello." It seems that Alexa is not recognizing the skill?

I am using Amazon Lambda to execute the code, so I checked the logs and the code was not executed when I spoke the command to above.

I replaced the app_id in the javascript file to the one that corresponds to my skill. I have also put the amazon skills kit as a trigger.

I also tried the other tutorials (ChemistryFlashCards and HistoryBuff), and Alexa replies "I'm not sure what you meant by that."

Not sure what is happening! Any guidance is appreciated!!

Nappie answered 21/8, 2016 at 20:22 Comment(2)
It would help to see the Interaction Model and Configuration screens.Quadrature
Can you post your speechlet code?Informative
C
64

For your Echo / Dot / Tap device to correctly invoke your custom skill, the Language of your Interaction Model needs to match the region your lambda resource is deployed in. I had this issue, as I deployed lambda in EU-West1 (Ireland) but the default alnguage for the Interaction model is English (US). In the interaction model I added a new language of English (UK) and copied over my intents and utterances, then deleted the English US language, and my Echo Dot now correctly invoked my custom skill intents

Caulicle answered 28/11, 2016 at 20:9 Comment(13)
I recommend people take note of this; I was tearing my hair out for 3 hours trying to test a skill on a device that was working fine on the console - and it turned out to be just this problem - I just needed to set up English(UK) as a language because that's where I am.Mcquade
Took me a while to spot this. Took about 5 minutes to be able to test it on my device but this solved my problem. Thank you.Sommerville
Thanks for saving me a couple of hours \m/Elis
the Language of my Interaction Model match the region my lambda resource is deployed in... still the skill is not recognized. any solution?Anthe
Barry you legend! That's an hour I'm not getting back.. @AmanGupta try checking the language in the app and that the skill shows up under my skillsWalther
Thanks! It's annoying that Amazon don't make this more obvious, spent a good couple hours trying to find out why Alexa didn't recognise the invocation phraseFossorial
Thanks a lot Barry! Saved me a lot of trouble!Thebaine
Thanks - changing the skill to English UK solved the problem.Speechmaker
This is still relevant and time saving knowledge in July 2019.Alejandro
In my case, the region of the lambda didn't matter, but it required me to configure my interaction model in the same language as the device's language (English IN). My lambda is still deployed in us-east-1.Mendiola
@Mendiola I am using the Alexa app from my phone to test my skill using the beta testing feature but on the day when I accepted the invite it worked fine but after that, it is not able to recognize my skill though it is added in my skills. Can you please help me in this. Thanks in Advance.Roundworm
Thank you! I was scratching my head for over 2 hours. Disabled/enabled skill, changed invocation name, etc. Your solution was the key. Thank you again 3000 times. :-)Newcastle
Thank you so so much! I was wondering about this for so long!Chimerical
W
6

Your device language and the language you are using in developer account for creating custom skills should be same. If your device is registered in English India then you have to add English india language in your custom skill.

Check language on your alexa app settings -> Your Echo device -> Language

Whereas answered 16/12, 2017 at 16:51 Comment(1)
In my case, my skill's language is en-us (United States) but my device was set to en-ca (Canada). Tricky!Cultivator
B
5

Have you enabled testing with your device for your skill?

enter image description here

Once you have this enabled, you can check if it is properly associated with your device by going to the Skills section of the Alexa app and hitting "Your Skills" to see the list of skills that your Echo recognizes. You should see your skill with a little green dev tag on it.

Breccia answered 22/8, 2016 at 14:11 Comment(7)
The skill has already been enabled for testing and appears under "Your Skills." The problem is still thereNappie
What do you have for Invocation Name on the Skill Information section? It should be "greeter" -- lowercase is important.Breccia
invocation name is lowercase "greeter"Nappie
I have a similar issue =(Win
I have the similar issue, my test skill worked for 10 dans, in the last few days Alexa fails to invoke my skill in more than 90% cases, in only 10% cases when I invoke my skill, my skill is really invoked. I don't know what is going on... :(Lentamente
any solutions for this?Anthe
Facing same issue. Any solution ?Pleuropneumonia
T
2

I was developing in default en-US language with North Virginia region (for Lambda function) but was based in India. I even tried using US address in Alexa app, but it didn't worked.

At the end I added all the english languages(en-IN, en-CA, en-GB, en-EU) and copied the model JSON file which was created for en-US. Build each one of them separately and fill the Description -> Skill Preview details for each of them. This worked.

Tamishatamma answered 16/8, 2018 at 15:54 Comment(4)
Did you not have to move your lambda functions from N. Virginia to Ireland? Since as per document, the end point for Europe and India if using Lambad functions is EU (Ireland). developer.amazon.com/docs/custom-skills/…Universalist
It only worked for me once i moved to Ireland since the documentation clearly says that for Europe and India, the Lamda end points must be in Ireland.Universalist
@RafiAliKhan Quoting the line in the document "If the preferred endpoint for the customer's region is not available, Alexa calls the Default endpoint." I placed lambda function from N. Virginia in the default text box inside Alexa Skill ConsoleTamishatamma
So everytime you make changes in one of your model you copy and paste for all other languages? high chances of mistake isn't it?Couture
A
0

Most of the time, you cannot open your skill because it is not the same language as your current language you set for your Amazon echo device. Then if that doesn't work, you might have not enabled testing for your skill.

Also if you want to quickly enable your skill if you haven't done so, say Alexa(or whatever your wake word is), enable

Azotize answered 6/1, 2019 at 6:5 Comment(0)
C
0

I use the 5 point check list below and it always works:

1. Under Alexa Language Settings, add all the languages like English-US and English-IN that your Echo devices are likely to be configured with.
2. Freshly build the interaction model and deploy again.
3. Tell Alexa to ignore the Alexa-hosted skill: Instead of its auto-generated lambda code, it should use the external custom lambda that you created.
4. Ensure that the service end point is correct: Under the AWS Lambda ARN, enter your custom lambda ARN for each and every region you will be invoking the skill.
5. In the Alexa simulator, select all the languages one by one in the drop down and test them individually.
Calondra answered 3/6, 2020 at 17:53 Comment(0)
H
-1

One problem related to Language settings.

Correct the language settings in your Echo Device using https://alexa.amazon.in/ or alexa app. Make sure language enabled in skill and device are equal. For example, use English India.

Reenable the skill

Go to https://alexa.amazon.in/. Make sure device appears online. Disable the skill in Your Skill section. Enable it again.

This should solve the problem.

Hartwig answered 6/1, 2019 at 3:52 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.