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

VisibleTesla

This site may earn commission on affiliate links.
Hey folks,

I'm afraid I don't have very encouraging news. Tesla's servers seem to be significantly degraded from the state they were in pre-6.0. At least for me.

I've moved VisibleTesla to the post 6.0 APIs and have even had a chance to add a few new things (like a notification if you forget your doors unlocked, and the ability to do a remote start). Unfortunately the server responses are so unreliable, that the app isn't nearly as useful as it used to be. For example, as part of the new feature that tells you if you forgot your doors unlocked, I have to ask the server whether the doors are unlocked. If I can't get an answer, I can't send the notification.

About 50% of my calls to the server fail with a "Service Unavailable" error or a timeout. I've implemented an automatic retry mechanism, but it's only partially effective.

I see this poor success rate when I use VT or direct curl commands. For example:

Code:
[FONT=Menlo]curl -H "Authorization: Bearer auth_token_removed" \[/FONT]
[FONT=Menlo]     -i https://owner-api.teslamotors.com/api/1/vehicles/VID/data_request/climate_state
[/FONT]
[FONT=Menlo]HTTP/1.1 503 Service Unavailable[/FONT]
[FONT=Menlo]Server: nginx[/FONT]
[FONT=Menlo]Date: Fri, 03 Oct 2014 23:18:14 GMT[/FONT]
[FONT=Menlo]Content-Type: application/json; charset=utf-8[/FONT]
[FONT=Menlo]Content-Length: 92[/FONT]
[FONT=Menlo]Connection: keep-alive[/FONT]
[FONT=Menlo]Status: 503 Service Unavailable[/FONT]
[FONT=Menlo]X-UA-Compatible: IE=Edge,chrome=1[/FONT]
[FONT=Menlo]Cache-Control: no-cache[/FONT]
[FONT=Menlo]X-Request-Id: 25e17fd66f4bbe5e5a7c679d43b0517b[/FONT]
[FONT=Menlo]X-Runtime: 5.048320[/FONT]
[FONT=Menlo]
[/FONT]
[FONT=Menlo]{"response":null,"error":"timeout in request to 172.24.233.170:7654","error_description":""}[/FONT]

I've also noticed that my iPhone app is much less responsive than it used to be.

It's possible that Tesla is throttling me specifically. In the past they have temporarily turned off access for people who were making too many requests to their servers. It's possible that now they are slowing down access instead of turning it off.

I may ask some intrepid soles to try the new version (keeping the old one around of course) to see whether it works better for you than it does for me.

Joe
 
Hi, hmm, that's a bummer. I am not a programmer (but a network admin-type) so I have no idea how complicated it would be, but could you have an experimental feature checkbox under Prefs/General/Advanced to "Use New 6.0 Server" so we can play around with both server options? Or I suppose could fork it--one edition for pre-6.0 server and another for 6.0 server. As 6.0 is very new still, maybe the server is tightened down a bit, but then may open up more in a few months. Just a thought.

Kinda hate not to get to play at all with the new features because of problems on their side..... :)

Thanks for any info and I really appreciate you work on VisibleTesla!

-m
 
Is the API to add calendar entries known yet? I would love for VT or a service to grab changes from the cloud and push them to the car without having the Tesla app running day and night (which does't work on Android anyway).
Still being figured out but it likely uses Bluetooth to sync calander entries so that would make it impossible to add calendar entries remotely.
 
Calendar api doesn't require bluetooth to sync, but it does need to specify the bluetooth name or id of the device that needs to be present in the car to show the calendar data. (works for me in my winphone app, I'm assuming when connecting with bluetooth a notification is sent to device to ask it to sync again, but their notifications are apple/google specific)
 
That's good to know. Thanks ahimberg. Is the format of the json calendar objects written down somewhere? Not sure I'd add this to VT since I'd have to interface to a number of calendar apps on the desktop, but it would be good to know.
 
Calendar api doesn't require bluetooth to sync, but it does need to specify the bluetooth name or id of the device that needs to be present in the car to show the calendar data. (works for me in my winphone app, I'm assuming when connecting with bluetooth a notification is sent to device to ask it to sync again, but their notifications are apple/google specific)
I think one good reason for the calendar app to use Bluetooth is that one wants to show the calendar of the person in the car. For example my wife and I both drive our car and we are going to want to see our own calendar, not some combination.

for that reason I would not expect a remote update to make logical sense.
 
Hi, hmm, that's a bummer. I am not a programmer (but a network admin-type) so I have no idea how complicated it would be, but could you have an experimental feature checkbox under Prefs/General/Advanced to "Use New 6.0 Server" so we can play around with both server options? Or I suppose could fork it--one edition for pre-6.0 server and another for 6.0 server. As 6.0 is very new still, maybe the server is tightened down a bit, but then may open up more in a few months. Just a thought.

Kinda hate not to get to play at all with the new features because of problems on their side..... :)

Thanks for any info and I really appreciate you work on VisibleTesla!

-m

Hi invisik,

I don't think I'll be going down the path of having VT work with both the old and new APIs. I probably could have at one point, but I've made so many changes to the way my client library works that at this point it would be too painful to keep both versions up, running, maintained, and debugged (to the extent that anything in this project is debugged!).

I'm just hoping that one of three things happen - in order of preference:
1. The servers just start working again as reliably as before.
2. I find that I'm doing something wrong in my code, fix it, and VT becomes much more reliable with the new servers.
3. I find out that they're throttling me and it works well for everyone else.

Joe
 
Hey Joe, i made some simple screenshots from the graphs tab. It seems .29 is less "stable" in collecting trip information compared to earlier versions - and like you, i think the Tesla servers are to blame.

Here's the log from today. The app is set to daydream at 0600am, it will toggle HVAC at 0550 - my trip was from 0720 to 0900 approximately. the app is set to allow sleep at 9am

Code:
INFO: App Asleep, Car Asleep, interval = 1800
okt 06, 2014 4:24:12 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Asleep, interval = 1800
okt 06, 2014 4:54:20 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Asleep, interval = 1800
okt 06, 2014 5:24:27 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Asleep, interval = 1800
okt 06, 2014 5:50:00 AM org.noroomattheinn.visibletesla.Inactivity$1 changed
INFO: Resetting Idle start time to now
okt 06, 2014 5:50:50 AM org.noroomattheinn.utils.RestyWrapper rateLimit
INFO: Throttling: More than 20 requests in 60 seconds - https://portal.vn.teslamotors.com/vehicles/23xxx/command/charge_state
okt 06, 2014 5:50:55 AM org.noroomattheinn.utils.RestyWrapper rateLimit
INFO: Throttling: More than 20 requests in 60 seconds - https://portal.vn.teslamotors.com/vehicles/23xxx/command/charge_state
okt 06, 2014 5:50:57 AM org.noroomattheinn.utils.RestyWrapper rateLimit
INFO: Throttling: More than 20 requests in 60 seconds - https://portal.vn.teslamotors.com/vehicles/23xxx/command/climate_state
okt 06, 2014 5:51:12 AM org.noroomattheinn.utils.RestyWrapper rateLimit
INFO: Throttling: More than 20 requests in 60 seconds - https://portal.vn.teslamotors.com/vehicles/23xxx/command/charge_state
okt 06, 2014 5:54:33 AM org.noroomattheinn.visibletesla.Inactivity$1 changed
INFO: Resetting Idle start time to now
okt 06, 2014 5:54:33 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: Something woke the car, start polling
okt 06, 2014 5:54:34 AM org.noroomattheinn.tesla.SnapshotState establishStreamingConnection
INFO: Getting new token: java.io.IOException: Error while reading from GET: [401] provide valid authentication
okt 06, 2014 5:54:34 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 120
okt 06, 2014 5:56:36 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 6:00:00 AM org.noroomattheinn.visibletesla.Inactivity$1 changed
INFO: Resetting Idle start time to now
okt 06, 2014 6:01:36 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App is awake, start polling
okt 06, 2014 6:01:38 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 120
okt 06, 2014 6:03:39 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 6:33:41 AM org.noroomattheinn.tesla.SnapshotState establishStreamingConnection
INFO: Getting new token: java.io.IOException: Error while reading from GET: [401] provide valid authentication
okt 06, 2014 6:33:42 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 7:03:45 AM org.noroomattheinn.tesla.SnapshotState establishStreamingConnection
INFO: Getting new token: java.io.IOException: Error while reading from GET: [401] provide valid authentication
okt 06, 2014 7:03:45 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 7:33:47 AM org.noroomattheinn.tesla.SnapshotState establishStreamingConnection
INFO: Getting new token: java.io.IOException: Error while reading from GET: [401] provide valid authentication
okt 06, 2014 7:33:52 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 8:03:54 AM org.noroomattheinn.tesla.SnapshotState establishStreamingConnection
INFO: Getting new token: java.io.IOException: Error while reading from GET: [401] provide valid authentication
okt 06, 2014 8:03:55 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 30
okt 06, 2014 8:03:55 AM org.noroomattheinn.visibletesla.Inactivity$1 changed
INFO: Resetting Idle start time to now
okt 06, 2014 8:04:26 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:04:57 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:05:28 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:06:00 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 30
okt 06, 2014 8:06:00 AM org.noroomattheinn.visibletesla.Inactivity$1 changed
INFO: Resetting Idle start time to now
okt 06, 2014 8:06:31 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:07:02 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:07:33 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:08:05 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 30
okt 06, 2014 8:08:05 AM org.noroomattheinn.visibletesla.Inactivity$1 changed
INFO: Resetting Idle start time to now
okt 06, 2014 8:08:37 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:09:08 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:09:39 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Awake, interval = 30
okt 06, 2014 8:10:11 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 8:40:13 AM org.noroomattheinn.tesla.SnapshotState establishStreamingConnection
INFO: Getting new token: java.io.IOException: Error while reading from GET: [401] provide valid authentication
okt 06, 2014 8:40:17 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Awake, interval = 1800
okt 06, 2014 9:10:19 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Asleep, interval = 1800
okt 06, 2014 9:40:25 AM org.noroomattheinn.visibletesla.StatsStreamer$AutoCollect run
INFO: App Asleep, Car Asleep, interval = 1800
okt 06, 2014 9:51:01 AM org.noroomattheinn.visibletesla.CommandIssuer run
INFO: CommandIssuer Interrupted: null
okt 06, 2014 9:51:02 AM org.noroomattheinn.visibletesla.SnapshotStreamer run
INFO: SnapshotStreamer Interrupted during normal shutdown
okt 06, 2014 9:51:02 AM org.noroomattheinn.visibletesla.StateProducer run
INFO: StateProducer Interrupted: null
 
Fwiw. I too see a few 504s with my client, but not to the extent you do. How often do you poll the rest API? I poll every minute, and get a couple of periods with 504 every day, but they usually last only a few minutes at a time.
 
Fwiw. I too see a few 504s with my client, but not to the extent you do. How often do you poll the rest API? I poll every minute, and get a couple of periods with 504 every day, but they usually last only a few minutes at a time.

In normal operation it is polling every two minutes. So you are seeing 504's, eh? I'm mostly getting 503's (service unavailable).

- - - Updated - - -

Hey Joe, i made some simple screenshots from the graphs tab. It seems .29 is less "stable" in collecting trip information compared to earlier versions - and like you, i think the Tesla servers are to blame.

Here's the log from today. The app is set to daydream at 0600am, it will toggle HVAC at 0550 - my trip was from 0720 to 0900 approximately. the app is set to allow sleep at 9am

There are problems with 0.29.00 independent of Tesla's servers. I reverted back to 0.28.01 as the default version. See this post.

If I can ever get things stable again, I'll release 0.30.00 to some beta testers to see if they have better luck with Tesla's servers than I am having.
 
In normal operation it is polling every two minutes. So you are seeing 504's, eh? I'm mostly getting 503's (service unavailable).

- - - Updated - - -



There are problems with 0.29.00 independent of Tesla's servers. I reverted back to 0.28.01 as the default version. See this post.

If I can ever get things stable again, I'll release 0.30.00 to some beta testers to see if they have better luck with Tesla's servers than I am having.

I can beta test if you need people.