Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Use when integrating with Tesla's official Fleet API to read vehicle/energy device data or issue remote commands (e.g. start HVAC preconditioning, wake vehicle, charge controls). Covers onboarding (developer app registration, regions/base URLs), OAuth token flows (third-party + partner tokens, refresh rotation), required domain/public-key hosting, and using Tesla's official vehicle-command/tesla-http-proxy for signed vehicle commands.
Use when integrating with Tesla's official Fleet API to read vehicle/energy device data or issue remote commands (e.g. start HVAC preconditioning, wake vehicle, charge controls). Covers onboarding (developer app registration, regions/base URLs), OAuth token flows (third-party + partner tokens, refresh rotation), required domain/public-key hosting, and using Tesla's official vehicle-command/tesla-http-proxy for signed vehicle commands.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Control Tesla vehicles via the official Fleet API.
ScriptPurposecommand.pyVehicle commands (climate, charging, locks, etc.)vehicle_data.pyRead vehicle data (battery, climate, location, etc.)vehicles.pyList vehicles + refresh cacheauth.pyAuthentication and configurationtesla_oauth_local.pyOAuth helper with local callback serverstart_proxy.shStart the signing proxy (for vehicle commands)stop_proxy.shStop the signing proxy
Setup is documented in SETUP.md: SETUP.md State directory: {workspace}/tesla-fleet-api/ config.json (provider creds + non-token config) auth.json (tokens) vehicles.json (cached vehicle list) places.json (named locations) proxy/ (TLS material for signing proxy) No .env file loading โ credentials in config.json or environment variables.
Execute commands on your Tesla. Vehicle is auto-selected if you only have one.
command.py [VEHICLE] <command> [options] VEHICLE - Vehicle name or VIN (optional if single vehicle) Commands can be run without specifying vehicle: command.py honk Or with vehicle name: command.py flash honk (vehicle "flash", command "honk")
Start/Stop Climate command.py climate start command.py climate stop command.py flash climate start # specific vehicle Set Temperature command.py climate temps <driver_temp> [passenger_temp] command.py climate temps 21 # both seats 21ยฐC command.py climate temps 22 20 # driver 22ยฐC, passenger 20ยฐC Climate Keeper Mode command.py climate keeper <mode> Modes: off, keep, dog, camp
command.py seat-heater --level <level> [--position <position>] command.py seat-heater -l <level> [-p <position>] Levels: ValueName0off1low2medium3high Positions: ValueNames0driver, front_left, fl1passenger, front_right, fr2rear_left, rl3rear_left_back4rear_center, rc5rear_right, rr6rear_right_back7third_left8third_right Examples: command.py seat-heater -l high # driver (default) command.py seat-heater -l medium -p passenger command.py seat-heater --level low --position rear_left command.py seat-heater -l 2 -p 4 # medium, rear center command.py seat-heater -l off -p driver # turn off
command.py seat-cooler --level <level> [--position <position>] command.py seat-cooler -l <level> [-p <position>] Same levels and positions as seat heater. Examples: command.py seat-cooler -l medium -p driver command.py seat-cooler -l high -p passenger
command.py seat-climate [--position <position>] <mode> command.py seat-climate [-p <position>] <mode> Modes: auto, on, off Examples: command.py seat-climate auto # driver auto command.py seat-climate -p passenger auto command.py seat-climate -p driver off # disable auto
command.py steering-heater <on|off> Examples: command.py steering-heater on command.py steering-heater off
Modern API for scheduling departure preconditioning (replaces deprecated set_scheduled_departure). Add Schedule command.py precondition add --time <HH:MM> [--days <days>] [--id <id>] [--one-time] [--disabled] command.py precondition add -t <HH:MM> [-d <days>] [--id <id>] Days options: ValueDescriptionallEvery day (default)weekdaysMonday through FridayweekendsSaturday and Sundaymon,tue,wed,...Specific days (comma-separated) Day names: sun, mon, tue, wed, thu, fri, sat (or full names) Examples: command.py precondition add -t 08:00 # every day at 8am command.py precondition add -t 08:00 -d weekdays # Mon-Fri command.py precondition add -t 07:30 -d mon,wed,fri command.py precondition add -t 09:00 --one-time # one-time only command.py precondition add -t 08:30 --id 123 # modify existing schedule command.py precondition add -t 08:00 --disabled # create but disabled Remove Schedule command.py precondition remove --id <id> Examples: command.py precondition remove --id 123 command.py precondition remove --id 1
Start/Stop Charging command.py charge start command.py charge stop Set Charge Limit command.py charge limit <percent> Percent must be 50-100. Examples: command.py charge limit 80 command.py charge limit 90 command.py flash charge limit 70 # specific vehicle
command.py lock # lock all doors command.py unlock # unlock all doors command.py honk # honk the horn command.py flash # flash the lights command.py wake # wake vehicle from sleep With vehicle name: command.py flash wake # wake vehicle named "flash" command.py flash flash # flash lights on vehicle "flash"
Fetch vehicle data with human-readable output by default.
vehicle_data.py [VEHICLE] [flags] [--json] VEHICLE - Vehicle name or VIN (optional if single vehicle) No flags = all data --json = raw JSON output
FlagLongData-c--chargeBattery level, charge limit, charging status-t--climateInterior/exterior temp, HVAC status-d--driveGear, speed, power, heading-l--locationGPS coordinates-s--stateLocks, doors, windows, odometer, software-g--guiGUI settings (units, 24h time)--config-dataVehicle config (model, color, wheels)
# All data vehicle_data.py vehicle_data.py flash # Specific data vehicle_data.py -c # charge only vehicle_data.py -c -t # charge + climate vehicle_data.py flash -c -l # charge + location # Raw JSON vehicle_data.py --json vehicle_data.py -c --json
๐ My Tesla (online) VIN: 5YJ... (redacted) โก Charge State โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Battery: [โโโโโโโโโโโโโโโโโโโโ] 78% Limit: 80% State: Charging Power: 11 kW (16A ร 234V ร 3ฯ) Added: 37.2 kWh Remaining: 10m Range: 438 km (272 mi) Cable: IEC ๐ก๏ธ Climate State โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Inside: 11.9ยฐC Outside: 6.0ยฐC Set to: 20.5ยฐC Climate: Off
Manage OAuth tokens and configuration.
auth.py <command> [options]
Login (OAuth Flow) auth.py login Interactive: generates auth URL, prompts for code, exchanges for tokens. Exchange Code auth.py exchange <code> Exchange authorization code for tokens (non-interactive). Refresh Tokens auth.py refresh Refresh access token. Note: refresh tokens rotate - the new one is saved automatically. Register Domain auth.py register --domain <domain> Register your app domain with Tesla (required for signed commands). After registration, enroll your virtual key: https://tesla.com/_ak/<domain> Show Config auth.py config Display current configuration (secrets redacted). Set Config auth.py config set [options] Options: --client-id <id> --client-secret <secret> --redirect-uri <uri> --audience <url> --base-url <url> --ca-cert <path> --domain <domain> Examples: # Initial setup auth.py config set \ --client-id "abc123" \ --client-secret "secret" \ --redirect-uri "http://localhost:18080/callback" # Configure proxy auth.py config set \ --base-url "https://localhost:4443" \ --ca-cert "/path/to/tls-cert.pem"
List vehicles with human-readable output. python3 scripts/tesla_fleet.py vehicles python3 scripts/tesla_fleet.py vehicles --json
๐ Name: My Tesla ๐ VIN: 5YJ... (redacted) ๐ข Status: Online ๐ค Access: Owner
All setup + configuration is documented in SETUP.md.
RegionAudience URLEuropehttps://fleet-api.prd.eu.vn.cloud.tesla.comNorth Americahttps://fleet-api.prd.na.vn.cloud.tesla.comChinahttps://fleet-api.prd.cn.vn.cloud.tesla.cn OAuth token endpoint (all regions): https://fleet-auth.prd.vn.cloud.tesla.com/oauth2/v3/token
Wake the vehicle first: command.py wake
Ensure the signing proxy is running and configured. See SETUP.md ยง Proxy Setup.
auth.py refresh
Specify vehicle by name or VIN: command.py flash climate start command.py 5YJ... honk
climate start|stop climate temps <driver> [passenger] climate keeper off|keep|dog|camp seat-heater -l <level> [-p <position>] seat-cooler -l <level> [-p <position>] seat-climate [-p <position>] auto|on|off steering-heater on|off precondition add -t <HH:MM> [-d <days>] [--id <id>] [--one-time] precondition remove --id <id> charge start|stop charge limit <percent> lock unlock honk flash wake
[VEHICLE] [-c] [-t] [-d] [-l] [-s] [-g] [--config-data] [--json]
login exchange <code> refresh register --domain <domain> config config set [--client-id] [--client-secret] [--redirect-uri] [--audience] [--base-url] [--ca-cert] [--domain]
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.