Tesla is about to close non-fleet API starting April 2024 #3792
Replies: 14 comments 56 replies
-
How does this impact Teslamate? |
Beta Was this translation helpful? Give feedback.
-
I am having problems interpreting what they are saying.
This implies that the owners API which we are using is not supported. OK, nothing new here, we knew that already.
You should only use documented APIs. I presume this excludes the owners API.
Non-documented APIs, including owners API will be phased out.
Huh? But we don't have feel API access privileges. How can you revoke something we don't have? Maybe this is aimed at somebody using both old and new. Not sure why you would do that. Or why it would require revocation of privileges as opposed to just blocking the bad requests. Reading between the lines suggests that they might start blocking tokens that Teslamate uses. But they haven't actually said that. Nor is there anyway to contact anybody to get additional information or clarification on these requirements. The good news:
The bad news:
(Not that it affects teslamate, but only 5 wake up requests a day? But it can take more then 5 wake up requests to wake the car up even once! For even a simple usage like my program that charges the car at cheap times that is unusable). I have no drama with Tesla replacing old undocumented APIs with new documented APIs. What I do have an issue with is that the new APIs are heavily restricted compared with what we could do with the old APIs. For me, one of the key advantages of Tesla over other cars was its APIs, but if this disappears I think if I ever need another car I will be seriously looking at Tesla's competitors now. But none of this is surprising considering evidence is that Elon Musk sees APIs as easy way to get extra money. At least there is some good news for me, the Amber electricity retailer (Australia) is experimenting with talking to the Tesla API for charging at cheap times. Maybe if my code stops working, one day I can use Amber's code and let them deal with this crap. But this won't help for Teslamate. |
Beta Was this translation helpful? Give feedback.
-
At the bottom of that page, there is an email address: fleetapisupport@tesla.com While it is clear that this is intended for technical support queries, it is the only contact we have. Maybe somebody needs to contact this address and ask (very tactfully) "Have you considered open source software requirements? Are you actively trying to kill open source projects that use your APIs?". Perhaps we don't want to mention Teslamate just yet though....? No doubt they don't care. But might be worth contacting them regardless, that way they can't claim in the future there was no interest. |
Beta Was this translation helpful? Give feedback.
-
I asked copilot for advice. Its advice does actually seem reasonable. PromptTesla is updating their APIs to require developers have an account and obtain application specific secrets to talk to the API. But this won't work for open source software, which is publicly available and as such cannot be published with any secrets. How do I tactfully contact Tesla and ask if they intend to kill off open source software that uses their APIs? The only contact I have is a technical support contact at fleetapisupport@tesla.com. ResponseCertainly! It’s important to approach this situation tactfully. Here are some steps you can take to inquire about Tesla’s intentions regarding open source software and their APIs:
Remember to maintain a respectful tone throughout your communication. Tesla may appreciate feedback from the developer community, and your inquiry could lead to positive changes or clarifications regarding their API policies. Good luck! Linkshttps://www.tesla.com/developer-docs |
Beta Was this translation helpful? Give feedback.
-
I recently saw a post about Teslemetry, which gives something like API access/data. They are charging for it, obviously. But I wonder if Tesla charges to get access to use the API itself, or Teslemetry is charging for their services. |
Beta Was this translation helpful? Give feedback.
-
Question: Are there any metrics TeslaMate uses that are not on this list? https://teslemetry.com/docs#fields - if there are we need to know sooner rather then later :-) |
Beta Was this translation helpful? Give feedback.
-
what is most unclear is if tomorrow all ends or not in teslamate... |
Beta Was this translation helpful? Give feedback.
-
I have been told that MCU1 cars will not work with the newer Fleet Telemetry API. Not yet sure about MCU2 cars. MCU3 cars will work 100%. Note that the Fleet Telemetry API is different to the Tesla Fleet API. The Telemetry API is streaming, the other one is sending requests on demand. |
Beta Was this translation helpful? Give feedback.
-
The way I see it we have the following options (now):
1 might work but is risky, "Per the Fleet API policies, continued usage of unsupported APIs will result in the revocation of Fleet API access privileges.", which would mean lose of developers account. 4 old streaming API not available from telemetry and probably won't happen due to Tesla threat (above) of revocation of privileges. 2 + 5. Currently requires MCU3, which I don't have. Possibly MCU2 support will come in the future, but this is not certain. That leaves 3 (requires a dev account) and 6 (doesn't require a dev account). 6 does require a bit more changes though, currently we have logic for renewing tokens, storing tokens in the database, etc. None of is required or wanted, teslemetry tokens do not expire. All we need is to put the token in an environment variable before starting and use this when making a request. And we would need to delete/disable the streaming. We will have to watch carefully for rate limiting. Which will be kind of yuck compared with what we have, but better then not having anything at all (if they do decide to kill off the owners API. I am not happy with Tesla's decision to kill of the old streaming API when there isn't a suitable replacement. But I guess maybe nobody at Tesla has even realised this. |
Beta Was this translation helpful? Give feedback.
-
Forgive my possible ignorance here, but wouldn't the paid cloud services like TeslaFi, Tessie, etc be using this new Fleet Telemetry API? Since they "pull" the same data that Teslamate "pulls", doesn't that mean the new API should have the same functionality as the streaming API that is currently being used? As an individual, it's not overly difficult to set up a dev account with Tesla to interact with the new Fleet API, I've done it for the Fleet Command API with the Tesla HTTP Proxy docker image for use in HA. |
Beta Was this translation helpful? Give feedback.
-
So to summarize, as I think the information is spread all over currently, we have the options as summarized below, to communicate with the vehicle as of 2024/05/13. Please correct me on any points. I attempted to link sources where possible. Tesla's Owner API (aka "Tesla Owners API")
Tesla Fleet API
Tesla Fleet Telemetry(mainly what TeslaMate would be interested in using)
3rd-party APIsI specifically didn't dig into 3rd-party API providers. Relying on a 3rd party service to provide an "API proxy" service is in my opinion problematic in multiple ways:
After working for years in the industry with payment providers, I also already foresee the issues of "it's not me!" problem: there's additional code, additional layer of client library, and I unfortunately expect the official API support to be always blame the 3rd party for access issues. Challenges summary
The way forward?In my opinion, TeslaMate's way forward would be to:
That way we will avoid vendor lock-in, while ensuring the solution is as time-stable as possible, as it will use official tooling. In addition, for users who aren't comfortable with hosting their own telemetry server and dealing with keys etc, services like @Bre77's Teslemetry can easily provide Kafka endpoint :) In addition, Kafka unlike e.g. ZeroMQ provides first-class support for data persistency adding to resiliency and allowing 3rd parties to offer additional value-added with their service. While I am a software engineer with some devops experience, I have zero background in Elixir. Thus, I'm unfortunately unable to help with the implementation. However, I'm resisting myself from writing any middleware/sidecar that runs alongside TeslaMate and attempts to translate from Tesla Fleet Telemetry to anything that TeslaMate understands right now - this would be a very fragile way going forward. I am positiveAll in all, I think what we are seeing are good changes, at least as of today. There are pain points (e.g. support for different cars), and uncertainties around pricing etc. However, at least Tesla didn't start sending lawyers to API users like Ford or to open-source developers like Mazda, or even worse becoming publicly hostile to the community like MyQ. In addition, I don't believe the overall API changes are malicious, but more an effort of clean-up and actually giving user's a supported and auditable access to the data. Other manufacturer's also had their stories with warranty work being needed due to 3rd party apps. With Tesla's approach to providing service manual for free and open access to service mode in their cars (both quite unprecedented in car world), or sponsoring events on hacking conferences makes me positive to the new direction, even if we're going through a rough transition now :) FootnotesFootnotes
|
Beta Was this translation helpful? Give feedback.
-
I really don't like the Tesla Fleet API agreement you have to agree to. That is why I haven't done so. For example, it says:
To me this reads as "we will wait until we see merit in what you are doing, develop our own solution, and then claim you are competing with us". On the topic of charging for access for the APIs, I suspect the vision from the CEO is that large fleets of robo-taxis are sold to big players who are then willing to pay large sums for APIs to manage said fleets. The open source community won't be considered. Of course if this vision ever becomes reality, that is another question. |
Beta Was this translation helpful? Give feedback.
-
Seems like the API endpoint is really closed now: #3896 |
Beta Was this translation helpful? Give feedback.
-
@brianmay It looks like Tesla may have changed their policy for open-source applications
Does this change the ability of TeslaMate to use the Fleet API? |
Beta Was this translation helpful? Give feedback.
-
https://developer.tesla.com/docs/fleet-api#2024-03-26-shutting-down-legacy-vehicle-api-endpoints
News from three days ago
Beta Was this translation helpful? Give feedback.
All reactions