5. Custom Skill
• Build a skill with a custom interaction
model
• Customers say invocation name to use
it. “Alexa, ask Uber to request a
ride”
• Most flexible, but most complex to
customers.
6. Smart Home Skill
• Easy to use for customer.
• Customers say “Alexa, turn on living
room lights”
• This skill is for cloud connected smart
home devices.
7. Flash Briefing Skill
• It can be integrated into "Alexa Flash
Briefing”
• Customers can simply ask “Alexa,
what’s my Flash Briefing” to hear your
content
• Currently Flash Briefing is only available
for the English (U.S.) language
9. Custom Skill
• design your own interaction model
• interaction name is required
• customer need to remember
interaction name or invocation phrase
• you can use any server to host skill
10. Smart Home Skill
• built-in interaction model
• natural utterances to control device
• Alexa need a grant permissions
(OAuth) to retrieve device information
and control device
• Skill must use AWS Lambda function
11. Mange devices on cloud
Customer need to register their devices to the device
makers cloud.
12. On personal use, you don’t need to
register devices. Just hard code in your
lambda function.
16. Prerequisites to Smart Home
Skill Development
• Amazon developer account
– https://developer.amazon.com/
• AWS account
• Knowledge of Java, Node.js, or Python
as Lambda functions can be written
in any of these language
• A basic understanding of OAuth 2.0
17. Three steps to create Skill
• Create “Login With Amazon”(LWA)
security profile
• register Smart Home Skills
• Create Lambda function
step-by-step article
・https://developer.amazon.com/public/solutions/alexa/alexa-skills-
kit/docs/steps-to-create-a-smart-home-skill
・http://qiita.com/sparkgene/items/055d7864c92a80b0c040
23. Create Lambda function
• Alexa skill is only available on us-east-
1 and eu-west-1 region
• Node.js blue print is available
– alexa-smart-home-skill-adapter
24. Smart Home Skill API
• Smart Home Skill API communicate
with your skill(skill adapter) with
same basic structure.
• Skill adapter directives contain two
top-level objects
– header
– payload
25. "header": {
"messageId": "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2",
"name": "DiscoverAppliancesRequest",
"namespace": "Alexa.ConnectedHome.Discovery",
"payloadVersion": "2”
},
"payload": {
"accessToken": "OAuth Token here"
}
header and payload
accessToken always include in request.
use the access token to know who’s request.
33. Error Response
• TargetOfflineError
– target device is not connected to the customer’s device cloud or is not on.
• BridgeOfflineError
– target device is connected to a home automation hub or bridge, which is
powered off.
• NoSuchTargetError
– target device cannot be found, meaning it was never configured by the end-
user.
• ExpiredAccessTokenError
– the access token used for authentication has expired and is no longer valid.
• ValueOutOfRangeError
– customer request would set a target value to a value out of its supported
range.
• and more..
skill adapter should respond with the appropriate error type, and
supporting information