Tesla Fleet API + Home Assistant:设置指南(2026)

·
Cover for Tesla Fleet API + Home Assistant:设置指南(2026)

自从 Tesla 停用旧版车主 API 后,要从 Home Assistant 控制您的车辆,就需要您自己的 Tesla Fleet API 应用——包含 Client ID、Client Secret 以及一个已签名的命令代理。过去这意味着数小时的配置。而使用 MyTeslaMate,您只需两步即可让它运行起来,无需编写任何代码:

  • 第 1 步 — 创建您自己的 Tesla API(Client ID 和 Secret)
  • 第 2 步 — 将它连接到 Home Assistant

为什么您需要自己的 Tesla Fleet API

2023 年底,Tesla 关停了旧版集成所依赖的传统车主 API。如今,任何要与 Tesla 通信的应用都必须使用 Tesla Fleet API,而 Tesla 要求每一条命令都由一个注册的、托管自有公钥的应用进行加密签名。这在实践中意味着您需要三样东西:

  • 来自已注册 Tesla 开发者应用的 Client IDClient Secret
  • 在您自己域名上一个固定 URL 处发布的公钥
  • 一个在每个请求到达 Tesla 之前对其进行签名的命令代理

自己运行这一切是可行的,但相当繁琐。MyTeslaMate 会为您托管公钥、签名命令并代理请求——因此 Home Assistant 只需要您的 Client ID、Client Secret 和您的专属子域名。

1. 创建您自己的 Tesla API

您首先需要创建一个 Tesla API 应用。MyTeslaMate 会处理最麻烦的部分——托管您的公钥、签名命令,以及将请求代理转发给 Tesla——因此这些您都无需自行运行。

请按照我们的指南一分钟注册您的 Tesla API,然后在您的 Tesla API 页面 打开 Home Assistant 设置。

做得好——您已经可以在 Home Assistant 中使用您的 Tesla API 了。

2. 在 Home Assistant 中使用您自己的 Tesla API

大约一分钟后,您就能直接从 Home Assistant 监控和控制您的 Tesla:

  1. 添加官方的 Tesla Fleet 集成(前往 设置 > 设备与服务 > 添加集成 > Tesla > Tesla Fleet),并粘贴上一步中的 Client IDClient Secret


  1. 使用 Tesla 登录后,按以下格式输入您的专属子域名:

app-xxxxx.myteslamate.com


  1. 现在您可以在 Home Assistant 中查看您的车辆了。


  1. 要发送命令(锁车、空调、充电等),您需要:
  • 从 MyTeslaMate 在您的车辆上安装您的 API,以及
  • 下载您的私钥并将其复制到 Home Assistant。请将文件上传到此路径: /config/tesla-fleet.key


太好了——您的 Home Assistant 现已与您的 Tesla API 应用关联! 从此,每一个 Tesla 实体都可用于您的自动化、仪表板和脚本。

您可以从 Home Assistant 控制什么

一旦 Tesla Fleet 集成连接完成,Home Assistant 就会把您的车辆呈现为数十个实体。其中最实用的有:

  • 充电 — 启动/停止充电、设置充电限制、调整充电电流,以及打开或关闭充电口盖。
  • 空调 — 开启/关闭空调、设定目标温度、启用座舱过热保护,以及加热座椅或方向盘。
  • 安全 — 锁车/解锁车门、切换 Sentry Mode、闪灯,以及鸣笛。
  • 开闭 — 通风或关闭车窗,以及打开前备箱或后备箱。
  • 实时数据 — 电量、续航、充电状态、车内/车外温度、里程表和位置(device_tracker)。

上述每一项都是标准的 Home Assistant 实体,因此您可以把它们放到仪表板上、暴露给语音助手,或者在自动化中用作触发条件和动作。

自动化示例

以下是 Tesla 车主最常设置的三个自动化。请将 my_tesla 替换为您车辆的实体标识符。

回到家时把充电限制设为 80%:

automation:
  - alias: "Tesla – 80% charge limit at home"
    trigger:
      - platform: zone
        entity_id: device_tracker.my_tesla_location
        zone: zone.home
        event: enter
    action:
      - service: number.set_value
        target:
          entity_id: number.my_tesla_charge_limit
        data:
          value: 80

充电完成时收到通知:

automation:
  - alias: "Tesla – charging complete"
    trigger:
      - platform: state
        entity_id: sensor.my_tesla_charging
        to: "Complete"
    action:
      - service: notify.mobile_app
        data:
          message: "Your Tesla is fully charged 🔋"

在早晨通勤前 30 分钟预热座舱:

automation:
  - alias: "Tesla – preheat before commute"
    trigger:
      - platform: time
        at: "07:30:00"
    condition:
      - condition: state
        entity_id: binary_sensor.workday_sensor
        state: "on"
    action:
      - service: climate.turn_on
        target:
          entity_id: climate.my_tesla_climate

疑难解答

有几个问题很常见——以下是快速解决办法:

  • 命令失败或实体只读。 您还没有在车上安装虚拟钥匙。请从 MyTeslaMate 在车辆上安装您的 API,然后把您的私钥复制到 /config/tesla-fleet.key 并重启 Home Assistant。
  • “子域名无效”或连接错误。 子域名必须严格为 app-xxxxx.myteslamate.com(带 app- 前缀,且不含 https://)。
  • 实体显示为不可用 车辆处于休眠状态。Tesla 只在车辆唤醒时报告最新数据;请谨慎使用唤醒按钮,因为频繁轮询会耗尽 12V 电池并消耗 API 点数。
  • 一开始正常,过一阵子就停了。 您的 Tesla 令牌已过期。请从 设置 > 设备与服务 > Tesla Fleet > 配置 重新对该集成进行身份验证。

常见问题

使用 Home Assistant 需要 MyTeslaMate 订阅吗?

不需要。创建您自己的 Tesla API 并通过我们的代理将其连接到 Home Assistant 是免费的。订阅只是额外提供托管的 TeslaMate 仪表板、备份和支持。

这会取代 TeslaMate 吗?

不会——它们是互补的。TeslaMate 记录并可视化您的历史数据;而 Home Assistant 集成让您能够控制车辆并构建自动化。许多车主会同时并用这两者。

为什么我的车需要“虚拟钥匙”?

Tesla 要求每一条命令都经过加密签名。安装虚拟钥匙(即在车辆上安装您的 API)会授权 MyTeslaMate 的代理为命令签名,正是这一点让 Home Assistant 能够锁车、启动充电等等。

Home Assistant 会让我的 Tesla 保持唤醒吗?

只有在您轮询过于频繁时才会。在车辆休眠时,该集成会读取缓存数据,并默认让车辆保持休眠。请避免每隔几分钟就唤醒车辆的自动化。


欢迎通过在线聊天分享您的反馈 :)