teslamate-org / teslamate

A self-hosted data logger for your Tesla 🚘
https://docs.teslamate.org
MIT License
5.91k stars 737 forks source link

Car location in the tesla app flies over the globe while driving #3351

Closed Bolten88 closed 7 months ago

Bolten88 commented 1 year ago

Is there an existing issue for this?

What happened?

When teslamate is active while driving and i open the tesla app to check the location it 'flies' over the map. Like every second a different country. But teslamate is showing the right location. And when i check the drives dashboard the drive looks normal as well. When i stop teslamate while driving than the location of the car in the tesla app is normal. When i start teslamate it starts again. Is it something from my side or is this a bug?

Expected Behavior

That the location of the car in the tesla app acts normal.

Steps To Reproduce

Start teslamate Start driving Check location of the car in the tesla app, it is somehere else every second

Stop teslamate before/while driving Start driving Check location of the car in the tesla app, it acts normal

Relevant log output

There is none

Screenshots

No response

Additional data

No response

Type of installation

Docker

Version

1.27.3

dotdk-dk commented 1 year ago

I am experiencing the exact same issue. Tesla verified this issue is caused by third party app.

Version 1.27.3

longzheng commented 1 year ago

This issue also happened in 2020 https://github.com/adriankumpf/teslamate/issues/753#issuecomment-708291735

I believe it's related to the Streaming API. If Teslamate is using it, then the Tesla mobile app cannot and then it glitches with the location displayed on the map.

I've found disabling Streaming API in Teslamate fixes it.

Bolten88 commented 1 year ago

This issue also happened in 2020 #753 (comment)

I believe it's related to the Streaming API. If Teslamate is using it, then the Tesla mobile app cannot and then it glitches with the location displayed on the map.

I've found disabling Streaming API in Teslamate fixes it.

I see that the streaming api is enabled. Disabled it for now to see the difference. Would be great if that helps. Any thoughts of what that streaming api is?

And how did you set the ‘time to try sleeping’, ‘idle time before trying to sleep’ and ‘car must be locked’. The option appear when streaming api is disabled.

spn91 commented 11 months ago

It would be nice to know why this issue won't be fixed? Most probably because of a limitation of the Tesla API, but a clarification of a developer is definitely needed!

MrNickIE commented 11 months ago

I had thought it would be fixed?

How do we disable streaming api and what exactly will that mean for teslamate?

spn91 commented 11 months ago

I don’t know if it was added by mistake, but two days ago the closed:wontfix label was set.

There are many unanswered questions about this topic and I think it is necessary to document them in the UI and the docs, what disadvantages it has to use the streaming api. Because as normal user I would just wonder why the Tesla App is not updating the location or needs much more time then before to update it (or just jumping around on the map).

brianmay commented 11 months ago

I have been led to believe it should be possible for multiple apps to use the streaming API at the same time without any problem.

The main problem with disabling the streaming API is that you end up polling Tesla more frequently. And this could push Tesla to introduce rate limits that nobody wants.

spn91 commented 11 months ago

@JakobLichterfeld could you please explain why you think that this won't be fixed (according to your label)?

@brianmay so you think it is Teslamates fault, that the location in the app is not working? Or is this only a problem for some user? Anything we can do to help debugging it?

For me, that problem occurs in that way for example:

This is also some new behavior, and started to occur for me about a month ago.

MrNickIE commented 11 months ago

@JakobLichterfeld could you please explain why you think that this won't be fixed (according to your label)?

@brianmay so you think it is Teslamates fault, that the location in the app is not working? Or is this only a problem for some user? Anything we can do to help debugging it?

For me, that problem occurs in that way for example:

* car is driving

* I'm opening the app to see the location of the car

* the arrow, which is normally red, is grey and stands still somewhere on the map

* after about 10 seconds (sometimes more, sometimes less) it turns red, jumps to actual location of the car and starts moving

This is also some new behavior, and started to occur for me about a month ago.

Confirmed same issues exactly for me.

brianmay commented 11 months ago

I note you say you are using TeslaMate 1.27.3, if so, you really need to upgrade.

See https://github.com/teslamate-org/teslamate/issues/3381.

spn91 commented 11 months ago

I note you say you are using TeslaMate 1.27.3, if so, you really need to upgrade.

See #3381.

I‘m using 1.28.2

cwanja commented 11 months ago

I am hypothesizing here, will let @JakobLichterfeld clarify his labeling (although I mostly agree with it).

TeslaMate merely consumes what comes out of the API. Meaning, whatever it sends, TeslaMate records. TeslaMate has zero control over what the API sends or does. Tesla blaming third-party will be their stance anytime you mentioned a third-party solution. They are 'not supported' and TeslaMate uses an unofficial API.

I know several users running TeslaMate and TeslaFi (or other services), so the API can handle multiple services polling for data. Not sure if TeslaFi uses the steaming API or not. As such, I am not sure if the Tesla app is another steaming consumer.

All said, if TeslaMate data is correct while driving (which I understand from previous comments it is) TeslaMate is working. And it is Tesla's app (would be surprising) that is unable to handle multiple connections, that makes it not a TeslaMate issue.

More information like Tesla App version and Tesla car version could help be drive more analysis.

spn91 commented 11 months ago

The issue started occurring for me after the teslamate update which adapted the tesla api change. As far as I remember something at the location endpoint had changed.

Also the teslamate data is not always correct, if I look at my recorded drives I sometimes see some „straight“ lines were the car jumped from one point to another, indicating missing gps location. I have to recheck this if this also occurred during the last few drives. Last week I checked the location of the car in the app (the arrow was red) and then teslamate didn’t show the location. I will try to reproduce this to see what teslamate is logging in this situation.

cwanja commented 11 months ago

Also the teslamate data is not always correct, if I look at my recorded drives I sometimes see some „straight“ lines were the car jumped from one point to another, indicating missing gps location.

Data is not missing, it is the fact that polling was less frequent during that drive or that portion of the drive. I cannot determine when or why TeslaMate polls certain drives every second (smooth lines) or chunks (jagged lines). I have both within my database.

MrNickIE commented 11 months ago

I am just going to chime in here too.

This problem. Though it existed before, was rare. Since that last update it's all the time and makes the Tesla app unusable.

So there is a regression.

cwanja commented 11 months ago

Since that last update

What is "that last update"? TeslaMate? Tesla app? Tesla in-car software?

Are you referring to #3398 as part of 1.27.4?

cwanja commented 11 months ago

Also curious - what is the use-case for pulling up the location of the car in the Tesla app when you are driving the car?

MrNickIE commented 11 months ago

Apologies. I mean the last teslamate update after it was handed over from Adrian's retirement from it.

Regarding the other question. We have a fleet of Tesla's for work. Some people use the app. Some use teslamate.

cwanja commented 11 months ago

Apologies. I mean the last teslamate update after it was handed over from Adrian's retirement from it.

If this is referring to release 1.27.4 and #3398, I am still not sure how TeslaMate can resolve this (hence the tag). TeslaMate made an adjustment to the consuming API endpoint due to data loss in the old API. The new API, from my understanding (@swiffer correct me if I am wrong) is the Fleet API and the direction Tesla is moving to support third-party solutions. If Tesla cannot support multiple solutions polling that Fleet API, that Fleet API does not seem production ready.

And to that last point, it might not be. I am not sure.

brianmay commented 11 months ago

I think the logs are the key here. We need to see the logs at the time these things happen.

It could be for example that the streaming API has been disconnected, and have to resort to polling while we attempt to reconnect to the streaming API. I think we are suppose to poll every 15 seconds if streaming, otherwise every 2.5 seconds. If I am reading the code correctly.

Or it could be that we cannot talk to the car at all.

The logs should say what happened. Without them everything is speculation.

spn91 commented 11 months ago

Did anyone here try to use any of the other tools to check if the problem also occurs? I know that the answer would be most probably yes, but I‘m just curious.

JakobLichterfeld commented 11 months ago

@JakobLichterfeld could you please explain why you think this won't be fixed (according to your label)?

I am hypothesizing here, will let @JakobLichterfeld clarify his labeling (although I mostly agree with it).

When we started maintaining TeslaMate as an org to ensure TeslaMate functionality even after the Tesla firmware update 2023.38.3, there was a huge amount of old issues and pull requests from the last two years. I merged quick wins and labeled all open PRs as described here and labeled the latest issues as well.

Why did I do this? To get a sense of prioritization.

Why was this issue labeled as closed:wontfix and area:tesla api last week?

Hope this helps, even though it was transparent through the labels, that's why we use them.

Why was this issue just labeled and not actually closed? Obviously someone is complaining about something or asking questions. That's why we give reasons when we come across them.

spn91 commented 11 months ago

Thanks for your explanation. There are use cases using the app, although the car is driving (it should be clear, that I‘m not driving myself during using the app). You also ignored the fact, that sometimes teslamate is not able to get the location (for a few minutes, not only a few polling intervals).

But just ignore this use case.

Another use case; last week I wanted to drop off my car at the SeC. As you may know, they are fully automated now. During the workflow you must ensure, that you park the car within a predefined range of the SeC. I had to wait about a minute until I was able to do it, because the app was unable to show the current location, the marker was somewhere else..

And there are many more cases which are true during the car is parked.

brianmay commented 11 months ago

I think there is no disputing the fact that there are real problems at times with TeslaMate being able to consistently record data.

Somebody needs to spend the time in debugging the problem (one that seems cannot be easily replicated) and decide on a solution (assuming this is possible) or document why a solution is not available (most likely due to limitations in the Tesla API).

Right now however, Tesla is threatening to discontinue the Rest API early next year. Which means nobody will be able to use TeslaMate. Except via their go proxy server, which may or may not work with TeslaMate. And may be non-trivial to configure (depending on user experience/knowledge). So I really think this is where our full attention needs to be focused right now. Even if it is just documenting a tested list of steps to setup a proxy server and configure TeslaMate to use said proxy server (further discussion should go to more appropriate issue).

Then we can come back to issues such as these. Which may or may not have changed with the new API.

MrNickIE commented 10 months ago

For me. This issue appears to have gone for now. Maybe Tesla fixed something?

JakobLichterfeld commented 8 months ago

For me. This issue appears to have gone for now. Maybe Tesla fixed something?

Is the issue still present fo you @Bolten88 ? Will close in 7 days or so

MrNickIE commented 8 months ago

Issue is very much still happening for me unfortunately.

Bolten88 commented 8 months ago

For me. This issue appears to have gone for now. Maybe Tesla fixed something?

Is the issue still present fo you @Bolten88 ? Will close in 7 days or so

I can confirm that this issue is still there.

hennr commented 8 months ago

I just setup teslamate this morning and can confirm messed up location data in the app while someone is driving.

The postion on the card though, seems more stable (if not 100% correct?). Is it probably different data for the address that is shown as an overlay text on the map and for the postion of the arrow?

hennr commented 7 months ago

I just setup teslamate this morning and can confirm messed up location data in the app while someone is driving.

The postion on the card though, seems more stable (if not 100% correct?). Is it probably different data for the address that is shown as an overlay text on the map and for the postion of the arrow?

The issue is gone for me, probably there was a fix on tesla's end?

@Bolten88 , @NickWhitNTES can you confirm that the issue is gone?

Bolten88 commented 7 months ago

, probably there was a fix on tesla's end

Last month the issue was still there. I'm able to test it tommorrow and let you know the result.

MrNickIE commented 7 months ago

I will test this later today when some of the fleet are driving around.

MrNickIE commented 7 months ago

I can confirm that this issue appears, from VERY brief testing, to be gone!

JakobLichterfeld commented 7 months ago

Perfect

  • There is nothing we could really change on TeslaMate side imo.

Turned out to be true ;-)