For a long time I’ve been gradually adding more and more devices into my ‘smart home’ setup, including my Tesla Model S. I recently acquired a Google Home, and immediately saw a need for connecting the two – who wouldn’t want to be able to talk to their car?! Sadly nothing was immediately available (although I hope an official offering will come in future), so TeslaVoice was born!
What can it do?
You can query a number of parameters available through the Tesla API, including:
- Charge level
- Charge port status
- Charge limit
- Door status (locked/unlocked)
- Lights (flash)
- Horn (honk)
The ones in italics can also be modified by voice as well!
How does it work?
The voice recognition is handled by the Google Home, which is then passed through to API.AI, which interprets what the user is intending to do, and parses variables from the speech accordingly. A webhook request is then made to a configurable endpoint – in this case to a Python web server which takes the request, gathers the appropriate information from the Tesla API, and returns the desired text to Google Home.
I do run into some problems when my Model S doesn’t respond within the 10 second timeout required, but usually after the first request this problem fixes itself.
I want it!
Unfortunately I can’t publish this properly through Google, as I don’t have permission to use the Tesla trademark – however it should be possible for you to host this on your own network and push a “test” version to Google Home. All the details for setting this up are described on the GitHub project page
I’m considering setting up a third-party service to get around this trademark restriction, so if you’re interested in this being a proper application rather than some hacked-together code then please leave a comment!