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

Model S REST API

This site may earn commission on affiliate links.
A lot of Tesla's API bodies are pretty self-explanatory re-using property names, it's just the endpoint that's tricky. And of course, it could just be disabled until the app update goes out considering the two are tightly coupled and likely go out as a package.
 
A lot of Tesla's API bodies are pretty self-explanatory re-using property names, it's just the endpoint that's tricky. And of course, it could just be disabled until the app update goes out considering the two are tightly coupled and likely go out as a package.
3.8.0 just hit the Android Play Store. I imagine it won't be long before you or someone gets the API call for the seats.
 
  • Like
Reactions: SG57 and SeBsZ
I think the seats turn off when you then climate off through the app, when you are not inside the vehicle. These functions seem to be tied to the Keep Climate On system. I guess to avoid draining the battery below 20% and the car needs to be "active", which turning on the climate does. This is also why sitting in the car you can enable the seat heaters without climate , as the car is active because you are in it.
 
Ahh I would've never guessed the endpoint, fair enough.

-

Seat Heater

Endpoint: api/1/vehicles/{vehicle_id}/command/remote_seat_heater_request
Request Body:
Code:
{
"heater":1,
"level":1
}

Where heater is one of the following values:
Code:
SeatHeaterFrontLeft: 0,
SeatHeaterFrontRight: 1,
SeatHeaterRearLeft: 2,
SeatHeaterRearLeftBack: 3,
SeatHeaterRearCenter: 4,
SeatHeaterRearRight: 5,
SeatHeaterRearRightBack: 6,
SeatHeater3rdRowLeft: 7,
SeatHeater3rdRowRight: 8

Looks like remote heating can be disabled in the car? One error I've seen is cabin comfort remote settings not enabled.

Low state of charge and door open are other errors that will prevent the command from working.

-

Steering Wheel Heater

Endpoint: api/1/vehicles/{vehicle_id}/command/remote_steering_wheel_heater_request
Request Body:
Code:
{
"on": true
}
 
Last edited:
Thanks for that, but "cabin comfort remote settings not enabled" is very common and has nothing to do with a setting.

What I have noticed is that we can _only_ control the seat heaters when either of these conditions are met:
1. Someone is in the vehicle, screen is on, etc.
or
2. Climate control has been enabled through the app remotely

So using remote_seat_heater_request will fail with the above error, unless you also enable the climate control (set a temperature). I'm not too happy about this, it seems a waste because I have to set a temperature and it's going to either consume energy heating or cooling the cabin as well.
 
Ahh I would've never guessed the endpoint, fair enough. -

I've been messing with Fiddler and Burp, my Phone, Bluestacks, and Memu and I just can't get https decryption working. Any recommendations? I had read it might have something to do with certificate pinning but I have no experience with that and I've mainly used Fiddler and never had trouble with apps before.
 
@SeBsZ , thanks for that. If those are infact the conditions needed then yea, that's frustrating. I think Tesla assumes if you want the seat heater on then you want the climate on as well, I mean if the climate temperature is cold and the seats are hot might as well heat the cabin while you're at it.

@schmug, the official Tesla app does have certificate pinning, any attempts to proxy and sniff the network traffic will fail. I get around it by using a rooted Android device, xPosed framework, and a custom plugin I contributed to to remove the pinning from the Tesla app. Fuzion24/JustTrustMe
 
So does the cabin heat have to be actually heating or just active? Can you turn the CC on and set the heat set point low and have the seat heaters stay on? That has to be the way it works, otherwise when the cabin heat reached the set point, then the seat heater would turn off.
 
Sometimes the car doesn't to sleep but to offline. If I when try to wakeup the car via "vehicles/{Id}/wake_up" it doesn't always wakeup.

What it the way to do this? I was hoping once calling wakeup is enough but if I then do "vehicles/{Id}/data" it usually returns 408 Request Timeout

However, opening the app will result in the Model S to come online again.

Is there is a sort specific API call order to wake my Model S?
 
Also, I'm accessing the Tesla API from the Netherlands and I'm getting 200+ milliseconds responses. I'm blaming this on the Tesla servers to be located in the US and that EU Tesla's have increased latency due to this but wondering what kind of response times you are getting from the US.
 
Ahh I would've never guessed the endpoint, fair enough.

-

Seat Heater

Endpoint: api/1/vehicles/{vehicle_id}/command/remote_seat_heater_request
...
@SG57, thanks so much for testing this out and posting the details! Could you possibly test holding one of the seats for a few seconds and see if it hits a different endpoint? I saw someone mention that it restored the previous set levels which makes me think it's a different command being sent (something like restore_seat_heater_request since the app should have no knowledge of the previous levels). I haven't updated to the new version yet so I haven't tested this myself.
 
Now that the app shows local superchargers and their availability, is THIS a part of the API that other apps can avail themselves of? I set up my phone in front of a time-lapse camera and then transcribed the information from my SpC to get an availability graph, that seems like something that an app or site could collect and create an 'average' graph over many days and weeks.

-Randy
 
Now that the app shows local superchargers and their availability, is THIS a part of the API that other apps can avail themselves of? I set up my phone in front of a time-lapse camera and then transcribed the information from my SpC to get an availability graph, that seems like something that an app or site could collect and create an 'average' graph over many days and weeks.

-Randy
I posted a thread here: Aggregating supercharger occupancy data
And made a feature request on TeslaFi here: Aggregating supercharger occupancy data / General / TeslaFi (may upvote the feature request? :) )