Nureau Wocket Solutions

 

My Valet / Tesla Valet

We are very excited to report that My Valet for Alexa featured as Skill of the week on the awesome Home&Smart web site. Check it out here.

Click on a title below to find out more about My Valet / Tesla Valet.

 

What is My Valet / Tesla Valet?

My Valet and Tesla Valet are utilities for Amazon Echo's Alexa devices and Google Home devices and Android / Apple phones with the Google Assistant app.

They allow you to control certain features of your Tesla Model S and/or Model X, as well as some Tesla Powerwall functions.

Essentially you can perform the same tasks as you can using the Tesla app on your smartphone (with the exception of unlocking your car, starting your car and fully opening your roof), plus there are some additional features such as asking if you currently have enough charge to reach a destination (UK and USA only).

How do I enable/install My Valet for Amazon Echo / Alexa?

In order you use My Valet, you will need an Amazon Echo device (see the "What hardware do I need?" section below).

Once you have your device set up, you will have the Amazon Alexa app installed on your smartphone.

The steps to enable "My Valet" are:

  1. Open the Amazon Alexa app on your smartphone
  2. Tap on the three vertical lines in the top left corner
  3. Tap "Skills"
  4. In the search box, enter "My Valet" and tap search
  5. Tap on "My Valet - Tesla Controller (Unofficial)"
  6. Tap "ENABLE"
  7. Enter your Tesla account login details, this will be the email address and password you use to access the official Tesla mobile app, and your "My Tesla" account on the Tesla web site)
  8. If you have more than one car on your account, you will be prompted to select which car you would like to control
  9. Once authenticated, you will see a notification indicating that My Valet has been successfully linked
  10. Tap the "X" in the corner and close the Amazon Alexa app
  11. You are now ready to start talking to your car, now check out "What commands can I use?" below

How do I enable/install Tesla Valet for Google Home?

In order you use Tesla Valet, you will need a Google Home device (see the "What hardware do I need?" section below) or the Google Assistant app. Androind phones have this built in, whereas it is available on iPhones in the App Store, simply search "Google Assistant" in the App Store to find it.

Once you have Google Assistant, the steps to enable "My Valet" are:

  1. Open the Google Assistant app on your smartphone
  2. Tap on the drawer icon in the top right corner
  3. In the "find things that your Assistant can do" box, enter "Tesla Valet" and tap search
  4. Tap on "Tesla Valet"
  5. Tap "LINK"
  6. Enter your Tesla account login details, this will be the email address and password you use to access the official Tesla mobile app, and your "My Tesla" account on the Tesla web site)
  7. If you have more than one car on your account, you will be prompted to select which car you would like to control
  8. You are now ready to start talking to your car, now check out "What commands can I use?" below

What commands can I use?

Both Amazon and Google have impressive technology behind them to work out your intention from what you say, so there is no need to remember a long list of commands. As long as you know the right phrase to initiate the process, the actual instruction doesn't have to be exactly as written here, for example instead of "where is the car", you can say "what's the location of the car", and you should still get the expected result.

The full list of example commands is:
  • can I get to {place name*}
  • can I get to {place name*} with my current charge level
  • can I get to {place name*} on my current charge
  • how long will it take me to get to {place name*}
  • have I got enough battery to get to York
  • have I got enough charge to get to Leeds
  • close the roof / sunroof
  • vent the roof / sunroof
  • lock the car
  • is the car locked
  • what rate is the car charging at
  • is the car charging
  • when is the car scheduled to start charging
  • when will charging begin
  • when will charging finish
  • how much charge does the car have
  • what is the battery level on the car
  • what is the range of the car
  • how many miles has the car done
  • where is the car
  • what is the location of the car
  • is the car plugged in
  • open the charge port
  • what is the temperature in the car
  • turn on the air con / heating / cooling
  • turn off the air con / heating / cooling
  • honk the horn
  • flash the lights
  • start charging
  • stop charging
  • set the charge limit to XX percent
  • set the temperature to XX degrees
  • set the air con to XX degrees
  • what is the battery limit set to
  • what it the name of the car
  • what version is the car

* US and UK place names only

Additionally if you have a Powerwall you can also use these functions:
  • what is the battery level on the powerwall
  • how much power did I generate yesterday
  • where is my power coming from

Why are the names different?

Amazon are understandably very rigorous when it comes to copyright protection and they also have a very restrictive list of rules about what can and can't be used as the skill's name and invocation phrase (that is, the phrase you say to talk to it).

Unfortunately they would not allow us to use the word Tesla without written permission from Tesla, and first names (including Elon) were also out, so we settled on My Valet.

When we ported over to Google Home, Google had their own set of rules, which requires at least two words for the invocation phrase which couldn't include prefixes such as "my" or "the". They were however happy for us to use the word Tesla, as long as we took responsibility for gaining permission to use the name.

We requested permission from Tesla to use their name in our invocation phrase, and as of November 2017 our request has been acknowledged, but we still have not received a response.

What's the difference between Alexa and Google Home?

At their core, Alexa and Google Home are very similar, but there are several differences. They both offer a device that can sit in the corner of any room, and because they're always listening, they can be used to perform a very diverse range of tasks. Both offer simple things like setting timers and alarms, adding to shopping lists and checking the weather.

Both systems will work with a large number of home automation systems, and play radio or various streaming services (though not all streaming services, so check which ones you use before deciding on a system).

Also, both systems offer multiple devices, which cover using them as a complete home audio system or a single room system, or the smaller Echo Dot and Google Home Mini, which can be discretely placed in one or more rooms.

Google Home is currently, in our opinion, far superior in terms of the intelligence behind it, for example it's more likely to be able to answer random trivia questions. But Alexa feels slightly more mature in terms of the overall process of finding "skills" and has Sonos integration. Sonos have even recently relaunched their smaller music player to include Alexa built in to it. Google also allows shortcuts, which allows you to set your own phrases for interacting with it, rather than being restricted by what the developer of a function has decided to allow. This allows for a much more natural and flexible user experience.

Your own requirements will vary, but in our experience Google Home is our recommended platform for potential buyers.

What hardware do I need?

To use My Valet for Alexa, you will need one of the following*.

  • Amazon Echo Dot - A small and cheap "hockey puck" style device, it has a bult in speaker and is all you need to get started. Can also be used to stream music, but isn't going to replace any decent home audio system
  • Amazon Echo - Like the Dot, but with a better speaker, this can be used by it self to provide a decent sound system
  • Amazon Echo Plus - Like the Echo, but with the addition of a built in hub for devices such as Philips Hue lights
  • Sonos One - The first (of many, we expect) devices that are made by other manufacturers. This has very similar functionality to the Echo, but is built by Sonos and so can be used as part of a larger house-wide network of Sonos music players


To use Tesla Valet for Google Assistant, you will need one of the following*.

  • Google Home Mini - A small and cheap "hockey puck" style device, it has a bult in speaker and is all you need to get started. Can also be used to stream music, but isn't going to replace any decent home audio system
  • Google Home - Like the Mini, but with a better speaker, this can be used by it self to provide a decent sound system
  • Google Assistant - An app version of the device, this is built in to Android phones, and available as an app on iPhone. This is a free, software only solution, as you can use the app to control any Google Home "action" either using your voice or by keyboard


* These lists are subject to change, as these devices are being updated very rapidly

How can I change the name from "My Valet" to something else? (Alexa only)

Unlike Google Home, you currently have very little control over the phrase to initiate My Valet. You can start by saying "Alexa, open My Valet", or "Alexa, ask My Valet to..." for example. If you would prefer to use a different phrase, such as "Alexa, ask Tesla to...", or "Alexa, ask {your car's name} to...", you can do this by following these instructions to create your own developer version Alexa skill. This may sound daunting, but it's a very simple process, and you can be up and running in a few minutes.

Get an Amazon Developer account

  1. Go to developer.amazon.com and log on with the same account you use for Alexa.
  2. Fill in the registration form (most of this will have already carried over from your Amazon account).
  3. Read and agree to the App Distribution Agreement.
  4. Leave both questions about monetization set to No and click Save and Continue.


Create an Alexa Skill

  1. If you haven't already, go to developer.amazon.com and sign in with your developer account.
  2. Click on Developer Console at the top.
  3. Click on Alexa in main menu bar.
  4. Click "Get Started" under "Alexa Skills Set".
  5. Click "Add a New Skill".
  6. Step through the Wizard, adding the following details for each step:


Skill Information
Skill Type: Customer Interaction Model
Language: English (U.K.)
Name: Tesla (this can be anything, this will be the name of the Skill in your Alexa companion app)
Invocation Name: tesla (this can be anything, is is what you will say to tell Alexa to use this skill, for example "Alexa, ask Tesla to unlock the car", so you could set this to your car's name if you prefer, or anything else)
Audio Player: No

Interaction Model
Intent Schema: Enter exactly this information below:


Sample Utterances: Enter exactly this information below: (if there are any particular phrases that you would prefer to use, you can add them, in the format of {function name}{space}{spoken text}, but Alexa does a pretty good job of working out intention from these, you don't have to say these exact words when speaking to Alexa)


Configuration
Service Endpoint Type: HTTPS, tick Europe, enter https://nureauwocket.com/TeslaAlexa
Account Linking: Yes
Authorisation URL: https://nureauwocket.com/TeslaAlexa/Home/Auth
Client ID: Change this to any unique value, such as {yourname}-alexa-skill
Domain List: Add Domain and then enter nureauwocket.com
Authorization Grant Type: Implicit Grant
Privacy Policy URL: https://nureauwocket.com/TeslaAlexa/Home/Privacy

SSL Certificate
Certificate for EU Endpoint: My development endpoint has a certificate from a trusted certificate authority

Test
To ensure your Alexa skill is configured correctly so far, enter any phrase of two or more words in the "Enter Utterance" box and click "Ask Tesla" (or "Ask {whatever you called your service}").
If the skill is configured correctly, you should see in the Service Response box a line containing the text "You don't seem to be an authorised user".

Publishing Information
You do not need to enter anything on this page, as this is only for publishing Alexa Skills for other users to see.

Privacy & Compliance
You do not need to enter anything on this page, as this is only for publishing Alexa Skills for other users to see.

Authentication the Alexa Skill

Your Alexa Skill should now be connected and enabled in your Alexa companion app on your phone. To authenticate your My Tesla account:

  1. Open up the Alexa app on your phone
  2. Tap the three bars in the top left corner
  3. Tap "Skills"
  4. Tap "Your Skills"
  5. Scroll down to until you find "Tesla" (or whatever you called your Skill) and tap on it
  6. Tap on "ENABLE" and enter your My Tesla login details and tap Authenticate

How can I create shortcuts for Tesla Valet? (Google Home only)

Google Home allows you to map your own commands to other commands, for example instead of needing to say "Hey Google, ask Tesla Valet to set the charge limit to 100 percent", you can create a shortcut so you just say "Hey Google, charge to the max".

In order to create a shortcut:

  1. Open the Google Assistant app on your smartphone
  2. Tap on the drawer icon in the top right corner
  3. In the "find things that your Assistant can do" box, enter "Tesla Valet" and tap search
  4. Tap on "Tesla Valet"
  5. Scroll down to "Your Tesla Valet Shortcuts"
  6. Tap "ADD NEW"
  7. In the "When I say..." box, enter your shortcut, such as "charge to the max"
  8. In the "The Google Assistant should..." box, enter "Ask Tesla Valet to set the charge limit to 100 percent"
  9. Tap "SAVE"
  10. Repeat from step 6 for any other shortcuts you wish to add
  11. You can now use the shortcut commands such as "Hey Google, charge to the max"

I'm getting a message saying my security token has expired, what do I do?

For security reasons, Tesla only allow security tokens to be used for a limited time (currently 45 days). Because we do not store your credentials, we are unable to automatically obtain a new security token on your behalf. We do this in order to keep your account as safe as possible.

If you receive a response saying "Your security token has expired", you will need to re-link Alexa and/or Google Home to your Tesla account. To do this, follow these instructions:

My Valet / Amazon Echo Alexa
  1. Open up the Alexa app on your phone
  2. Tap the three bars in the top left corner
  3. Tap "Skills"
  4. Tap "Your Skills"
  5. Scroll down to until you find "My Valet - Tesla Controller (Unofficial)"
  6. Tap on "DISABLE SKILL"
  7. Tap on "ENABLE" and enter your My Tesla login details and tap Authenticate

Tesla Valet / Google Home
  1. Open the Google Assistant app on your smartphone
  2. Tap on the drawer icon in the top right corner
  3. In the "find things that your Assistant can do" box, enter "Tesla Valet" and tap search
  4. Tap on "Tesla Valet"
  5. Scrol down to "Account status"
  6. Tap on "UNLINK" and confirm you want to unlink your account
  7. Tap "LINK"
  8. Enter your Tesla account login details, this will be the email address and password you use to access the official Tesla mobile app, and your "My Tesla" account on the Tesla web site)

How can I control more than one Tesla? (Alexa only)

When you enable "My Valet", if you have multiple cars on your account you have the option of selecting which one to control. We considered adding support for multiple cars or switching cars, but we found that the commands became too wordy, so we restricted it to one car.

If you require multiple cars, we suggest as a "workaround" that you can follow the steps in the above section "How can I change the name from "My Valet" to something else? (Alexa only)" multiple times, creating a custom skill for each car, and then when you authenticate your credentials, you can select a different car for each skill.

These multiple skills can be named for each car, for example "Alexa, ask Black Tesla to..." and "Alexa, ask Blue Tesla to..."

Is it safe to use this or any other third party Tesla utility/web site/app?

Tesla do not provide an official way for third parties to access their systems. All Tesla related third party applications are reverse engineered from the official Tesla app, which means they have essentially recreate the calls to Tesla servers mimicking what the official app does.

Tesla are aware that this is happening, and are currently happy for this development to be happening, however they are of course perfectly within their right to deny any Tesla app the access to their servers at any time.

The downside to this approach is that because any third party app or service is essentially the same as the official app, there is no way for you as a Tesla owner to grant these third party apps access only to certain functions, for example you cannot allow My Valet to only access your battery level, but deny it access to your location.

You are also currently required to provide your Tesla credentials to access most third party apps. This is in itself a security risk, the developer(s) behind the application could be gathering your credentials, or they could be storing them in a way that allows others such as hackers to gain access to your credentials. Nureau Wocket Solutions have decided that until Tesla offer an official way for developers to access their systems, that we will never store credentials or security tokens, which is why we only offer My Valet / Tesla Valet, and no other Tesla products. This allows us to avoid storing any details, as your credentials are only ever passed immediately to Tesla's servers, and the security token we receive in response gets delivered straight back to Amazon / Google. They then pass the token to us with each request, so we never need to store anything.

Some apps, including My Valet / Tesla Valet allow you enter a security token acquired from Tesla instead of your username and password. The only completely secure way to obtain a token is to get it direct from Tesla yourself. Unfortunately Tesla don't yet offer a way to do this via a friendly user interface, but it is relatively simple to do. See the section below "How to I get a security token without giving my credentials to a third party?" for detailed instructions.

How to I get a security token without giving my credentials to a third party?

When using any third party Tesla application, you will need to give that application a way of accessing your Tesla account. This can either be your username and password, or a security token. You should be wary about giving out your username and password for a number of reasons (this will allow anyone who gains access to those details the ability to start your car and drive it off, as well as accessing your My Tesla account which may contain scans of documents such as your drivers license or paperwork containing your home address and you might be using thse same credentials for other web sites).

We recommend you use a security token rather than your My Tesla credentials as this provides some extra security, however please note that even with just a security token all features of the Tesla app can be accessed, meaning anyone you give a token to can still, for example, locate and unlock your car.

You can revoke all security tokens at any time by visiting the official My Tesla page on the Tesla web site and changing your password.

In order to obtain a security token, you will need to perform one of the following actions:

Windows

Open PowerShell (this can be found by clicking the Start Menu and typing in PowerShell, or by clicking Start Menu, selecting Run and entering PowerShell in the run window that appears)

Copy the following command (having replaced the email address and password with your own) and paste it into PowerShell then press Enter



You will see some text appear which will include a section that says "access_token" followed by your token, which will be a combination of letters and numbers looking something like this - 07244c58b53120f7209465868b53a3b79f7486950d7a1bd5d58777066f4c9b26.

Highlight your token (not including the speech marks) by clicking your mouse on the first letter/number and dragging to the end, then press Ctrl+C

You can now paste this value into a the autentication screen of any application that support token only authentication to provide access to your Tesla account.

Mac

Open Terminal (Finder -> Applications -> Utilities -> Terminal)

Copy the following command (having replaced the email address and password with your own) and paste it into the Terminal window



You will see some text appear which will include a section that says "access_token" followed by your token, which will be a combination of letters and numbers looking something like this - 07244c58b53120f7209465868b53a3b79f7486950d7a1bd5d58777066f4c9b26.

Select and copy the token value (not including the speech marks)

You can now paste this value into a the autentication screen of any application that support token only authentication to provide access to your Tesla account.

Linux

The curl command in the Mac instructions will also work on Linux, but we do not currently have any experience in Linux and so cannot provide instructions on how to run the command.

I've got an idea for a new feature, or a question, how do I get in touch?

The easiest way to get a message to us is to click on Contact on the menu above, and send us a message via that page.

Please note that all features and functionality mentioned on this page are in no way affiliated with Telsa Inc. Tesla, Model S, Model X and Powerwall are all trademarks of Tesla Inc. Apple, iPhone and iOS are trademarks of Apple Inc. Google and Android are trademarks of Alphabet Inc.