A fork of the official Tesla integration in Home Assistant.
This is the successor to the core app which was removed due to Tesla login issues. Do not report issues to Home Assistant.
To use the component, you will need an application to generate a Tesla refresh token:
- Android: Tesla Tokens
- iOS: Auth App for Tesla
- TeslaFi: Tesla v3 API Tokens
- Chromium/Edge: Chromium Tesla Token Generator
- Use HACS, in
HACS > Integrations > Explore & Add Repositories
search for "Tesla". After adding thishttps://github.com/alandtse/tesla
as a custom repository. Skip to 7. - If no HACS, use the tool of choice to open the directory (folder) for your HA configuration (where you find
configuration.yaml
). - If you do not have a
custom_components
directory (folder) there, you need to create it. - In the
custom_components
directory (folder) create a new folder calledtesla_custom
. - Download all the files from the
custom_components/tesla_custom/
directory (folder) in this repository. - Place the files you downloaded in the new directory (folder) you created.
- Restart Home Assistant.
- or in the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Tesla Custom Integration".
The Tesla
integration offers integration with the Tesla cloud service and provides presence detection as well as sensors such as charger state and temperature.
This integration provides the following platforms:
- Binary sensors - such as update available, parking, and charger connection.
- Sensors - such as Battery level, Inside/Outside temperature, odometer, estimated range, charging rate, and vehicle data
- Device tracker - to track location of your car
- Locks - Door lock, rear trunk lock, front trunk (frunk) lock and charger door lock. Enables you to control Tesla's door, trunks and charger door lock.
- Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system. Also enables preset modes to enable or disable max defrost mode
defrost
ornormal
operation mode. NOTE: Setstate
toheat_cool
oroff
to enable/disable your Tesla's climate system via a scene. - Switches - Charger and max range switch allow you to start/stop charging and set max range charging. Polling switch allows you to disable polling of vehicles to conserve battery. Sentry mode switch enables or disable Sentry mode.
- Buttons - Horn, Flash lights, and Trigger homelink. Note: The homelink button is disabled by default as many vehicles don't have the homelink option. Enable via configuration/entities if desired.
The following sensors provide all available vehicle data as attributes. These sensors are disabled by default and need to be enabled in HASS first. It is also recommended to exclude these sensors from recorder.
- Climate data sensor
- Charge data sensor
- Vehicle state data sensor
- Software update data sensor
- Speed Limit data sensor
- Vehicle Config data sensor
- Drive State data sensor
- GUI Settings data sensor
Tesla options are set via Configuration -> Integrations -> Tesla -> Options.
-
Seconds between polling - referred to below as the
polling_interval
. -
Wake cars on start - Whether to wake sleeping cars on Home Assistant startup. This allows a user to choose whether cars should continue to sleep (and not update information) or to wake up the cars potentially interrupting long term hibernation and increasing vampire drain.
-
Polling policy - When do we actively poll the car to get updates, and when do we try to allow the car to sleep. See the Wiki for more information.
Here are some things to consider and understand when implementing the Tesla component and its potential effect on your car's battery.
- The
polling_interval
determines when to check if the car is awake and new information is available, but the Tesla integration will not wake up a sleeping car during this polling. By default, the polling will occur every 660 seconds. Polling a car too frequently can keep the car awake and drain the battery. Different firmware versions and measurements of Tesla cars can take from 11 to 15 minutes for sleep mode to occur. There is no official information on sleep mode timings so your mileage may vary and you should experiment with different polling times for an optimal experience. - The car will, however, be woken up when a command is actively sent to the car, such as door unlock or turning on the HVAC. It will then also fetch updated information while the car is awake based on the
polling_interval
. - The car can intentionally be woken up to fetch recent information by sending a harmless command, for example, a lock command. This can be used in an automation to, for example, ensure that updated information is available every morning. (Note that the command must be valid for that specific car model. So locking the frunk of a Model 3 will not wake up that car).
- You can also toggle the
polling switch
on/off to disable polling of the vehicle completely via automations or the Lovelace UI.
If you want to contribute to this please read the Contribution guidelines
Component built with integration_blueprint.