Coder Social home page Coder Social logo

Comments (44)

marcone avatar marcone commented on July 17, 2024

export TESLA_EMAIL=
export TESLA_PASSWORD=

These are no longer used.

export TESLA_REFRESH_TOKEN=

Did you actually put a refresh token there? Because the above isn't going to work. Please follow the documentation in the config file.

export TESLA_WAKE_MODE=stream

You don't need to specify this as it's the default.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Hello

i did put the refresh token there in addition to the other fields.

the reason i have tried the above is the Tesla Mod X is not staying awake

i have tried export TESLA_WAKE_MODE=stream, and have tried the same but with sentry

looking at the diagnostic logs its adds a line Not Keep Tesla Awake so i am a bit stuck hence reading the other post here that suggests adding Tesla Email / Passoword.

At the moment my car does not stay away hence not mounting the drive to record

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

event with only the token added with nothing else, tesla_apy.py still fails if that makes a difference

from teslausb.

marcone avatar marcone commented on July 17, 2024

Something seems wrong with the refresh token then. Make sure to put it in quotes, and don't break it up into multiple lines. It should all be on one (long) line.
After TeslaUSB installs tesla_api.py it tries to list the vehicles on the account using the provided refresh token. If that fails, you will get the "configure: tesla_api.py setup failed" message.

You could try the following:

sudo -i
source bin/envsetup.sh
echo $TESLA_REFRESH_TOKEN

Verify that what it prints matches the refresh token you generated.

Then run bin/tesla_api.py list_vehicles and see if/how that fails.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

will give that a shot now
with the quote are you specifing this " at the start and the end

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

just done a fresh install still get the error during setup however after all is done i have run the command you specified and it does output the details of my car

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

should i do another fresh install but the the quoation marks " start and end "

from teslausb.

marcone avatar marcone commented on July 17, 2024

Single quotes are usually better e.g.

export TESLA_REFRESH_TOKEN='eyJhbGciOiJ........2F1dGgyL3YzL3Rva2'

(the real token will be much longer, probably over a thousand characters)

from teslausb.

marcone avatar marcone commented on July 17, 2024

oh, and you shouldn't need to do a fresh install every time. You can just reboot and it should resume/retry installation.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

so if i do

sudo -i
source bin/envsetup.sh
echo $TESLA_REFRESH_TOKEN
Then run bin/tesla_api.py list_vehicles

and the output i get is my car, am i correct in assuming that its working ?

from teslausb.

marcone avatar marcone commented on July 17, 2024

Yes

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

ok will looks like its working will go and plug in to car and see how it goes

thank you for all your help, will let you know what happens

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Plugged the Pi in to the car and waited for it to boot and the recording icon to appear on the screen which it did.

Went away for dinner, came back to the car with out the keys say 15min later and the Pi was powered off, got the keys walked to the car and it woke up went in to the car and the PI was booting up, Car reported 1 sentry event however when i go in to the app there is no event recorded

from teslausb.

marcone avatar marcone commented on July 17, 2024

It's not clear to me whether you took the car to go to dinner or left the car at home while you went away.

In any case, TeslaUSB only uses the Tesla API to keep the car awake during archiving. When Sentry mode is enabled, the car itself should keep the USB ports powered, and therefore the Pi should be on as long as Sentry mode is on.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Hi Sorry

i should have said the car was parked at home with Sentry active

had dinner came back to car and the PI was powered off

from teslausb.

marcone avatar marcone commented on July 17, 2024

What model year is your Model X?

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

2020

from teslausb.

marcone avatar marcone commented on July 17, 2024

Hmm, I don't understand what's going on then. The car should keep the USB port powered while Sentry is on (because without power even a regular USB drive wouldn't work), and yours apparently doesn't. That is unrelated to using tesla_api.py to keep the car awake during archiving.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Defintly a very strange one unless something has been introduced in the latest tesla update to the car

from teslausb.

merlinfive avatar merlinfive commented on July 17, 2024

so if i do

sudo -i source bin/envsetup.sh echo $TESLA_REFRESH_TOKEN Then run bin/tesla_api.py list_vehicles

and the output i get is my car, am i correct in assuming that its working ?

this is what I get :-( when I do the commands from top

root@teslausb:~# bin/tesla_api.py list_vehicles
Traceback (most recent call last):
File "/root/bin/tesla_api.py", line 596, in
main()
File "/root/bin/tesla_api.py", line 572, in main
_get_id()
File "/root/bin/tesla_api.py", line 185, in _get_id
result = list_vehicles()
File "/root/bin/tesla_api.py", line 269, in list_vehicles
return _execute_request(base_url, None, None, False)
File "/root/bin/tesla_api.py", line 78, in _execute_request
json_response = _rest_request(url, method, data)
File "/root/bin/tesla_api.py", line 105, in _rest_request
'Authorization': 'Bearer {}'.format(_get_api_token()),
File "/root/bin/tesla_api.py", line 163, in _get_api_token
tesla.refresh_token()
File "/usr/local/lib/python3.9/dist-packages/teslapy/init.py", line 249, in refresh_token
super(Tesla, self).refresh_token(token_url, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/requests_oauthlib/oauth2_session.py", line 452, in refresh_token
self.token = self._client.parse_request_body_response(r.text, scope=self.scope)
File "/usr/local/lib/python3.9/dist-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 427, in parse_request_body_response
self.token = parse_token_response(body, scope=scope)
File "/usr/local/lib/python3.9/dist-packages/oauthlib/oauth2/rfc6749/parameters.py", line 441, in parse_token_response
validate_token_parameters(params)
File "/usr/local/lib/python3.9/dist-packages/oauthlib/oauth2/rfc6749/parameters.py", line 448, in validate_token_parameters
raise_from_error(params.get('error'), params)
File "/usr/local/lib/python3.9/dist-packages/oauthlib/oauth2/rfc6749/errors.py", line 399, in raise_from_error
raise cls(**kwargs)
oauthlib.oauth2.rfc6749.errors.LoginRequired: (login_required) Login required

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

did you add the token refresh in to the setup file

from teslausb.

merlinfive avatar merlinfive commented on July 17, 2024

yes ,

export TESLA_REFRESH_TOKEN='eyJhbGciOiJSUzI1NiIsInR5cCI6Ikp....snip.....emrhH-hyGw'

I use MFA on my account will this be a problem ?

and afterwards I started the bin/setup-teslausb , reboot to bring it into running config

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

on my line i used these quotation marks "

then did a fresh install

from teslausb.

merlinfive avatar merlinfive commented on July 17, 2024

I saw a comment to use singe quotes but will give it a try

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

yes true but i used " before i saw that comment but it worked

from teslausb.

merlinfive avatar merlinfive commented on July 17, 2024

same result :-(

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

im see this line in the diagnostics

Fri 27 Oct 13:18:47 BST 2023: Failed to contact car using Tesla API, retrying in 5s...

no other line after that as i suspect the PI looses power

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Another update, so i have remove the Tesla_api comments in the setup file and moved to Tesla FI API,

ran the install and i can see the wake call within Tesla FI web portal so its working, however after about 5 min the Pi Powers off even with Sentry being turned on.

not sure if this normal behaviour or not

from teslausb.

marcone avatar marcone commented on July 17, 2024

ran the install and i can see the wake call within Tesla FI web portal so its working, however after about 5 min the Pi Powers off even with Sentry being turned on.

not sure if this normal behaviour or not

No, when Sentry mode is on the car is supposed to keep the USB ports powered. As I mentioned before, that's independent of using tesla_api.py to keep the car awake during archiving.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Really don't know what the problem is, has to be a software issue with the tesla not sure if anyone else with a X is having the same

from teslausb.

THX723 avatar THX723 commented on July 17, 2024

@TarkUK What firmware version is your Model X current running?
Also, for $ 'n giggles, try performing a soft-rest of your Model X (hold both scroll wheels until screen blacks out).
Finally, you are connecting your Pi like so: Tesla Glovebox USB-A -> USB-A to USB-C cable -> RPi USB-C port. No separate power connection.

As a side note (nothing to do with your issue), I've noticed my Model S on 2023.27.7 now goes to sleep after 12-15 minutes of park/idle, despite a 3rd-party service like TeslaFi polling away every second. The constant polling used to be enough to keep the car awake. I'm wondering if Tesla's made some changes recently, as they prepare for an official launch of their 3rd-party API support (which is currently under testing). With all that said, I'm going to have to make an update to the TeslaFi implementation to use the full 'wake_up' command to keep the car alive. I ran a private test version of that last night and it proved to be working well. Better even, since the car tends to go to sleep on the avg. 5 minutes after archive ends; before it could take as much as 30 minutes.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

I am running 2023.32.9

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

I have tried soft reset make no difference and I have the pi directly connected to the car but I have also tried a backup battery pack and while that keeps the Pi alive the port in the car just stops over time

from teslausb.

THX723 avatar THX723 commented on July 17, 2024

What is your car's state of charge?

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Always above 20% currently st 87

from teslausb.

THX723 avatar THX723 commented on July 17, 2024

Try using another USB-A to USB-C cable. I'm wondering if the port is shutting down from over-drawing, because you have one of those cheap/early USB-A to -C cable without the 56k pull-up resistor. Speculation, but worth a shot.

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Must have tried 6 usb cables. Whichbone you recommend from amazon

from teslausb.

TarkUK avatar TarkUK commented on July 17, 2024

Just ordered one comes Tuesday

from teslausb.

THX723 avatar THX723 commented on July 17, 2024

Actually, before you go swapping cable, try using a simple USB Stick and see if that works without any issues (e.g. not powered off and captures recordings). If that fails too, then it definitely the car, which you should flag for service.

from teslausb.

THX723 avatar THX723 commented on July 17, 2024

btw, this is the one I use: https://www.amazon.com/dp/B0BVQSC9PC?psc=1&ref=ppx_yo2ov_dt_b_product_details

from teslausb.

miles267 avatar miles267 commented on July 17, 2024

Hi I'm now encountering a similar issue. TeslaUSB working fine however the car no longer says awake. When I ran this command:

bin/tesla_api.py list_vehicles, it returned the error:

Thu 08 Feb 08:26:30 CDT 2024: {
"error": "token expired (401)"

I went ahead and created a new Refresh Token and ensured I set it up correctly (with single quotes), then ran these commands:

sudo -i
source bin/envsetup.sh
echo $TESLA_REFRESH_TOKEN

The output correctly returned my new Refresh Token, however when I again run bin/tesla_api.py list_vehicles, I still get the "token expired (401)" error.

Has anyone resolved this?

from teslausb.

miles267 avatar miles267 commented on July 17, 2024

@marcone the issue may be a bit more complicated. Opened a new bug ticket for Tesla API access failing with token refresh. Seems they changed the Tesla API.

from teslausb.

marcone avatar marcone commented on July 17, 2024

bin/tesla_api.py list_vehicles, it returned the error:

This should work again for now. I did have to delete /mutable/cache.json and /mutable/tesla_api.json, and create a new refresh token. Something like this:

sudo -i
source bin/envsetup.sh
rm /mutable/cache.json /mutable/tesla_api.json
export TESLA_REFRESH_TOKEN='<new token goes here>'
/root/bin/tesla_api.py list_vehicles

from teslausb.

rworne avatar rworne commented on July 17, 2024

bin/tesla_api.py list_vehicles, it returned the error:

This should work again for now. I did have to delete /mutable/cache.json and /mutable/tesla_api.json, and create a new refresh token. Something like this:

sudo -i
source bin/envsetup.sh
rm /mutable/cache.json /mutable/tesla_api.json
export TESLA_REFRESH_TOKEN='<new token goes here>'
/root/bin/tesla_api.py list_vehicles

I tried this and it fixed the issue for me. It's keeping the car awake, even after a reboot.

EDIT:
The fix is temporary. After a few reboots (or a few days) it stops working again. Error is the "token expired (401)" error.

from teslausb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.