This project lets you use an ESP32 device to manage charging a Tesla vehicle over BLE. Tested with M5Stack NanoC6 and Tesla firmware 2024.20.9.
- Pair BLE key with vehicle
- Wake up vehicle (requires firmware 2024.26.x or newer when using the Charging Manager role)
- Set charging amps
- Set charging limit (percent)
- Turn on/off charging
- Sleep state sensor
If you have a supported device, you can also flash the latest version of the image by using Chrome, connecting your ESP32 through USB and going to https://yoziru.github.io/esphome-tesla-ble/
- Copy and rename
secrets.yaml.example
tosecrets.yaml
and update it with your WiFi credentials (wifi_ssid
andwifi_password
) and vehicle details (ble_mac_address
andtesla_vin
)
To find the
ble_mac_address
of your vehicle, you can uncomment thetesla_ble_listener
component inpackages/project.yml
and watch the logs.
- Build the image with ESPHome
make compile
- Upload/flash the firmware to the board.
make upload
- Get into your vehicle
- In Home Assistant, go to Settings > Devices & Services > ESPHome > Tesla BLE device and click "Pair BLE key"
- Tap your NFC card to your car's center console
- Hit confirm on the screen
- [optional] Rename your key to "ESPHome BLE" to identify it easier