Source Code
Tesla
Control your Tesla vehicles from Clawdbot. Supports multiple cars on one account.
Setup
First-time authentication:
TESLA_EMAIL="you@email.com" python3 {baseDir}/scripts/tesla.py auth
This will:
- Display a Tesla login URL
- You log in and authorize in browser
- Paste the callback URL back
- Token cached for future use (~30 days, auto-refreshes)
Environment variables:
TESLA_EMAILโ Your Tesla account email- Token cached in
~/.tesla_cache.json
Multi-Vehicle Support
Use --car or -c to specify which vehicle:
# List all vehicles
python3 {baseDir}/scripts/tesla.py list
# Commands for specific car
python3 {baseDir}/scripts/tesla.py --car "Snowflake" status
python3 {baseDir}/scripts/tesla.py -c "Stella" lock
Without --car, commands target your first vehicle.
Commands
# List all vehicles
python3 {baseDir}/scripts/tesla.py list
# Get vehicle status
python3 {baseDir}/scripts/tesla.py status
python3 {baseDir}/scripts/tesla.py --car "Stella" status
# Lock/unlock
python3 {baseDir}/scripts/tesla.py lock
python3 {baseDir}/scripts/tesla.py unlock
# Climate
python3 {baseDir}/scripts/tesla.py climate on
python3 {baseDir}/scripts/tesla.py climate off
python3 {baseDir}/scripts/tesla.py climate temp 72
# Charging
python3 {baseDir}/scripts/tesla.py charge status
python3 {baseDir}/scripts/tesla.py charge start
python3 {baseDir}/scripts/tesla.py charge stop
# Location
python3 {baseDir}/scripts/tesla.py location
# Honk & flash
python3 {baseDir}/scripts/tesla.py honk
python3 {baseDir}/scripts/tesla.py flash
# Wake up (if asleep)
python3 {baseDir}/scripts/tesla.py wake
Example Chat Usage
- "Is my Tesla locked?"
- "Lock Stella"
- "What's Snowflake's battery level?"
- "Where's my Model X?"
- "Turn on the AC in Stella"
- "Honk the horn on Snowflake"
API Reference
Uses the unofficial Tesla Owner API documented at: https://tesla-api.timdorr.com
Troubleshooting
Auth not working?
- Try opening the auth URL on your phone browser instead of desktop
- Make sure you're logged into the correct Tesla account
- Clear cookies and try again
Security & Permissions
This skill controls physical vehicles. Use with caution.
What this skill does:
- Authenticates via Tesla's official OAuth flow using the
teslapylibrary - Sends vehicle commands (lock, unlock, climate, charge) to Tesla's official API
- Caches OAuth refresh token locally in
~/.tesla_cache.json - All communication is between your machine and Tesla's servers only
What this skill does NOT do:
- Does not store your Tesla password โ uses OAuth token flow
- Does not send credentials or vehicle data to any third party
- Does not access any system resources beyond the Tesla API
- Cannot be invoked autonomously by the agent (
disable-model-invocation: true) - The agent must be explicitly triggered by you for every command
Key safety:
- Refresh token cached in
~/.tesla_cache.jsonwith restricted permissions - Tokens auto-refresh for ~30 days
- Only use on trusted, personal machines
- Review
scripts/tesla.pybefore first use โ it communicates only with Tesla's official API