🚘 A Ruby gem and unofficial documentation of Tesla's JSON API for the Model S, 3, X, and Y.
This release handles the new auth process (see #260). It does not yet handle MFA users.
When upgrading, any previously stored refresh_token
s will no longer function, as they are being generated by a new system. While existing Owner API access_token
s will continue to work until they expire, a full login will be needed to obtain new refresh_tokens.
set_preconditioning_max
window_control
share
(just aliased to navigation_request
currently)trigger_homelink
vehicle_config
as a separate method from data
.This release is sponsored by RedAlert, a smart alerting platform for Tesla vehicles.
Sorry for the quick major bump again, but this is warranted. The internal HTTP client I was using (HTTParty) was entirely thread-unsafe, so things like Sidekiq jobs or other multi-user systems would be impossible to implement safely.
As a bonus, I've updated the streaming API to use the new WebSocket endpoint. The old HTTP streaming endpoint is completely defunct now.
Vehicle.stream
to use the WebSocket endpoint.Client.vehicle(id)
endpoint for getting a single vehicle from the API.TeslaApi::Client
.new
now uses keyword arguments: email:
, access_token:
, access_token_expires_at:
, refresh_token:
, client_id:
, and client_secret:
. Note: access_token_expires_at
should be a DateTime..token=
, .expires_in=
, .created_at=
have been removed. You can set these when creating the client.refresh_access_token
method to obtain a new access token using a refresh token. Note: Tesla invalidates the previous refresh token when obtaining the new access token.