Tesla Fleet
Tesla Fleet 集成可通过 Tesla Fleet API 让你控制 Tesla 车辆和能源站点。
先决条件
你需要配置开发者凭据并托管公钥文件,Home Assistant 才能与你的 Tesla 账户通信。
- 一个已验证邮箱的 Tesla 账户
- 一个用于托管公钥文件的 Web 域名:
- NGINX Home Assistant SSL proxy app(推荐)
- 外部托管服务(FleetKey.net、MyTeslamate.com 等)
此集成当前不支持中国区。
Tesla 开发者应用
创建 Tesla 开发者应用,将 Home Assistant 连接到 Tesla Fleet API。
-
创建开发者应用:
- 前往 developer.tesla.com/request
- 在下拉列表中选择你的 Tesla 账户
-
填写应用信息:
- 应用名称:用于标识该应用
- 描述:简要说明你的集成用途
- Usage Purpose:说明 API 使用目的(例如
Home Assistant)
-
配置客户端信息:
- OAuth Grant Type:选择 Authorization Code and Machine-to-Machine
- Allowed Origin URL(s):填写你的域名 URL,例如
https://yourdomain.com/ - Allowed Redirect URI:填写
https://my.home-assistant.io/redirect/oauth - Allowed Returned URL(s):留空(非必填)
-
选择所需 API scope:
- Vehicle Information(车辆必需)
- Vehicle Location(推荐)
- Vehicle Commands(推荐)
- Energy Product Information(能源产品必需)
- Energy Product Settings(推荐)
-
设置计费(可选):
- Tesla 为个人使用提供每月 10 美元额度
- 你可以稍后再补充计费信息
-
保存凭据:
- 创建应用后,前往 View Details > Credentials & APIs
- 记录 Client ID 和 Client Secret,配置 Home Assistant 时会用到
此集成可通过 UI 配置。前往 设置 > 设备与服务 添加。
-
添加应用凭据
- 输入 Tesla 开发者应用中的 Client ID 和 Client Secret
- 如果你已配置且仅配置了一个 Tesla Fleet application credential,将跳过此步骤
-
使用 Tesla 账户认证:
- 你将被重定向到 Tesla 登录页
- 输入 Tesla 账户凭据
- 在授权页选择 Select All,然后选择 Allow,授予之前选择的所有 scope
-
跳回 Home Assistant:
- 确认你要 Link account to Home Assistant
-
输入域名
- 输入你计划托管公钥的域名
- 该域名应与 origin 域名相同或为其子域名,并且必须使用有效的 SSL 证书
-
注册公钥
- 将显示出的公钥上传到你在步骤 4 输入的域名路径:
.well-known/appspecific/com.tesla.3p.public-key.pem
- 将显示出的公钥上传到你在步骤 4 输入的域名路径:
-
安装虚拟钥匙
- 使用手机扫描二维码,或输入地址,在 Tesla App 中将公钥安装到你的车辆
- 该步骤需要对每辆车重复执行,2021 年前生产的 Model S 和 Model X 除外
使用 NGINX app 托管(可选)
-
创建 NGINX 配置:
-
将设置流程中显示的公钥复制到
/share/tesla -
配置 NGINX app:
- 前往 Settings > Apps > NGINX Home Assistant SSL proxy > Configuration
- 将
customize.active从false改为true config.default保持默认值nginx_proxy_default*.conf
-
重启 NGINX app,并确认可通过以下地址访问公钥:
https://yourdomain.com/.well-known/appspecific/com.tesla.3p.public-key.pem
数据更新
当车辆处于唤醒状态时,此集成会每 10 分钟 polls 一次。这个频率可让多数用户保持在 Tesla 每月 10 美元额度内,你可以在 Tesla Developer Dashboard 监控用量。能源产品 API 免费。
如果你需要不同的轮询间隔,可以定义自定义轮询间隔。
指令签名
部分车辆(包括 2023 年末以来生产的所有车辆)要求使用私钥对车辆指令签名。如果需要签名但密钥未正确配置,所有车辆实体动作都会失败并报错。
你必须访问 https://tesla.com/_ak/YOUR_DOMAIN 并按 Tesla App 指引,将公钥添加到每辆需要签名的车辆上。
如果你使用 iPhone,可能需要使用 Safari 打开该页面完成配置。
更多信息请参阅 Tesla Fleet API vehicle commands documentation。
生成自己的密钥对
此集成会自动在 config/tesla_fleet.key 生成私钥。你也可以在配置集成前替换为自己的密钥(例如来自另一个 Home Assistant 实例的密钥)。如需自行生成密钥对,请参考 Tesla 文档。
实体
以下是 Tesla Fleet 集成可提供的实体。并非所有实体默认启用,也并非所有数值始终可用。
车辆
能源站点
壁挂充电器
车辆休眠
持续 API 轮询会阻止多数 2021 年前生产的 Model S 和 Model X 进入休眠。此集成会在这些车辆无活动后自动停止轮询 15 分钟。你可以调用 homeassistant.update_entity 动作强制轮询,这会重置计时器。
除上述车型外,其他车型通常不会出现无法休眠的问题。
删除集成
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three-dot
menu. Then, select Delete.
- 删除集成不会删除你的 Tesla 开发者应用;如不再需要,可在 Tesla Developer Dashboard 手动删除。
故障排除
- 设置报错:确认你的公钥可通过正确 URL 访问,并已完成所有 Tesla 注册步骤
- 命令失败:确认
tesla_fleet.key存在于 Home Assistant 配置目录,并通过https://tesla.com/_ak/YOUR_DOMAIN将公钥添加到车辆 - 集成停止工作:在 Settings > Devices & services > Tesla Fleet 使用重新配置选项
- Access to this resource is not authorized:检查 Tesla Developer Dashboard 用量是否超限,并在需要时补充计费信息。在部分国家,Fart(远程 boombox)命令因法律限制也会触发该错误
如果你的凭据有问题,可以在 Application Credentials 界面删除这些凭据。

