Skip to content
This repository has been archived by the owner on Feb 8, 2021. It is now read-only.
/ AlexaHome Public archive

The easy way to create Alexa Smart Home Skills (MTLS secured)

License

Notifications You must be signed in to change notification settings

Appyx/AlexaHome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note: This repository is not maintained anymore because Home Assistant can be used to achieve the same goal.

AlexaHome

The easy way to create Alexa Smart Home Skills (MTLS secured).

What is it?

This project enables you to develop a Smart Home Skill for Amazon Echo. This is a special type of Skill where you don't need to speak out the skillname. You just say something like "Alexa turn on the Lights". The Amazon API does all the word processing for you and activates the right Smart Device.

AlexaHome is not a Smart Home Skill, it's a Framework for developing Smart Home Skills.

Let's compare two ways of writing Smart Home Skills:

Without AlexaHome

In order to develop a Smart Home Skill you need the following things:

  • AWS Account (which in turn requires a credit card)
  • Amazon Developer Account (this one is free)
  • AWS Lambda Function
  • OAuth Provider (it's not possible to skip this part)
  • TLS encryption between the AWS Lambda Function and your device
  • Some form of authentication for your Lambda Function and your Device (to prevent MITM attacks)
  • Know how to use the JSON API of Amazon
  • Write a lot of code for each device.

And there is more...

With AlexaHome

AlexaHome solves not all, but most of the problems described above.

Features

You also get features which you won't get with the 'blank' Amazon API.

  • Mutual TLS between all components (all parties prove their identity).
  • Share one AWS account with multiple developer accounts (only one credit card is needed)
  • Use multiple Echos at multiple locations with multiple devices at multiple locations
  • No need to write an AWS Lambda Function
  • No need to compile or clone anything related with AlexaHome
  • Automatic error handling (Alexa responds with the right errors by default)
  • Host the actual Skill anywhere you want (home,remote server,Amazon...).
  • Ongoing development under the hood. (So once a new API is available you just use other interfaces in your Java/Kotlin code)

And all is free (you still need one credit card for the AWS account, but there is a free tier which should last forever if you only use it for yourself)

If you want to skip the AWS part, you can send me an email and I can add you as a user to my personal configuration for free (as long as there is still space left in my free tier).

How to start?

Take a look at the Wiki for instructions.

Contributions

Please open a pull request at the AlexaHomePlugins repository when you developed a plugin which can be used by other people.

And of course, other pull requests are welcome :)