Test and Debug Your Smart Home Skill
Use the following methods and tools to help you test and debug state and other events as you build your Alexa Smart Home skill.
View Device State – View the current values of all properties of smart home devices that associated with your skill and your developer account, and whether the current value came from a
StateReportrequest or proactive state update, such as
Smart Home Debugger – View the
DeleteReportevents that Alexa receives from your skill, including your JSON, and any processing errors.
Smart Home Debugger for WebRTC Skills – If you implement the Alexa.RTCSessionController interface in your Alexa skill, use the Smart Home debugger to see logs from your WebRTC sessions in real-time.
Smart Home Test Tool – Run automated tests that send directives to your skill and verify that you set the state correctly. Available for the most common Alexa capability interfaces.
Alexa Simulator – Test your skill without a device by using the Alexa simulator in the Alexa developer console.
Smart Home Skill Evaluation REST API Reference – Use the Smart Home Evaluation REST API to start evaluations and get evaluation results programmatically.
Alexa Skills Kit (ASK) Command Line Interface (CLI) – Use the
create-smarthome-capability-evaluationcommand to create and start a capability evaluation.
Verify the minimum configuration
To test the end-to-end flow of your skill, you must complete the minimum configuration for a smart home skill. Use the left-hand navigation of the Build page in the developer console to navigate to the configuration item.
- In SMART HOME, you must define the following items for your smart home skill:
- Version v3 of the Smart Home API
- A valid AWS Lambda ARN service endpoint
A smart home skill can include multiple models. Specify the endpoint for the custom and smart home models.
- In ACCOUNT LINKING, configure the required fields.
- If your skill supports events, such as
ChangeReport, in PERMISSIONS, enable Send Alexa Events.
To test and publish your skill, you need an account configured for your device cloud and discoverable devices for that account.
Deploy your skill code
After you verify the minimum configuration for the skill in the developer console, deploy your skill code Lambda function. For details, see Add a Lambda Function.
Enable your skill in the developer console
Complete the steps to enable your skill for testing in the developer console.
Enable your skill in the Alexa app
Complete the following steps to enable your skill in the Alexa app installed on your iOS or Android mobile device.
To enable your skill and discover devices
- Sign in to the Alexa app with the same credentials as your developer account.
- To find your skill in the Alexa app, tap More, and then tap Skills & Games.
- In Skills & Games, tap Your Skills.
- Scroll the skill types to the right, and then tap Dev.
- Scroll to find your skill.
- Tap on your skill name, and then tap ENABLE TO USE.
- Follow the prompts to enter your credentials for your device cloud account.
- To allow access to the skill, tap Allow, and then tap CLOSE.
Note: If you're unable to complete account linking, make sure that you use valid credentials for your device cloud account. Otherwise, there might be an issue with the account-linking information that you provided in the developer console. For help with account-linking issues, see Debugging account linking in the developer forums.
- After the skill is enabled and linked, Alexa sends a
Discoverrequest to your skill to learn about the connected devices. Your skill returns the discovery response with details about the devices.
- If Alexa can't discover your device, check the logs for your Lambda function. Use the logs to troubleshoot the issue. Common issues include incorrectly formatted discovery responses.
If you make changes to the account linking configuration or your discovery response, disable your skill in Your Skills.
- Understand State and Change Reporting
- Steps to Build a Smart Home Skill
- Understand Smart Home Skills
- Works with Alexa Overview
Last updated: May 31, 2023