Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Model S Amazon Echo Integration

This site may earn commission on affiliate links.
Has anyone done anything in this area? I just got a few Echo Dots and would love to be able to do a few simple things, like asking Alexa if my car is plugged in, asking the charge status, start charging and turn on climate.
 
Got my Echo Dot today. Haven't had much time to play with it but via Mosiac I determined the location of my Model S as well as its state of charge. Don't know yet what else it makes possible but I'm guessing as it evolves using voice commands I'll be able do all the other things that the smart phone app makes possible and maybe more.
 
I am uncomfortable giving my Tesla password to Mosaic. Presumably they need to store it plaintext in order to make API calls. Nonzero chance of getting hacked or stolen by a Mosaic employee.
Wish Tesla would make their own Alexa skill. (I noticed some other car companies did.)

There's this for those who wish to roll their own. I started the process and it seems the way to do it is to proceed like you're developing a skill for the Amazon store, register it for testing on your own Echo, but stop short of releasing it publicly.
 
I have written a pretty complete Amazon Alexa skill called "Nikola" that monitors and manages my Model X (but can also be used with Model S). I have put the code out in as open source in GitHub:

Nikola: An Amazon Alexa Skill (and Python Intent Handler) for Monitoring and Managing a Tesla Automobile

Nikola will respond to commands like:

"Alexa, ask Nikola...
  • how far can I drive on the current charge?
  • to start/stop charging my car
  • to charge my car to 90 percent
  • to preheat my car
  • how hot/cold is my car?
  • to unlock my car for 10 minutes
  • to start charging my car at 8 am tomorrow
  • how many miles on my car
  • is my car locked?
  • to turn on the A/C
  • is my car plugged in?"
Right now, it's running on a private server instance on Cloud9, and I'm looking for a collaborator who's got the DevOps chops to be able to turn it into a multi-user app that I can let the Tesla community use.

Meanwhile, I'm working on enhancements like: "Alexa, get my car ready for a long trip at 9 am tomorrow." This will:
  • Figure out when to start charging the car so that it reaches 100 percent 10 minutes before I'm ready to leave.
  • Set a charging timer to start charging at the appropriate time.
  • Check 10 minutes before the trip if the car's internal temperature is within 10 degrees of the driver set temperature, and if not, then turn on the climate control to warm/cool the car
Anybody who'd like to work on this with me is welcome to fork the code and especially work with me to make it a public multi-user app that can be published as an Alexa Skill.
 
I have written a pretty complete Amazon Alexa skill called "Nikola" that monitors and manages my Model X (but can also be used with Model S). I have put the code out in as open source in GitHub:

Nikola: An Amazon Alexa Skill (and Python Intent Handler) for Monitoring and Managing a Tesla Automobile

Nikola will respond to commands like:

"Alexa, ask Nikola...
  • how far can I drive on the current charge?
  • to start/stop charging my car
  • to charge my car to 90 percent
  • to preheat my car
  • how hot/cold is my car?
  • to unlock my car for 10 minutes
  • to start charging my car at 8 am tomorrow
  • how many miles on my car
  • is my car locked?
  • to turn on the A/C
  • is my car plugged in?"
Right now, it's running on a private server instance on Cloud9, and I'm looking for a collaborator who's got the DevOps chops to be able to turn it into a multi-user app that I can let the Tesla community use.

Meanwhile, I'm working on enhancements like: "Alexa, get my car ready for a long trip at 9 am tomorrow." This will:
  • Figure out when to start charging the car so that it reaches 100 percent 10 minutes before I'm ready to leave.
  • Set a charging timer to start charging at the appropriate time.
  • Check 10 minutes before the trip if the car's internal temperature is within 10 degrees of the driver set temperature, and if not, then turn on the climate control to warm/cool the car
Anybody who'd like to work on this with me is welcome to fork the code and especially work with me to make it a public multi-user app that can be published as an Alexa Skill.

And then when you want a tester in the real world who uses Alexa daily I am your man.
 
  • Like
Reactions: UnbeknownstToAll
Since I posted the code Alexa Skill for Tesla that I call "Nikola", several people have asked how to deploy it so they can start playing around with it. At this point, this is for IT-savvy users only, since it has not been adapted into a multi-user environment.

But in the interest of getting more IT-savvy people involved so I can get some help converting this to a public, multi-user app, I've posted these instructions on how to set up a free Cloud9 server account, deploy the Amazon Skill, and connect it to my Python code that monitors and manages my Tesla:

Instructions: Deploying Alexa Skill "Nikola" on a Free Cloud9 Server Account

For the non-IT-savvy, hopefully I'll find a collaborator who can help get this into shape so it can be published as a public, installable Alexa skill.
 
Those instructions are much appreciated! I'm going to try setting that up this afternoon. It looks like it should be fairly easy.

Also FYI, I am going to try getting this implemented directly on AWS, but I'm a newbie to the process so it may take a while (if I even succeed ;-) ). I'll let you know how it goes.
 
Since I posted the code Alexa Skill for Tesla that I call "Nikola", several people have asked how to deploy it so they can start playing around with it. At this point, this is for IT-savvy users only, since it has not been adapted into a multi-user environment.

But in the interest of getting more IT-savvy people involved so I can get some help converting this to a public, multi-user app, I've posted these instructions on how to set up a free Cloud9 server account, deploy the Amazon Skill, and connect it to my Python code that monitors and manages my Tesla:

Instructions: Deploying Alexa Skill "Nikola" on a Free Cloud9 Server Account

For the non-IT-savvy, hopefully I'll find a collaborator who can help get this into shape so it can be published as a public, installable Alexa skill.

THANK YOU for taking the time to write this up!

I'm running into some trouble at step 2.10 -- running the application throws an error:
urllib2.HTTPError: HTTP Error 401: Unauthorized

Sure enough, testing the skill returns this error, guessing since the application isn't actually running:
There was an error calling the remote endpoint, which returned HTTP 302 : Found

I'm not sure if that's related to the environment variables I entered, but I double checked them to ensure that they're correct, and in quotes.

I'm savvy enough in IT to put food on the table doing it, but not smart enough to be a developer :)