Tesla 自定义集成
这是之前 Home Assistant 官方 Tesla 集成的一个分支,由于 Tesla 登录问题,官方集成已被移除。请勿向 Home Assistant 报告问题。
要使用此组件,您需要一个应用程序来生成 Tesla 刷新令牌:
- Android: Tesla Tokens
- iOS: Auth App for Tesla
- TeslaFi: Tesla v3 API Tokens
- Chromium/Edge: Chromium Tesla Token Generator
安装
- 使用 HACS,在
HACS > 集成 > 浏览并添加存储库
中搜索 "Tesla"。将https://github.com/alandtse/tesla
添加为自定义存储库后,跳至步骤 7。 - 如果您没有 HACS,请使用您选择的工具打开 HA 配置目录(您可以找到
configuration.yaml
的位置)。 - 如果该目录中没有
custom_components
目录,您需要创建一个。 - 在
custom_components
目录中创建一个名为tesla_custom
的新文件夹。 - 从本仓库的
custom_components/tesla_custom/
目录下载所有文件。 - 将下载的文件放入您创建的新目录中。
- 重启 Home Assistant。
- 或在 HA 用户界面中,转到 "设置" -> "设备和服务",然后点击 "+" 并搜索 "Tesla 自定义集成"。
- 对于大多数车辆,您需要使用 Tesla Fleet API 代理(见下文)。
注意:此集成在安装过程中会唤醒您的车辆。
Tesla Fleet API 代理
Tesla 已经弃用了大多数车辆的 Owner API,转而使用具有端到端加密的新 Fleet API。如果您在尝试发送命令时在日志中看到错误,就说明您受到了影响(传感器无论如何都会正常工作)。
如果您的车辆受到影响(很可能如此),您需要安装 Tesla HTTP 代理 附加组件,并配置此组件以使用它。这需要复杂的设置;详情请参阅此处。配置完附加组件后,在此组件中勾选 "Fleet API 代理" 选项,配置流程将自动填写您的客户端 ID、代理 URL 和 SSL 证书。
使用
Tesla
集成提供了与 Tesla 云服务的集成,并提供存在检测以及充电器状态和温度等传感器。
此集成为车辆提供以下实体:
- 二进制传感器 - 充电器连接、充电状态、车辆在线、驻车制动、车辆休眠和车门状态。
- 按钮 - 喇叭、闪灯、唤醒1、强制数据更新1、触发 HomeLink 和远程启动。注意: HomeLink 按钮默认禁用,因为某些车辆没有此选项。如果需要,可通过配置/实体启用。
- 空调 - 开启/关闭空调、设置目标温度、设置预设模式(除霜、保持开启、宠物模式和露营模式)。
- 设备追踪器 - 车辆位置1和当前路线目的地。
- 车门 - 充电口门、前备箱、后备箱和车窗。
- 锁 - 车门锁和充电口锁。
注意: 将
状态
设置为heat_cool
或off
可通过场景启用/禁用 Tesla 的空调系统。 - 选择器 - 座椅加热和客舱过热保护2。注意: 开启座椅加热将导致空调开启。
- 传感器 - 电池电量、充电速率、已添加能量、充电器功率、内/外温度、里程表、预估续航里程、充电完成时间、胎压监测系统压力、当前路线到达时间和到达距离。
- 开关 - 方向盘加热、充电器、哨兵模式、轮询和代客模式1。
- 更新 - 软件更新2
1 诊断实体。
2 配置实体。
此集成为能源站点提供以下实体:
- 二进制传感器 - Powerwall 充电和电网状态。
- 选择器 - 电网充电、输出规则和运行模式。
- 传感器 - 太阳能发电量、电网功率、负载功率、电池电量、电池剩余瓦时和备用储备。
选项
Tesla 选项可通过 配置 -> 集成 -> Tesla -> 选项 进行设置。
- 轮询间隔秒数 - 下文称为
polling_interval
。 - 启动时唤醒车辆 - 是否在 Home Assistant 启动时唤醒休眠的车辆。这允许用户选择是否让车辆继续休眠(不更新信息),或唤醒车辆,可能会中断长期休眠并增加静态耗电。
- 轮询策略 - 我们何时主动轮询车辆以获取更新,何时尝试让车辆休眠。详情请参阅 Wiki。
- 通过 MQTT 从 TeslaMate 同步数据 - 启用通过 MQTT 从 TeslaMate 实例同步数据,本质上为更新启用流式 API。这需要在 Home Assistant 中配置 MQTT。
潜在的电池影响
以下是在实施 Tesla 组件时需要考虑和了解的一些事项,以及它可能对您车辆电池的影响。
-
polling_interval
决定何时检查车辆是否处于唤醒状态并有新信息可用,但Tesla集成不会在轮询期间唤醒休眠中的车辆。默认情况下,轮询将每660秒进行一次。过于频繁地轮询车辆可能会使车辆保持唤醒状态并耗尽电池。不同固件版本和Tesla车型的测量结果显示,进入睡眠模式可能需要11到15分钟。由于没有关于睡眠模式时间的官方信息,因此您的实际情况可能有所不同,建议尝试不同的轮询时间以获得最佳体验。 -
然而,当主动向车辆发送命令时(如解锁车门或打开空调),车辆会被唤醒。此时,它还会根据
polling_interval
在车辆唤醒期间获取更新的信息。 -
可以通过发送无害命令(例如锁车命令)来故意唤醒车辆以获取最新信息。这可以用于自动化中,例如确保每天早晨都能获得更新的信息。(请注意,命令必须适用于特定车型。比如,给Model 3的前备箱上锁不会唤醒该车。)
-
您还可以通过自动化或Lovelace UI来打开/关闭
polling switch
,完全禁用对车辆的轮询。
欢迎贡献!
如果您想为此项目贡献,请阅读贡献指南
组件基于integration_blueprint构建。