I’ve been trying to set up the Alexa Smart Home skill following the steps here, but Alexa doesn’t find any devices after successfully linking the account.
I tested the lambda function with the example event which does return the expected entites:
However, I don’t see any other executions where Alexa would try to retrieve the devices. After linking the account the Alexa app just shows “Alexa couldn’t find a new device to connect.”
Has anyone faced this issue before? I’m not sure how to debug this any further since there isn’t any request coming from Alexa to discover the devices.
Hey, thanks for replying, yes my yaml is correctly configured. The Lambda function is discovering the devices when I manually test it from the developer console, however the Alexa Skill is not invoking the discover process.
The skill successfully links to my HA instance but it then fails to find any devices. It seems to be a common problem for a lot of people.
A few comments about different regions/locales could be the problem. I’ve tried en-GB and en-US in various configuration to no avail. The suggestion I’ve read is to en-US on North American AWS servers. I’ve tried that too without luck.
It’s not just the locales which make a difference.
My memory is a bit fuzzy since I ran into this issue when I first set up Alexa 5 years ago. However, my recollection of the problem was the Amazon server I was connecting to - I used eg. the IE server but was trying to connect with a .com account instead of a .co.uk one. Once I switched to the correct server for the region, all the devices were discovered immediately.
Thanks everyone for your helpful advice and guidance! You’ll be pleased to know that I cracked the foibles of AWS, and the Smart Home skill is now working!
The issue was related to the Preferred Marketplace and Default delivery address for my account. The troubleshooting article above mentions this and interestingly I’ve not read this elsewhere or on the official documentation.
Most people probably won’t have this issue, if you’re using your everyday Amazon account. However, I created a new developer account for this purpose and I don’t use it for online shopping and therefore it didn’t have any regional information.
The fix was to login into https://www.amazon.co.uk and configure the home delivery address and then separately select the Default button even though I only had one address. Oddly it doesn’t automatically default. The locale region also requires setting under the payment page by setting your relevant country, United Kingdom in my instance.
For those in the UK, here is my final configuration that worked for me.
Lambda region = EU (Ireland)
Lamba instance = Ireland (eu-west-1)
Primary locale = English (UK)
Client ID: https://layla.amazon.com/
Alexa skill language: English (GB)
Alexa store language: English (UK/IE)
Home Assistant locale: en-GB
For an English speaker, in England, this configuration is completely bonkers! I gather if you’re using English (US) you won’t have these problems.
Please consider marking my post above with the Solution tag. It will automatically place a check-mark next to the topic’s title which signals to other users that this topic has been resolved.
This helps users find answers to similar questions.