...

TeslaMate:一个开源的特斯拉车主神器

2022-03-21

简介

TeslaMate 是一个开源的第三方特斯拉日志平台。该项目可以将车主的特斯拉行驶数据收集、存储、展示,而且方便地支持 Docker 部署。

它使用 Elixir 语言进行编写,数据存储在 Postgres 中,使用 Grafana 进行可视化和数据分析,车辆数据发布到本地 MQTT Broker。

提供了以下仪表板可供使用:

  • Web 界面:总览信息

    图片

  • 图片

  • 行驶效率报告:能耗

    图片

  • 充电量和用电量

    图片

  • 预估续航

    图片

  • 充电统计

    图片

  • 行程统计

    图片

  • 充电历史记录

    图片

  • 查看汽车在线或驻车时间

    图片

  • 驾驶地图
  • 去过的地方

其他功能还包括:

  • 高精度的行驶数据记录
  • 自动地址寻找
  • 轻松集成到 Home Assistant(通过 MQTT)
  • 地理围栏功能可创建自定义位置
  • 每个 Tesla 帐户支持多辆车
  • 从 TeslaFi 和 tesla-apiscraper 导入

项目地址是:

https://github.com/adriankumpf/teslamate

安装

安装的机器至少需要 1GB 的 RAM,并且能够访问外部网络,与 tesla.com 通信。安装方式有3种,其中在 Debian 和 FreeBSD 平台上的安装步骤比较多,需要首先安装 Postgres、Elixir、Grafana、MQTT Broker、Node.js,并进行相应组件的初始化和启动,较为繁琐。这里只介绍使用 Docker 安装的方式。

DOcker 安装

  1. 创建 docker-compose.yml
version: "3"

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - ENCRYPTION_KEY= #insert a secure key to encrypt your Tesla API tokens
      - DATABASE_USER=teslamate
      - DATABASE_PASS= #insert your secure database password!
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
    ports:
      - 4000:4000
    volumes:
      - ./import:/opt/app/import
    cap_drop:
      - all

  database:
    image: postgres:13
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD= #insert your secure database password!
      - POSTGRES_DB=teslamate
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS= #insert your secure database password!
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
    ports:
      - 3000:3000
    volumes:
      - teslamate-grafana-data:/var/lib/grafana

  mosquitto:
    image: eclipse-mosquitto:2
    restart: always
    command: mosquitto -c /mosquitto-no-auth.conf
    # ports:
    #   - 1883:1883
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

volumes:
  teslamate-db:
  teslamate-grafana-data:
  mosquitto-conf:
  mosquitto-data:
  1. 添加用于加密 Tesla API 令牌的安全加密密钥
  2. 添加数据库的访问密码
  3. 后台启动运行 teslamate
docker-compose up -d
  1. 启动成功后,打开网页 http://your-ip-address:4000,使用 Tesla 账户登录。仪表板可以访问 http://your-ip-address:3000,初始账户和密码都是 admin


提示:使用第三方工具,请注意风险。

也许有特斯拉车主已经听过 Teslamate 这个第三方工具。就在今年 1 月份,一位 19 岁黑客 David连续“黑了” 25 辆特斯拉。他就是通过 Teslamate 的漏洞控制了。后来他还表示,Teslamate 已经修复了漏洞。


来源:开源前哨