news 2026/9/19 19:40:54

TeslaMate 完整部署教程:五分钟搭建特斯拉数据监控中心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TeslaMate 完整部署教程:五分钟搭建特斯拉数据监控中心

TeslaMate 完整部署教程:五分钟搭建特斯拉数据监控中心

【免费下载链接】teslamateA self-hosted data logger for your Tesla 🚘 [main maintainer=@JakobLichterfeld]项目地址: https://gitcode.com/GitHub_Trending/te/teslamate

月底翻账单发现电费比上个月多了两百块,却说不出到底哪一次充电最贵;或者你想知道某次长途驾驶真实耗了多少电,只能凭感觉回忆。TeslaMate 是一个自托管的特斯拉数据记录器:它持续采集车辆的驾驶与充电数据,存入 PostgreSQL,再用 Grafana 可视化。一次 TeslaMate 部署,在你家里的 NAS 或任何一台常开的 Linux 机器上只需要五分钟。

① 架构一张图:先看懂它怎么跑

整条数据链路一句话能说清:

  • 采集:teslamate 容器(Elixir 编写)通过特斯拉官方 API 流式订阅 + 轮询,秒级跟踪位置、电量、充电、车门等状态;
  • 存储:Postgres 把一切持久化,drives、positions、charges 等表按时间累积;
  • 展示:Grafana 容器自带 20 多块预配置面板,Overview、Drive Details、Charging Stats 开箱即用;
  • 通知:Mosquitto MQTT 代理实时发布车辆数据,可接 Home Assistant、Node-RED 等。

项目最低要求
CPU2 核
内存2GB(1GB 能装,官方建议 2GB)
存储约 20GB 可用(长期数据积累)
系统常开设备 + Docker + Compose v2(x86_64 / ARM64 均可)
网络可访问 tesla.com(大陆车辆改用 tesla.cn,见下文)

② 五分钟跑起来:最小可用部署

第一步,生成两个密钥。一个是 API 令牌的加密密钥,丢了旧令牌就解不开,所以要用强随机值;另一个是数据库密码:

openssl rand -base64 32 # 作为 ENCRYPTION_KEY openssl rand -base64 16 # 作为数据库密码

第二步,写docker-compose.yml。它定义了 teslamate、database、grafana、mosquitto 四个容器,关键点是容器之间用服务名(databasemosquitto)而不是 IP 互联:

services: teslamate: image: teslamate/teslamate:latest environment: - ENCRYPTION_KEY=${ENCRYPTION_KEY} - DATABASE_USER=teslamate - DATABASE_PASS=${DATABASE_PASSWORD} - DATABASE_NAME=teslamate - DATABASE_HOST=database - MQTT_HOST=mosquitto ports: - "4000:4000" database: image: postgres:18-trixie environment: - POSTGRES_USER=teslamate - POSTGRES_PASSWORD=${DATABASE_PASSWORD} - POSTGRES_DB=teslamate volumes: - teslamate-db:/var/lib/postgresql

完整文件参考 website/docs/installation/docker.md,里面还差 grafana(对外 3000 端口)、mosquitto 两个服务以及顶层 volumes 声明,照抄即可。

第三步,启动并验证。这一步别急,等个十秒再看日志:

docker compose up -d docker compose logs -f teslamate

日志出现开始连接车辆的记录后,打开http://你的IP:4000。TeslaMate 不能自己注册令牌(特斯拉的授权流程变太快),需要先用 tesla_auth 之类的第三方工具生成 access token 和 refresh token,在登录页填入,车辆数据流就接上了。Grafana 在:3000打开,首次登录 admin/admin,进手第一件事是改密码。

③ 功能地图:它到底能帮你算什么

驾驶行为

  • Drive Details 面板:每次驾驶的轨迹、速度、海拔、功率,回答"那趟路我到底开多快、爬坡花了多少电";
  • Efficiency 面板:净/毛能耗随时间变化,回答"冬天能耗是不是真的高了、高了多少";
  • Mileage 面板:累计里程与按日统计,方便盯保养周期。

充电成本

  • Charges 面板:每次充进多少电、用了多少电,回答"这次充电值不值";
  • Charging Stats 面板:单次充电成本统计,支持按地点设置电价,月底的账单疑问能定位到具体某一次;
  • Vampire Drain 面板:停放时的电池流失,回答"车在家停两天白烧了多少电"。

远程监控

  • States 面板:车何时在线、何时睡着、何时在充电,排查"数据怎么断了"就看它;
  • Geofences:自定义"家""公司"等地点,既是"按地点算充电成本"的基础,也方便触发自动化。

④ 避坑清单:部署后最常踩的 5 个坑

坑一:记录突然停了,日志出现认证错误

现象:数据正常录了几天后突然断流。原因:特斯拉令牌有有效期,access 和 refresh token 都会过期。修复:用 tesla_auth 重新生成一对令牌,登录页重新填入即可,已录数据不受影响。先确认原因:

docker compose logs -f teslamate

坑二:大陆用户拉不到数据

现象:日志里对 tesla.com 的请求超时。原因:默认指向海外域名,大陆车辆应走 tesla.cn 域名。修复:给 teslamate 服务加一个环境变量:

- TESLA_API_HOST=https://owner-api.vn.cloud.tesla.cn

完整变量表见 website/docs/configuration/environment_variables.md。

坑三:容器反复重启,内存不够

现象:database 或 teslamate 容器起不来、一直重启。原因:官方最低要求 1GB 内存,512MB 的小主机连 Postgres 迁移都跑不完。修复:把主机或同机其他容器挪开,腾出至少 2GB 后重新拉起:

docker compose up -d

坑四:停放期间数据"缺"了十几分钟

现象:States 面板显示白天停放有一段空白。原因:轮询模式下,车闲置 3 分钟后 TeslaMate 会挂起轮询、让车尽快睡觉,这 15 分钟内的活动天然采不到——这是"不额外唤醒车辆耗电"和"数据完整"之间的取舍。修复:确认流式连接是否稳定,稳定时缺口的概率会小很多:

docker compose logs teslamate | grep -i stream

坑五:升级 latest 起不来了

现象pull到最新版后服务起不来。原因:大版本之间可能要求按顺序做数据库迁移,跳版本会卡住。修复:升级前先备份,失败就把镜像 tag 改回之前可用的版本号再启动:

docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck docker compose pull && docker compose up -d

⑤ 玩出花样:进阶玩法与二次开发

玩法一:Home Assistant 自动发现 + 到家提醒。新版支持 HA 的 MQTT 设备发现,不用再手工维护几百行传感器 YAML,两个环境变量就够:

environment: - MQTT_HOME_ASSISTANT_DISCOVERY=true - MQTT_HOME_ASSISTANT_DISCOVERY_URL=http://<你的IP>:4000/

启用后电量、充电状态、门窗传感器会自己出现在 HA 里;再串一个 Node-RED 流程,"充电完成 → 发一条消息到手机"十分钟就能搭好(官方文档带现成的 Telegram 示例流程)。可用 topic 全量清单在 website/docs/integrations/mqtt.md。

玩法二:自己的年度能耗报告。内置的 20 多块面板 JSON 全部开放在 grafana/dashboards/ 目录,可以直接改,也可以绕过面板直接在 Postgres 里写查询:

SELECT date_trunc('month', start_date) AS month, round(sum(energy_used)::numeric, 1) AS used_kwh FROM charges WHERE start_date >= now() - interval '1 year' GROUP BY 1 ORDER BY 1;

把结果丢进自建 Grafana 面板,就是你要的年度能耗报告。积累几个月后打开 Visited 面板,一整年的驾驶轨迹会画成一张地图,这大概是这套系统最有成就感的画面。

⑥ 运维备忘:更新、备份与数据安全

每秒都在往 Postgres 里写数据,这个卷是你唯一的"硬资产",升级前务必先备份:

# 备份(可加 crontab;-T 参数是必须的) docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck # 升级 docker compose pull && docker compose up -d

再提醒一句:4000(Web)和 3000(Grafana)两个端口默认只绑内网。要远程访问就走 VPN / Tailscale 或加反代,别把登录页直接暴露公网——那里面存着你的特斯拉令牌。

⑦ 写在最后

TeslaMate 把车变成了一份持续累积的数据资产:驾驶、充电、休眠状态全都有据可查,而部署成本只是一个 compose 文件。按第二节的五分钟流程先把数据接上,一周后你的 Grafana 会开始回答那些"凭感觉"回答不了的问题。更多环境变量、导入历史数据、NixOS 安装的细节,去官方文档 docs.teslamate.org 和开源社区里找。

【免费下载链接】teslamateA self-hosted data logger for your Tesla 🚘 [main maintainer=@JakobLichterfeld]项目地址: https://gitcode.com/GitHub_Trending/te/teslamate

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 19:40:47

NVIDIA控制面板离线包安装与故障排查完全指南

说实话&#xff0c;每次在群里看到有人问“NVIDIA控制面板怎么不见了”“重装完驱动就剩个黄图标&#xff0c;右键菜单空空如也”&#xff0c;我心里都挺有共鸣的。这种事我自己也踩过不止一次坑&#xff0c;尤其是给老电脑重装系统、或者公司IT同事拿精简版镜像装完机器之后&a…

作者头像 李华
网站建设 2026/9/19 19:37:53

Windows 10语音控制小爱:原生识别+开放API实战指南

1. 项目概述&#xff1a;为什么“小爱同学电脑版”不是官方产品&#xff0c;但仍有大量真实需求&#xff1f;“小爱同学电脑版”这个说法本身就是一个典型的用户认知偏差——小米官方从未发布过名为“小爱同学电脑版”的独立Windows客户端。你在Microsoft应用商店里搜不到它&am…

作者头像 李华
网站建设 2026/9/19 19:30:03

UE5 UMG嵌入网页实战:从WebBrowser控件到CEF原理与避坑指南

接到需求要把一个Web页面嵌进UE5的UMG界面里&#xff0c;玩家不用切出去就能看&#xff0c;我第一反应是打开控件面板拖一个“浏览器”出来——结果翻了三遍&#xff0c;默认控件里根本没有这东西。当时就意识到&#xff0c;UE的UI系统和HTML网页压根是两个世界&#xff0c;想塞…

作者头像 李华
网站建设 2026/9/19 19:27:27

树莓派实现Modbus TCP到声光语音终端字节帧协议转换

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华