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

Tesla Bluetooth Low Energy (BLE) API Documentation

This site may earn commission on affiliate links.
Yea I had a brief look at it.
Its pretty much the full implementation with what looks like all/most of the RKE's implemented.

Didnt look too far into the dependencies but saw there was a BLE wrapped around it.

I just had a really simple script running on RPi that wrapped itself around bluez(I think that's the bluetooth manager for RPi)
Yeah, it is indeed almost a full imp. But interesting. That truly cross-platform BLE library btw was made by a SpaceX or Tesla worked, I don't remember, so that's nice. Also, I heard Tesla work mostly in Python, so not too surprising.
 
Either something working in my RPi is wrong, or I have to compile some base libraries myself.
ARM doesnt seem to be supported, at least not easily compiled and installed on pip.

But your friends implementation is easy enough to follow so its perfect
 
Either something working in my RPi is wrong, or I have to compile some base libraries myself.
ARM doesnt seem to be supported, at least not easily compiled and installed on pip.

But your friends implementation is easy enough to follow so its perfect
I stand corrected, wiped my Pi to Arm64 and it compiled fine. ¯\_(ツ)_/¯
 
Jumped off the Pi for the mean time - I got it working running Python3 on OSX.

Finally opened the charge port with my laptop.
Definitely cool - using a bit of your friends code(couldn't get it running properly) as well as your example code.
 
Yeah, nothing surprising, make the car believe you're the phone, make the phone believe that you're the car, and act yourself as an extender, meanwhile you don't know what the two are talking about you're relaying the messages. The car sees good signal quality thus it unlocks. Nothing special in that, and I see no reason why anyone should think it is. For all we know, there's Pin To Drive keeping your car secure from a drive away. Nothing too scary, as clearly regular car owners continue using things like even more insecure and easy to replicate passive unlock (although they do have RFID immobilizers but that doesn't matter). None of this really matters, unless Tesla decides to do something about it.

TL;DR
Yes it's true, probably doesn't matter, just keep Pin To Drive on and you're good. Just hope that Tesla issues a mitigation.
 
Jumped off the Pi for the mean time - I got it working running Python3 on OSX.

Finally opened the charge port with my laptop.
Definitely cool - using a bit of your friends code(couldn't get it running properly) as well as your example code.
Amazing! You shoulda seen my face when I was using a Bluetooth serial connection thing app that sends messages to BT and BLE devices, I press send message in the middle of the night, and the headlights flash!

After months of work, I was in AWE!
 
  • Like
Reactions: Lyth
Amazing! You shoulda seen my face when I was using a Bluetooth serial connection thing app that sends messages to BT and BLE devices, I press send message in the middle of the night, and the headlights flash!

After months of work, I was in AWE!
You can flash the lights? Where is this command!?

Struggling a bit to understand the structure of the ToVSEC and what is available aside from the demos that you've put together.
I wanted to see whether I could also get some sort of telemetry data of the car.
Or does it deliver that periodically?

I have been using asyncio to see all the messages as they come in - but haven't done it from a moving vehicle(I get car sick :( )
 
You can flash the lights? Where is this command!?
No you can't flash the headlights, sorry for the miscommunication, it does that when unlocking. It's just that it was dark and the headlights was the only sign that it unlocked.
Struggling a bit to understand the structure of the ToVSEC and what is available aside from the demos that you've put together.
Look at the proto file and it will make much more sense.
I wanted to see whether I could also get some sort of telemetry data of the car.
Or does it deliver that periodically?
Sadly I don't know anything about that.
but haven't done it from a moving vehicle
Welp, I don't know if it ever gives telemetry. The only stuff that you can receive would be the stuff you'd find in the latest (like the one that is not yet documented) vcsec.proto file, nothing else (unless they made some updates to it since app 4.4.4... gonna extract 4.8 soon).
 
  • Like
Reactions: Lyth
Glanced through the proto, but didnt look too deep into it.
Telemetry would be good but yea.. need to test it in more environments

I noticed that the car broadcasts its state on UUID213.
I used asyncio to stop python from terminating(dont know if there's a better way) and could see the state of all the closures while firing them from the mobile app
 
@ArchGryphon

Just thought I would post an update - I managed to get things working on a MacOS app. Not too helpful I know. 🤣
Thanks!

Hope to come back with a bigger update later. May be with an Apple Watch build.
Nice! Great seeing you progressing! And yep, of course a MacOS app ain't that useful but it's a step in the right direction, and if you made it in swift, I think porting to AWatch won't be that hard.