WallpaperMachine
The wallpapers you love. A new home on your Mac.
Control your Tesla from a Wear OS watch. Bluetooth mode by default, over a direct BLE link. Fleet mode when you want remote control through your own Developer app.
LifestyleKotlin · PythonGitHub @GiackOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Control your Tesla from a Wear OS watch, over Bluetooth and optionally the Fleet API. Not affiliated with Tesla, Inc. or Google LLC.
Taken from the repository README
Loading the full README.
Read the full README ↗A free, open-source Wear OS app that shows your Tesla's state and sends it commands from your wrist. Bluetooth mode is the default: the watch talks to the car directly, with its own BLE key, and needs no Tesla account and no server. Fleet mode is optional remote control through a Developer app you register yourself.
Not affiliated with Tesla, Inc. or Google LLC. This is an independent project. Tesla, Model 3 and Model Y are trademarks of Tesla, Inc. Wear OS is a trademark of Google LLC. Disclaimer.
Lock, climate, frunk, trunk, charge port, windows, lights and horn. Every command, from the app or the Tile, needs hold to confirm and shows how old the known state is. The app never wakes the car just to read it.
The car accepts a Cloud key (the key of a Developer app, approved through tesla.com/_ak) only for commands that arrive through the Fleet API. The same key over Bluetooth is rejected with MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES. It was not added with the driver role.
Bluetooth commands go through VCSEC. The watch asks the car to add its BLE key with ROLE_DRIVER, and you confirm that request with the Keycard on the centre console. Nothing prompts in the Tesla phone app. The private key is created in the Android Keystore and never leaves the watch. Fleet mode does not change this: even with a Cloud key on the watch, Bluetooth still uses the BLE key (ADR-0001).
| Bluetooth mode | Fleet mode | |
|---|---|---|
| What it is | The default. The watch and the car, nothing else | Optional remote access through your own Developer app |
| Near the car | State and commands over Bluetooth | Bluetooth first, Fleet API only when the car is out of range |
| From anywhere | State and commands | |
| Account | Not needed | Your Tesla account, and a Developer app you register |
| Server run by this project | None | None. Calls go to Tesla, with your credentials |
| Cost | Free | Tesla's Fleet API prices. The app's budget defaults to $10 a month, the same as Tesla's monthly developer credit |
| Key | BLE key in the Android Keystore | That BLE key, plus the Cloud key for the Fleet API |
The guide is at giack.github.io/wear-for-tesla:
The repository publishes the Public build, application id io.github.giack.wearfortesla. Its car images are project-owned Car renders from design/car-model, tinted with the paint colour. There is no Tesla logo and no Official render.
The Personal build (dev.giack.teslawear) is the maintainer's own install. Tesla-owned material stays in git-ignored sources and is never built in CI. The two application ids can be installed side by side, each with its own BLE key. See ADR-0002.
cd android
./gradlew :wear:assemblePublicRelease # APK in wear/build/outputs/apk/public/release/
./gradlew test # JVM tests
CI runs ./gradlew test :wear:lintPublicRelease :wear:assemblePublicRelease.
The site is MkDocs Material, built from docs/:
pip install -r requirements-site.txt
mkdocs build --strict
Design notes and decision records are in design/. Vocabulary for the project is in GLOSSARY.md.
Pull requests are welcome: read CONTRIBUTING.md first. Changes reach main only through reviewed pull requests. Report security problems privately (SECURITY.md).
Nothing is sent to the project: see PRIVACY.md. Licensed under the Apache License 2.0.