Skip to content
EN | DE

Tesla

Tesla offers an official, but paid vehicle API. For private use, you can create a Tesla Developer Account at developer.tesla.com and receive a monthly API credit of $10. This is usually sufficient for the common evcc use cases.

The myteslamate.com guide explains the process and generates a free Access and Refresh Token. With this token pair and your Client ID created in the Tesla Developer Account, evcc can directly communicate with the Tesla API. You can see your used credit in the Tesla Developer Dashboard.

To use a Tesla Wall Connector, you need a public Command Proxy Server. myteslamate.com provides such a service with per-use pricing. Configure the Command permissions at myteslamate.com and enter the Proxy Token here. Start, stopp and current commands are sent to Tesla via this proxy.

More information and alternatives can be found at docs.evcc.io/blog.

Parameters

NameDescriptionValueLevel
clientIdClient IDoptional
accessTokenAccess tokenoptional
refreshTokenRefresh tokenoptional
titleTitle

Will be displayed in the user interface

optional
capacity [kWh]Battery capacity
Example: 50
optional
vinVehicle Identification Number

If you own multiple vehicles from the same manufacturer

Example: W...
optional
iconIcon

Will be displayed in the user interface

Default: car
advanced
phasesMaximum number of phases

The maximum number of phases which can be used

Example: 3
advanced
modeDefault charging mode

Used when a vehicle is connected. Possible values are Off, Now, MinPV and PV, or empty if none should be set

advanced
minCurrent [A]Minimum amperage

The minimum amperage per connected phase that can be used

Example: 6
advanced
maxCurrent [A]Maximum amperage

The maximum amperage per connected phase that can be used

Example: 16
advanced
maxPower [W]Maximum charging power hint

Defines the maximum charging power of the vehicle. Helps improve charge plan accuracy when the vehicle typically uses less than the offered current or supports higher single-phase current compared to three-phase. The offered current of the loadpoint is not affected.

Example: 10000
advanced
identifiersIdentification

Mostly this can be added later, see: https://docs.evcc.io/en/docs/features/vehicle

advanced
priorityPriority

Priority of the loadpoint or vehicle in relation to other loadpoints or vehicles for allocating pv energy

advanced
commandProxyCommand Proxy

When using a TWC3 (or other 'dumb' charger not capable of control), evcc can manage the charge directly by communicating with the vehicle through a Command Proxy. By default the myteslamate.com proxy is used. With this parameter, you set the base URL of a custom Command Proxy. See for example TeslaBleHttpProxy for a proxy sending commands via bluetooth.

Default: https://api.myteslamate.com
advanced
proxyTokenProxy Token

Token for the myteslamate.com command proxy (pay-per use). Ensure, that you've installed their Virtual Key and granted 'Charge Start', 'Charge Stop' and 'Set Charging Amps' permissions.

advanced
cacheCache

Time interval for data refresh

Default: 15m
Example: 5m
advanced
Configuration example for evcc.yaml

If you don't want to configure via the UI, you can alternatively use this YAML block.

vehicles:
- name: my_car
type: template
template: tesla
clientId: # Client ID, from [developer.tesla.com](https://developer.tesla.com/dashboard).
accessToken: # Access token, from [myteslamate.com](https://app.myteslamate.com/).
refreshToken: # Refresh token, from [myteslamate.com](https://app.myteslamate.com/).
title: # Title, Will be displayed in the user interface (optional)
capacity: 50 # Battery capacity (kWh), optional
vin: W... # Vehicle Identification Number, If you own multiple vehicles from the same manufacturer (optional)
icon: car # Icon, Will be displayed in the user interface [car, bike, bus, moped, motorcycle, rocket, scooter, taxi, tractor, rickshaw, shuttle, van, airpurifier, battery, bulb, climate, coffeemaker, compute, cooking, cooler, desktop, device, dishwasher, dryer, floorlamp, generic, heater, heatexchange, heatpump, kettle, laundry, laundry2, machine, meter, microwave, pump, smartconsumer, tool, waterheater] (optional)
phases: 3 # Maximum number of phases, The maximum number of phases which can be used (optional)
mode: # Default charging mode, Used when a vehicle is connected. Possible values are Off, Now, MinPV and PV, or empty if none should be set (optional)
minCurrent: 6 # Minimum amperage (A), The minimum amperage per connected phase that can be used (optional)
maxCurrent: 16 # Maximum amperage (A), The maximum amperage per connected phase that can be used (optional)
maxPower: 10000 # Maximum charging power hint (W), Defines the maximum charging power of the vehicle. Helps improve charge plan accuracy when the vehicle typically uses less than the offered current or supports higher single-phase current compared to three-phase. _The offered current of the loadpoint is not affected._ (optional)
identifiers: # Identification, Mostly this can be added later, see: https://docs.evcc.io/en/docs/features/vehicle (optional)
priority: # Priority, Priority of the loadpoint or vehicle in relation to other loadpoints or vehicles for allocating pv energy (optional)
commandProxy: https://api.myteslamate.com # Command Proxy, When using a TWC3 (or other 'dumb' charger not capable of control), evcc can manage the charge directly by communicating with the vehicle through a Command Proxy. By default the [myteslamate.com](https://app.myteslamate.com/) proxy is used. With this parameter, you set the base URL of a custom Command Proxy. See for example [TeslaBleHttpProxy](https://github.com/wimaha/TeslaBleHttpProxy) for a proxy sending commands via bluetooth. (optional)
proxyToken: # Proxy Token, Token for the [myteslamate.com](https://app.myteslamate.com/) command proxy (pay-per use). Ensure, that you've installed their Virtual Key and granted 'Charge Start', 'Charge Stop' and 'Set Charging Amps' permissions. (optional)
cache: 15m # Cache, Time interval for data refresh (optional)