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.
Anyone having problems with the streaming API as of last night?

Last night a number of users of VisibleTesla (including me) stopped getting streaming data. This did not coincide with a firmware update or a change to VT. In my case the app was running continuously for several days and at about 6:15PM PDT stopped getting any further streaming data. I haven't had a chance to look into this carefully but wondered whether others have experienced this on different code bases like teslams.
 
I'm sure we'll see a trend showing the difference between usable_battery_level and battery_level as we get more data points.

Given that 5.9 talks about showing the unusable capacity due to cold weather, my guess is that we'll find the difference is relative to ambient temperature.

- - - Updated - - -

Last night a number of users of VisibleTesla (including me) stopped getting streaming data. This did not coincide with a firmware update or a change to VT. In my case the app was running continuously for several days and at about 6:15PM PDT stopped getting any further streaming data. I haven't had a chance to look into this carefully but wondered whether others have experienced this on different code bases like teslams.

Wish I could help, but I found that my streaming daemon died a couple of weeks ago (I forgot to restart it on reboot). I just restarted it and will look when my wife comes home to see if I have data.
 
I'm sure we'll see a trend showing the difference between usable_battery_level and battery_level as we get more data points.

My 5.9 data starts on 04/08 and in most cases the two values match but there are some examples like:

The gap so far is always 0 or 1 for my data. I suspect we might see a larger delta consistently for the 40/ vehicles either now or in future firmware.

I bet this has to do with the new cold weather battery meter in 5.9.
 
  1. I can't get streaming data any more even with direct curl commands. Something definitely seems to have changed. Has anyone still got a proxy set up to monitor traffic from the iPhone app?


I can't get anything into my mongodb using hjespers/teslams · GitHub program. I'm getting :

16 Apr 22:01:30 - WARN: HTTP returned OK but body is undefined
16 Apr 22:01:40 - 1 of 6 Stream requests since 1397703680129
16 Apr 22:01:50 - WARN: HTTP returned OK but body is undefined
16 Apr 22:02:00 - 2 of 6 Stream requests since 1397703680129

in my requests. Something changed...
 
I can't get anything into my mongodb using hjespers/teslams · GitHub program. I'm getting :

16 Apr 22:01:30 - WARN: HTTP returned OK but body is undefined
16 Apr 22:01:40 - 1 of 6 Stream requests since 1397703680129
16 Apr 22:01:50 - WARN: HTTP returned OK but body is undefined
16 Apr 22:02:00 - 2 of 6 Stream requests since 1397703680129

in my requests. Something changed...

Since they haven't updated the iPhone app, their server must be able to tell the difference between the app's streaming request and our streaming requests somehow.

I set up a proxy and monitored the iPhone app. I changed my streaming request to look as much as possible like theirs. I used the same user agent string, asked for the same fields in the same order, and tried to mimic the other http headers. No luck so far. It's possible they are also looking for a series of requests in a particular order. Who knows at this point.
 
Whatever is keeping the iphone app working must be iphone specific. The android app seems to have stopped working about the same time that the server stopped talking to my scripts. I also just had the 5.9 upgrade, so I'd assumed that was the culprit until seeing this thread.
 
Is it confirmed that the iOS app is getting streaming data? Or is it like the Android app, where it fell back to the "update every 8 seconds" mode? My Android app still gets location information, speed, etc., but presumably only through the REST data.

My apologies if I'm too far behind.
 
Is it confirmed that the iOS app is getting streaming data? Or is it like the Android app, where it fell back to the "update every 8 seconds" mode? My Android app still gets location information, speed, etc., but presumably only through the REST data.

My apologies if I'm too far behind.

Just did a quick test drive with the iOS app - it, too, is no longer using the streaming data but rather the every-8-second polling method of the REST API, it seems. While driving, the app no longer did frequent updates. It does show the location, speed, etc., but only infrequently updates.
 
I've been recording streaming data for a long time as well too and as of the other night it is no longer working.

Sounds like they shut if off considering the iOS and Android apps are using the 8 second polling method via REST API.

bummer. I had a few scripts that used the streaming data.
 
Just another data point...

My streaming died off as well. Been logging for over a year. I've had (recently) some issues with login rejection but this is the first occurrence of login working but streaming being empty.

[The logging binary hasn't changed since 08/03/2013.]
 
I've been recording streaming data for a long time as well too and as of the other night it is no longer working.

Sounds like they shut if off considering the iOS and Android apps are using the 8 second polling method via REST API.

bummer. I had a few scripts that used the streaming data.

The apps *were* using the streaming, but fall back on the polling mode. I rather dislike waiting 10+ seconds for the updates.
 
To clarify, I have my own working REST implementation for non-streaming, and streaming. I have a working Windows 8 and Surface RT app that I built on top of my library that I use daily. But I was unaware that I could get to the streaming data without streaming. So for example, how can you get the ODO reading without streaming?
 
I'm starting to see responses form the streaming api again though it's been a bit flakey. Based on my logs, Tesla has made at least minor changes to the code running on their servers. They changed the message that is returned when the streaming auth token expires. It used to be a 401 that included the text "GET: [401] Unauthorized". Now it includes "GET: [401] provide valid authentication". That by itself is nothing to get excited about, but it is at least an indication that they've been working on the code.


To clarify, I have my own working REST implementation for non-streaming, and streaming. I have a working Windows 8 and Surface RT app that I built on top of my library that I use daily. But I was unaware that I could get to the streaming data without streaming. So for example, how can you get the ODO reading without streaming?

I know of no where else in the API that you can get the odometer reading.
 
I'm starting to see responses form the streaming api again though it's been a bit flakey. Based on my logs, Tesla has made at least minor changes to the code running on their servers. They changed the message that is returned when the streaming auth token expires. It used to be a 401 that included the text "GET: [401] Unauthorized". Now it includes "GET: [401] provide valid authentication". That by itself is nothing to get excited about, but it is at least an indication that they've been working on the code.
I can confirm this, data is pooring back into my streaming database.
Looks like this was a maintenance 'black-out', phew...