โ† Back to Transportation
Transportation by @mvanhorn

tesla

Control your Tesla vehicles - lock/unlock, climate, location, charge status,

0
Source Code

Tesla

Control your Tesla vehicles from Clawdbot. Supports multiple cars on one account.

Setup

First-time authentication:

TESLA_EMAIL="[email protected]" python3 {baseDir}/scripts/tesla.py auth

This will:

  1. Display a Tesla login URL
  2. You log in and authorize in browser
  3. Paste the callback URL back
  4. 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 teslapy library
  • 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.json with restricted permissions
  • Tokens auto-refresh for ~30 days
  • Only use on trusted, personal machines
  • Review scripts/tesla.py before first use โ€” it communicates only with Tesla's official API