Topics

Control with Bluetooth

Control your vehicle locally without Teslemetry

One of the biggest limitations of the Tesla Fleet API is its rate limits. Some use cases, such as charge on solar require sending frequent commands to your vehicle, which can easily exceed the daily command limit. Thankfully, there is a local alternative for these use cases.

ESPHome Tesla BLE

Created by Yasir Ekinci, esphome-tesla-ble is a library that enables ESP32 micro-controllers running ESP Home to connect to your Tesla vehicle over Bluetooth Low Energy.

To set this up is a technical process which requires you to know your vehicle VIN and Bluetooth MAC, and experience using ESPHome. Once complete, you can start and stop charging, change the charging amps, and charge limit.

The following is an example implementation using an inexpensive LOLIN C3 Mini.

esphome:
  name: tesla-ble
  name_add_mac_suffix: true
  friendly_name: Tesla BLE
  libraries:
    - https://github.com/yoziru/tesla-ble.git

packages:
  common: github://yoziru/esphome-tesla-ble/packages/common.yml
  project: github://yoziru/esphome-tesla-ble/packages/project.yml

esp32:
  board: lolin_c3_mini
  flash_size: 4MB
  variant: esp32c3
  framework:
    type: esp-idf
    version: 5.2.2
    platform_version: 6.7.0

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  on_connect:
    - esp32_ble_tracker.start_scan:
        continuous: true
  on_disconnect:
    - esp32_ble_tracker.stop_scan:
  output_power: 8.5dBm

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "REPLACE WITH RANDOM KEY"

ota:

time:
  - platform: homeassistant
    id: homeassistant_time