TeslaMate 自动化看板
进行中基于 TeslaMate + Grafana + InfluxDB 搭建的 Tesla 车辆数据看板,自动记录行程、充电、电耗数据,支持自定义告警和周报。
技术栈
项目背景
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 场景的实际应用模式