teslamate is a free, open source automation project written in Elixir and released under AGPL-3.0. It has 8,998 GitHub stars, 1,005 forks and 72 open issues, and was last pushed 6 hours ago. On this registry it ranks #19 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 8 stars over the last 3 tracked days.

What is teslamate?

TeslaMate is an open-source, self-hosted data logger that records and visualises data from Tesla vehicles, built for Tesla owners who want their driving, charging and battery history to live on their own infrastructure instead of inside a third-party service.

What it is

TeslaMate is an application written in Elixir and licensed under AGPL-3.0 that connects to a Tesla account and continuously records vehicle data. Drive data is stored in a Postgres database, visualisation and analysis run through Grafana, and vehicle data is published to a local MQTT broker. The project carries the elixir-lang, phoenix-liveview, grafana, docker, mqtt, openstreetmap, nix and nix-flake topics, which places it in the self-hosting and home-automation ecosystem rather than in the hosted-SaaS camp. Documentation lives at https://docs.teslamate.org.

The concrete problem it solves is ownership and continuity of vehicle telemetry. Tesla owners who use hosted logging services hand over account credentials and accumulate a history they cannot export or run themselves. TeslaMate replaces that arrangement with a stack the owner operates: high precision drive data recording, charge cost tracking, geofencing for custom locations, and automatic address lookup all write to a database on the owner's own host. Import paths from TeslaFi and from tesla-apiscraper exist, so an existing history can be moved rather than abandoned. It also avoids the usual cost of polling a car constantly: recordings are designed so the car will fall asleep as soon as possible, with no additional vampire drain.

Key capabilities

  • Stores high-precision drive, charge and state data in a Postgres database, with bundled Grafana dashboards covering battery health, charge level, charge details, charging stats, drive stats, efficiency, mileage and projected range.
  • Publishes vehicle data to a local MQTT broker for integration with Home Assistant, Node-Red and Telegram.
  • Provides geofencing to create custom locations, together with automatic address lookup backed by OpenStreetMap data.
  • Tracks charge cost alongside energy added and energy used.
  • Supports multiple vehicles per Tesla account.
  • Imports existing data from TeslaFi and tesla-apiscraper.
  • Distributes as the Docker image teslamate/teslamate, with Nix and nix-flake packaging indicated by the topic list, plus a customizable theme mode of light, dark or system default.

Who uses it and how

  • Home automation users who consume the MQTT feed to drive Home Assistant, Node-Red or Telegram automations from live vehicle state.
  • Multi-car households that log several vehicles under one Tesla account.
  • Owners migrating off TeslaFi or tesla-apiscraper, using the built-in import to carry history across.
  • Self-hosters running Docker or Nix who already operate Postgres, Grafana and an MQTT broker on their own hardware.
  • Privacy-conscious owners who want Tesla account credentials and vehicle history kept off third-party servers.

Getting started

The documented path is to run the Docker image teslamate/teslamate from Docker Hub, with full setup instructions at https://docs.teslamate.org. A Nix flake is available as an alternative for Nix users.

How it compares

TeslaMate occupies the same ground as the other Tesla logging tools named in its facts, TeslaFi and tesla-apiscraper, and it can import data from both, so switching does not mean starting over. The difference the facts support is deployment and licence: TeslaMate is self-hosted and AGPL-3.0, which means the Postgres database, the Grafana dashboards and the MQTT feed sit on infrastructure the operator controls rather than on someone else's servers.

When to use it β€” and when not to

A self-hoster has to operate real infrastructure: Docker, a Postgres database, Grafana and an MQTT broker, with the corresponding backups and upgrades. Anyone who wants a zero-maintenance hosted service, or who will not run a database and keep it backed up, should not choose TeslaMate. There is also an explicit security warning attached to the project: only the official repository at https://github.com/teslamate-org/teslamate and the official documentation should be used, because deceptive websites and unofficial mobile apps have used the TeslaMate name to distribute modified versions that put Tesla account credentials and vehicle data at risk.

project readme (upstream, from github) β€” read inline

TeslaMate

License OpenSSF Best Practices CI Publish Docker images Coverage current version docker image size docker pulls

A powerful, self-hosted data logger for your Tesla.

  • Written in Elixir
  • Data is stored in a Postgres database
  • Visualization and data analysis with Grafana
  • Vehicle data is published to a local MQTT Broker

⚠️ Security Warning

[!CAUTION] Use Official Versions Only

To protect yourself from malicious forks, malware, and data theft, please ensure you only obtain TeslaMate from the official source:

We have received reports of deceptive websites and unofficial mobile apps (e.g. on the App Store) using the TeslaMate name to distribute modified or harmful versions. If you are using a version from another source, your Tesla account credentials and vehicle data may be at risk.

Documentation

The documentation is available at https://docs.teslamate.org

Features

General

  • High precision drive data recording
  • No additional vampire drain: the car will fall asleep as soon as possible
  • Automatic address lookup
  • Easy integration into Home Assistant (via MQTT)
  • Easy integration into Node-Red & Telegram (via MQTT)
  • Geo-fencing feature to create custom locations
  • Supports multiple vehicles per Tesla Account
  • Charge cost tracking
  • Import from TeslaFi and tesla-apiscraper
  • Customizable theme mode (light, dark, or system default)

Dashboards

Sample screenshots of bundled dashboards can be seen by clicking the links below.

Screenshots

Sneak peak into TeslaMate interface and bundled dashboards. See the docs for additional screenshots.

Web Interface

Drive Details

Battery Health

License

TeslaMate is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

This license is designed to ensure that TeslaMate remains free and open for everyone. By using, modifying, or building upon this project, you agree to the following:

  • Reciprocal Sharing (Copyleft): If you modify TeslaMate or incorporate it into another project, you must release the entire source code of your version under the same AGPLv3 license.
  • Universal Access to Source: This requirement applies regardless of how you provide the software to othersβ€”whether you distribute it as a downloadable application (e.g., in an App Store), as a pre-packaged image, or provide access to its functionality via a network service (SaaS).
  • No Closed-Source Derivatives: We do not permit the use of TeslaMate or its components in closed-source commercial products. If your software interacts with or relies on TeslaMate, it must be open-source. If you build upon this project, you are expected to contribute back to the community.

For the full legal terms, please refer to the LICENSE file.

Key Requirements:

  • Copyleft: If you modify TeslaMate and distribute it (e.g., as an app, binary, or package) or offer it as a service over a network (SaaS), you must make your modified source code available to all users under the same AGPLv3 license.
  • No "Closed" Forks: This license ensures that improvements made by commercial entities or third parties remain open to the entire community.
  • Attribution: You must keep all original copyright notices and license information intact.

Trademark Policy: The use of the TeslaMate name and logo is governed by our Trademark Policy.

Contributions: All contributors must sign our Contributor License Agreement. This is handled via cla-assistant.io automatically on first PR and does not take long. Why do we need this? It guarantees that TeslaMate will always remain Free Software (AGPL-3.0) and allows the teslamate-org to legally defend the project against license violations.

Star History

Star History Chart

Credits

  • Initial Author: Adrian Kumpf
  • List of Contributors:
  • TeslaMate Contributors

Frequently asked questions

Is teslamate free to use?

teslamate is open source under the AGPL-3.0 licence. There is no licence fee and no seat count β€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does teslamate do?

A self-hosted data logger for your Tesla 🚘 [main maintainer=@JakobLichterfeld]

What is teslamate written in?

teslamate is primarily written in Elixir. Its source is publicly available at https://github.com/teslamate-org/teslamate, and it has 8,998 GitHub stars.