I have a smart home skill in beta testing (us-east-1 and us-west-2). I can happily enable the skill, discover devices and interact happily via the Alexa app and my Echo Dot for some time. Each "turn on" and "turn off" takes a little while as more often than not the Lambda function needs to go through a cold start.
Via AWS CloudWatch, I can monitor the calls and I can see the lights going on and off as expected.
Some hours later I try to turn devices on and off again the Alexa Voice application or my Echo Dot. Instead of the expected "pause", Alexa immediately responds with "the device or channel group is not responding". The Alexa application reports that the "Server is unresponsive".
The error messages tend to suggest that my smart home skill is not responding. Problem is that the Lambda function is not reporting (via Cloudwatch) any further metrics, nor are there any CloudWatch logs being generated. On face value, it would seem that Alexa has decided not to bother calling my Lambda function any longer.
I can disable the skill and then re-enable it. Doing so will result in the application working again (for some time). How long I don't know.
I was concerned that timeouts on the Lambda function call might make Alexa decide to "not bother trying to call my lambda function anymore". Speaking to the AWS team, they mentioned that an assumed role established via Cognito might be the culprit. Neither of these seem like logical explanations.
What could be causing this behaviour?