I fell in love with Alexa because of all of the Smart Home Skills for Alexa. I use Alexa to control all of my lights in my home, my Ring home security system, our Ecobee Thermostat, MyQ garage opener, and our TV's.
Amazon Alexa provides a Smart Home API for richer home automation control without requiring the user to say the skill name, such as:
It takes considerable effort to configure. Your Home Assistant instance must be accessible from the Internet, and you need to create an Amazon Developer account and an Amazon Web Services (AWS) account. An easier solution is to use Home Assistant Cloud.
The Emulated Hue integration provides a simpler alternative to use utterances such as “Alexa, turn on the kitchen light”. However, it has some limitations since everything looks like a light bulb.
With Home Assistant Cloud, you can connect your Home Assistant instance in a few simple clicks to Amazon Alexa. With Home Assistant Cloud you don’t have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial.
For Home Assistant Cloud Users, documentation can be found here.
Amazon Echo has its own set of smart home skills located within the Alexa app.
Smart home control is what the internet of things is all about, but only a few products do the job well.
Why do we need Smart Home Skills for Alexa?
The smart home skills is an automation solution that supports the coding and configuration of instruments that interpret voice commands and transmit messages to cloud-enabled devices. It allows users to use cloud devices to implement remote connection and manipulation of home or office appliances. The Amazon Alexa Home Skills API is the platform that plays the crucial role of understanding and transforming the commands into directives prior to conveying them to smart home skills. Its infrastructure consists of the skill adapter, a function that is hosted in Amazon Web Services’ AWS Lambda and an event source representing the Alexa Connected Home. The API sends requests to the user’s skill adapter in JSON format. These requests usually consist of object and payload objects. The user’s skill adapter in turn returns responses in JSON format that similarly contain object and payload objects. The API can be developed in multiple languages. A developer must sign up for Amazon developer account and acquire OAuth 2.0 access token to be able to use this API to create smart home skills.
What smart home systems work with Alexa?
Best Amazon Alexa-compatible devices
How do you get Alexa smart home skill?
Create the skill
When you build an Alexa smart home skill, users can voice-control their cloud-connected devices by using your skill. The smart home interfaces use the pre-built voice interaction model. This model gives you a set of predefined utterances that users say to control your device. When a user speaks to Alexa, Alexa interprets the utterance and sends a message to your skill that communicates the request. Your skill reacts to the message by changing the state of the device, such as by dimming a light, or by sending information about device state, such as by telling the user whether a light is on or off.
If you want to connect your smart home device to Alexa without a skill, see Smart Home Device Connection Options. If you want to connect your Alexa Built-in device to Alexa, see AVS Device SDK Smart Home Endpoints. If you want to integrate a hardware module into your product to connect to Alexa, see Alexa Connect Kit.
For an overview of other kinds of Alexa skills that you can build with the Alexa Skills Kit, see Index of Skill Types.
Who can develop smart home skills for AlexaWhat kinds of devices does the Smart Home API support?
Anyone can develop a smart home skill. The Smart Home API uses the pre-built voice interaction model which defines the utterances that users say to interact with your skill. Alexa knows how to interpret the user's speech and what directives to send to your skill.
Smart home skill development falls into two categories:
You can build your own smart home skill or work with experienced solution providers to help you connect your devices to Alexa. For a list of solution providers, see Works with Alexa IoT Solution Providers.
You can connect almost any type of device to Alexa by using the Smart Home API. You decide how you want the user to interact with your device, and then in your skill, you implement the capability interfaces that enable those interactions. For example, if your device is a lamp, and you want the user to be able to turn the lamp on and off, you implement the Alexa.PowerController interface in your skill.
Most devices implement multiple interfaces to enable voice interaction with multiple features. For the full list of smart home interfaces, see List of Alexa Interfaces.
Some Alexa interfaces support specific device types, but other interfaces support many kinds of devices. For example, implement the Alexa.ThermostatController interface only for thermostats, but implement interfaces like Alexa.PowerLevelController for many kinds of devices.
Whenever possible, choose an interface that's specific to your device because that enables Alexa to support more specific functionality. For example, you could model the concept of device brightness with Alexa.PercentageController or Alexa.RangeController, but if you implement the Alexa.BrightnessController interface instead, Alexa provides built-in support for the phrase "Alexa, dim the lights."
For recommendations about what interfaces to implement for some common device types, see Smart Home Skill Device Templates.