/teslamate

A self-hosted data logger for your Tesla 🚘

Primary LanguageElixirMIT LicenseMIT

TeslaMate

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

Features

Dashboards

  • Lifetime driving map
  • Drive and charging reports
  • Driving efficiency report
  • Consumption (net / gross)
  • Charge energy added vs energy used
  • Vampire drain
  • Projected 100% range (battery degradation)
  • SOC charging stats
  • Visited addresses
  • History of installed updates

General

  • Little to no additional vampire drain: the car will fall asleep after a certain idle time
  • Automatic address lookup
  • Locally enriches positions with elevation data
  • Geo-fencing feature to create custom locations
  • Supports multiple vehicles per Tesla Account

Screenshots

Drive Details Web Interface

MORE SCREENSHOTS

Quick Start

The recommended way to install and run TeslaMate is to use Docker. Create a file called docker-compose.yml with the following content:

docker-compose.yml

version: '3'

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=secret
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=db
      - MQTT_HOST=mosquitto
    ports:
      - 4000:4000
    cap_drop:
      - all

  db:
    image: postgres:11
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD=secret
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=secret
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=db
    ports:
      - 3000:3000
    volumes:
      - teslamate-grafana-data:/var/lib/grafana

  mosquitto:
    image: eclipse-mosquitto:1.6
    restart: always
    ports:
      - 1883:1883
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

volumes:
    teslamate-db:
    teslamate-grafana-data:
    mosquitto-conf:
    mosquitto-data:

Afterwards start the stack with docker-compose up.

To sign in with your Tesla Account open the web interface at http://your-ip-address:4000.

The Grafana dashboards are available at http://your-ip-address:3000.

Documentation

The TeslaMate documentation is available here.

Donations

TeslaMate is open source and completely free for everyone to use.

Maintaining this project isn't effortless, or free. If you would like to support further development, that would be awesome. If you don't, no problem; just share your love and show your support.

Donate with PayPal

Credits