TeslaMate 自动化看板

进行中

基于 TeslaMate + Grafana + InfluxDB 搭建的 Tesla 车辆数据看板,自动记录行程、充电、电耗数据,支持自定义告警和周报。

创建时间
更新时间
技术栈
DockerTeslaMateInfluxDBGrafanaPostgreSQL
automationdata-visualizationDocker

项目背景

TeslaMate 是一个开源的 Tesla 数据记录工具,但默认的 Grafana 看板比较基础,缺少一些我需要的视图和告警。

基于官方 TeslaMate 做了二次定制,加入了更多个性化的数据展示和自动化规则。

技术架构

Tesla API

TeslaMate(Go 服务,采集数据)

PostgreSQL(结构化数据:行程、充电记录)
InfluxDB(时序数据:实时位置、电量、速度)

Grafana(可视化看板)

全部用 Docker Compose 部署在家里的 NAS 上(Synology DS923+)。

自定义内容

新增看板

  • 周行程汇总:每周里程、电耗、去过的地方
  • 充电效率分析:充电速度衰减曲线,识别充电桩质量
  • 能耗地图:标注每段路程的百公里电耗

自动化告警

  • 充电完成推送通知(接 Bark App)
  • 车辆离开家庭地理围栏触发提醒
  • 电量低于 20% 且不在充电时发送提醒

部署方式

# docker-compose.yml 核心结构
services:
  teslamate:
    image: teslamate/teslamate:latest
    environment:
      - DATABASE_URL=postgresql://...
      - MQTT_HOST=mosquitto
    depends_on:
      - database
      - mosquitto

  grafana:
    image: grafana/grafana:latest
    volumes:
      - ./grafana/dashboards:/etc/grafana/provisioning/dashboards
      - ./grafana/datasources:/etc/grafana/provisioning/datasources

  database:
    image: postgres:15

  influxdb:
    image: influxdb:1.8

  mosquitto:
    image: eclipse-mosquitto:2

收获

  • 对 InfluxDB 时序数据模型有了更深的理解
  • 学会了 Grafana 的 Dashboard as Code(用 JSON 版本管理看板配置)
  • 了解了 MQTT 在 IoT 场景的实际应用模式