question

forshin1223 avatar image
forshin1223 asked

Identify the device name in custom skills

Hi, I have some questions about the custom skill.

1. If I have some unsupported actions by the smart home skill like 'arm or rotate', only what can I do is using custom skills instead?

2. How to identify the device name effectively in the custom skills?

In smart home skills, the echo can discovery all device names simply. But if I use custom skills, It's impossible to write down all name in the slot, right?

For example, if the command is "Alexa, tell someone arm my {system}"

The {system} may be anything. To identify them seems impossible. Should I restrict the device naming?

But restrict the user to use my build-in list for their device naming seems unreasonable.

Any good ideas?

Thanks.

alexa skills kitalexa smart homedevices
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

geekgirl avatar image
geekgirl answered

Hi for.shin1223 a skill built with the Smart Home Skill API can respond only to the requests (device directives) supported by the API. For example, the Smart Home API provides directives for turning lights on and off. But it does not currently include directives for changing the color of a light. If you want to create a skill that can change light colors as well, you would need to build a custom skill instead.

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/understanding-the-different-types-of-skills

Discovery messages (DiscoverApplianceRequest and DiscoverApplianceResponse) identifies the device and capabilities available to the skill adapter. Further reference and a code example can be found at the link below.

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/smart-home-skill-api-reference#discoverappliancesrequest

2 comments
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi,GeekGirl,custom skill does not support discoverappliancesrequest and dynamic name in slot ,right?

-1 Like -1 ·
meep avatar image meep newuser-8b61c212-2794-4c1b-9b9c-81872eb39813 ·

Correct. You need to use a custom slot to allow users name the device and then match the term returned to the users device list names.

This can be tricky as you need to pre-populate custom slot names. and also find a way to retrieve user device names for matching.

It can be hit & miss.

0 Likes 0 ·