核心用法
Tesla Fleet API Skill 是一套完整的特斯拉车辆远程管理工具,基于 Tesla 官方 Fleet API 构建。核心功能分为三大模块:
1. 车辆控制 (`command.py`):涵盖气候控制(启动/停止空调、设置温度、Climate Keeper 模式)、座椅加热/通风(支持 10 个座位位置、4 级强度)、方向盘加热、预约预处理(支持按天/一次性定时)、充电控制(启停充电、设置 50-100% 限值)以及车门锁、鸣笛、闪灯等基础操作。
2. 数据读取 (`vehicle_data.py`):实时获取电池状态(电量、充电功率、剩余时间)、气候数据(车内/外温度、HVAC 状态)、行驶信息(档位、速度)、GPS 定位、车辆状态(门窗锁、里程数)等,支持人类可读格式或原始 JSON 输出。
3. 认证与配置 (`auth.py`):处理 OAuth 2.0 授权流程(第三方令牌 + Partner 令牌)、Token 自动刷新、域名注册与虚拟密钥登记。支持多区域部署(北美/欧洲/中国)。
关键技术要求:
- 必须托管公钥域名并通过 Tesla 域名验证
- 敏感命令(如车门解锁)需通过
tesla-http-proxy本地代理进行 ECDSA 签名 - 依赖 Go 环境安装官方
vehicle-command工具(默认固定 v0.4.1)
显著优点
- 官方 API 合规:基于 Tesla 正式开放的 Fleet API,非逆向工程,稳定性与长期支持有保障
- 功能覆盖全面:从基础车控到预约预处理、座椅细分控制,满足深度用车场景
- 安全架构设计:强制签名验证 + TLS 代理,避免明文令牌直接暴露给车辆
- 多车支持:自动单车辆选择,或通过车名/VIN 精确指定
- 区域自适应:内置北美、欧洲、中国三大区域端点自动切换
潜在缺点与局限性
- 部署门槛高:需完成开发者账号注册、域名托管、SSL 证书配置、公钥部署等复杂流程
- 基础设施依赖:必须持续运行本地代理服务(
start_proxy.sh),不适合纯云端部署 - Token 管理负担:Refresh token 轮替机制要求持久化存储,失效后需人工介入
- 网络条件敏感:车辆深度睡眠时需先
wake,部分命令可能因网络延迟失败 - Go 环境强制:代理组件依赖 Go toolchain,增加系统复杂度
适合人群
- 开发者/极客车主:具备 Linux/命令行经验,能独立完成域名、SSL、OAuth 流程配置
- 家庭多车管理:需要程序化控制多台特斯拉的进阶用户
- 自动化集成:希望将车辆控制纳入 Home Assistant、定时任务或其他智能家居工作流的技术用户
- 企业/车队管理:需批量监控车辆状态、自动化充电调度的 B 端场景
常规风险
| 风险类型 | 说明 |
|---------|------|
| 密钥泄露 | `TESLA_CLIENT_SECRET` 与私钥 PEM 若泄露,可导致车辆被恶意控制 |
| 代理中断 | 本地代理崩溃后,签名命令将失败,需监控服务可用性 |
| Token 过期未及时刷新 | 可能触发频繁重新授权,影响自动化任务连续性 |
| 域名过期 | 公钥托管域名失效将导致 Tesla 端密钥验证失败 |
| 命令误操作 | 如远程解锁后未确认,可能带来车辆安全风险 |
> 注意:日历自动化功能因需本地日历访问权限,在公开发布版本中已移除,需用户自行部署本地脚本。