Tesla
Control your Tesla vehicles from Openclaw. Supports multiple cars on one account.
Setup
INSTALLATION AND USE INSTRUCTIONS
First-time authentication:
TESLA_EMAIL="[email protected]" 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 emailToken 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
teslapylibrarySends vehicle commands (lock, unlock, climate, charge) to Tesla's official API
Caches OAuth refresh token locally in
~/.tesla_cache.jsonAll 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 permissionsTokens 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