🚘 A Ruby gem and unofficial documentation of the Tesla JSON API
Ruby API Blueprint
Latest commit 669f2b8 Jun 29, 2016 @timdorr committed on GitHub Merge pull request #31 from timdorr/autopark
Autopark support in gem



View Documentation

This is unofficial documentation of the Tesla JSON API used by the iOS and Android apps. The API provides functionality to monitor and control the Model S (and future Tesla vehicles) remotely. The project provides both a documention of the API and a Ruby library to for accessing it.

Ruby Gem Gem Version Build Status Coverage Status

This gem provides a basic wrapper around the API to easily query and command the car remotely. It also provides access to the streaming API and a means to process data coming from it.


Add this line to your application's Gemfile:

gem 'tesla_api'

Or install it yourself:

gem install tesla_api


Here's a quick example:

require 'tesla_api'

tesla_api = TeslaApi::Client.new(email, client_id, client_secret)
tesla_api.login!(password) # Or tesla_api.token = token if you have an existing token.
model_s = tesla_api.vehicles.first # => <TeslaApi::Vehicle>

model_s.auto_conditioning_start unless model_s.climate_state["is_auto_conditioning_on"]


charge_state = model_s.charge_state
puts "Your Model S is #{charge_state["charging_state"]} " +
     "with a SOC of #{charge_state["battery_level"]}% " + 
     "and an estimate range of #{charge_state["est_battery_range"]} miles"


Ruby portions are Copyright (c) 2014 Tim Dorr. Released under the terms of the MIT license. See LICENSE for details.