TeslaMate完全指南:从安装到数据可视化的开源特斯拉监控方案

【免费下载链接】teslamate teslamate-org/teslamate: TeslaMate 是一个开源项目,用于收集特斯拉电动汽车的实时数据,并存储在数据库中以便进一步分析和可视化。该项目支持监控车辆状态、行驶里程、充电详情等信息。 【免费下载链接】teslamate 项目地址: https://gitcode.com/gh_mirrors/te/teslamate

你还在为特斯拉车辆数据分散、分析困难而烦恼吗?TeslaMate作为一款开源的特斯拉数据监控工具,能够帮助你轻松收集、存储和可视化车辆的实时数据,包括行驶里程、充电详情、电池健康状态等关键信息。本文将从安装部署到数据应用,为你提供一套完整的特斯拉数据管理解决方案,让你全面掌握车辆状态,优化驾驶体验。

一、TeslaMate简介

TeslaMate是一个开源项目,用于收集特斯拉电动汽车的实时数据,并存储在数据库中以便进一步分析和可视化。该项目支持监控车辆状态、行驶里程、充电详情等信息,帮助车主更好地了解车辆使用情况,优化充电策略,延长电池寿命。

TeslaMate的核心功能包括:

  • 实时监控车辆状态,如电池电量、续航里程、充电状态等
  • 记录行驶数据,包括行驶里程、速度、能耗等
  • 分析充电数据,如充电时间、充电量、充电效率等
  • 提供丰富的数据可视化图表,帮助用户直观了解车辆使用情况
  • 支持数据导出和第三方集成,如Home Assistant等

项目结构主要包括以下几个部分:

二、安装部署

2.1 Docker安装(推荐)

Docker安装是最简单快捷的方式,适用于大多数用户。首先确保你的系统已经安装了Docker和Docker Compose。

创建一个docker-compose.yml文件,内容如下:

services:
  teslamate:
    image: teslamate/teslamate:latest
    restart: always
    environment:
      - ENCRYPTION_KEY=secretkey # 替换为安全的加密密钥
      - DATABASE_USER=teslamate
      - DATABASE_PASS=password # 替换为安全的数据库密码
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=database
      - MQTT_HOST=mosquitto
    ports:
      - 4000:4000
    volumes:
      - ./import:/opt/app/import
    cap_drop:
      - all

  database:
    image: postgres:17
    restart: always
    environment:
      - POSTGRES_USER=teslamate
      - POSTGRES_PASSWORD=password # 替换为安全的数据库密码
      - POSTGRES_DB=teslamate
    volumes:
      - teslamate-db:/var/lib/postgresql/data

  grafana:
    image: teslamate/grafana:latest
    restart: always
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASS=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
    volumes:
      - mosquitto-conf:/mosquitto/config
      - mosquitto-data:/mosquitto/data

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

在终端中执行以下命令启动服务:

docker compose up -d

2.2 高级安装:使用Traefik实现HTTPS和Basic Auth

如果你需要将TeslaMate暴露到公网,建议使用Traefik作为反向代理,实现HTTPS加密和Basic Auth认证。详细配置可参考Traefik指南

主要步骤包括:

  1. 创建docker-compose.yml.env.htpasswd文件
  2. 配置Traefik反向代理
  3. 设置HTTPS证书自动续期
  4. 配置Basic Auth认证

三、数据导入

如果你之前使用过其他特斯拉数据记录工具,如TeslaFi,可以将历史数据导入到TeslaMate中。

3.1 从TeslaFi导入数据

  1. 首先创建数据备份:
docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck
  1. 从TeslaFi导出CSV数据:Settings -> Advanced -> Download TeslaFi Data

  2. 将导出的CSV文件复制到import目录:

.
├── docker-compose.yml
└── import
    ├── TeslaFi82019.csv
    ├── TeslaFi92019.csv
    └── ...
  1. 重启TeslaMate服务,在管理界面中选择时区并开始导入:
docker compose restart teslamate
  1. 导入完成后,清空import目录并重启服务:
rm -rf import/*
docker compose restart teslamate

3.2 数据备份与恢复

定期备份数据是一个好习惯,可以使用以下命令创建备份:

docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck

恢复数据的命令如下:

# 停止teslamate容器
docker compose stop teslamate

# 清空现有数据
docker compose exec -T database psql -U teslamate teslamate << .
DROP SCHEMA public CASCADE;
CREATE SCHEMA public;
CREATE EXTENSION cube WITH SCHEMA public;
CREATE EXTENSION earthdistance WITH SCHEMA public;
.

# 恢复数据
docker compose exec -T database psql -U teslamate -d teslamate < teslamate.bck

# 重启teslamate容器
docker compose start teslamate

四、数据可视化

TeslaMate集成了Grafana,提供了丰富的可视化仪表盘,帮助用户直观了解车辆数据。

4.1 访问Grafana仪表盘

启动服务后,通过http://your-ip-address:3000访问Grafana,默认用户名和密码均为admin。首次登录后,系统会提示你修改密码。

Grafana中提供了多个预设的仪表盘,包括:

总览仪表盘

4.2 自定义仪表盘

如果你对默认仪表盘不满意,可以根据自己的需求进行自定义。Grafana提供了强大的图表编辑功能,可以添加、删除或修改图表,调整时间范围,设置告警等。

五、高级配置

5.1 环境变量配置

TeslaMate支持通过环境变量进行配置,常见的配置项包括:

  • TZ:时区设置,如Asia/Shanghai
  • LOG_LEVEL:日志级别,如infodebug
  • CHECK_ORIGIN:是否检查请求来源,默认为true
  • IMPORT_DIR:数据导入目录,默认为./import

完整的环境变量列表可以参考环境变量文档

5.2 与Home Assistant集成

TeslaMate可以通过MQTT与Home Assistant集成,实现更强大的自动化控制。首先需要在Home Assistant中配置MQTT传感器,然后创建自动化规则。

配置示例:

# configuration.yaml
mqtt:
  sensor:
    - name: "Tesla Battery Level"
      state_topic: "teslamate/cars/1/battery_level"
      unit_of_measurement: "%"
      device_class: "battery"
      
    - name: "Tesla Charging Status"
      state_topic: "teslamate/cars/1/plugged_in"
      device_class: "plug"
      
  binary_sensor:
    - name: "Tesla Locked"
      state_topic: "teslamate/cars/1/locked"
      device_class: "lock"

Home Assistant集成

六、更新与维护

6.1 更新TeslaMate

使用Docker Compose可以轻松更新TeslaMate到最新版本:

docker compose pull
docker compose up -d

6.2 常见问题解答

6.2.1 车辆无法进入睡眠模式

如果你的车辆是MCU1(2018年3月之前生产的Model S和Model X),需要进行以下设置:

  • 显示 -> 节能 -> 开启
  • 显示 -> 始终连接 -> 关闭
  • 安全与保障 -> 座舱过热保护 -> 关闭
6.2.2 数据缺失

如果未使用Streaming API,可能会导致数据缺失。这是因为车辆在进入睡眠模式前有15分钟的不活动时间,TeslaMate会在3分钟后暂停轮询,期间的活动无法被检测到。

6.2.3 为什么没有显示能耗数据?

Tesla API本身不返回行程的能耗数据,TeslaMate通过充电数据估算能耗。需要至少两次充电会话才能生成第一次估算,每次充电会话应超过10分钟且充电至低于95%的电量。

七、总结

通过本文的介绍,你已经了解了TeslaMate的安装部署、数据导入、可视化分析和高级配置等方面的内容。TeslaMate作为一款强大的开源特斯拉数据监控工具,能够帮助你全面掌握车辆状态,优化驾驶体验。

项目的持续发展离不开社区的支持,如果你有任何问题或建议,可以通过GitHub Issues与开发团队交流。同时,也欢迎你为项目贡献代码或文档,共同完善这个优秀的开源工具。

最后,希望本文能够帮助你更好地使用TeslaMate,享受智能驾驶带来的乐趣!

【免费下载链接】teslamate teslamate-org/teslamate: TeslaMate 是一个开源项目,用于收集特斯拉电动汽车的实时数据,并存储在数据库中以便进一步分析和可视化。该项目支持监控车辆状态、行驶里程、充电详情等信息。 【免费下载链接】teslamate 项目地址: https://gitcode.com/gh_mirrors/te/teslamate

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐