# 把 iPhone 短信发到 Home Assistant

> 用 Webhook 触发器，把 iPhone 收到的短信变成 Home Assistant 自动化。设置触发器，开放到互联网，并以 JSON 读取短信。

最后更新：2026-10-23
规范 HTML 页面：https://www.fwrdsms.com/zh-hans/blog/iphone-texts-to-home-assistant
Published: 2026-10-18

要把 iPhone 短信发到 Home Assistant，请给一个自动化设置 Webhook 触发器，通过 Home Assistant Cloud 或你自己的域名为它获取一个 HTTPS 地址，再让“快捷指令”的“信息”自动化把每条新短信发布到这个地址。Home Assistant 会把短信读作 `trigger.json`，所以来自报警器的短信可以打开一盏灯，或让音箱播报快递到了。

**你需要：** 接收短信的 iPhone、一台 Home Assistant 服务器，以及它的 HTTPS 地址，可以通过 Home Assistant Cloud（Nabu Casa）获得，也可以用你自己的域名和反向代理。要使用 Fwrd，还需要 iOS 26 或更高版本。

## 短信如何到达 Home Assistant？

通过 Webhook。没有哪个 App 能自己读取你的短信，所以由“快捷指令”自动化把每条符合条件的短信交给一个操作，由它发布到 Home Assistant 的 Webhook 地址。

Home Assistant 的[自动化触发器文档](https://www.home-assistant.io/docs/automation/trigger/#webhook-trigger)（2026 年 10 月 18 日阅读）说明，地址是 `/api/webhook/` 加上你的 Webhook ID，并且在触发器里设置 ID 之后就会立即创建。文档还说明，只要请求以 `application/json` 发送（Fwrd 正是这样做的），发给它的 JSON 就可以作为 `trigger.json` 使用。

## 如何把 iPhone 短信发到 Home Assistant

1. **创建自动化。** 在 Home Assistant 中，前往“Settings”>“Automations & scenes”>“Create automation”>“Create new automation”。在“When”部分，选取“Add trigger”，添加一个“Webhook”触发器，保持“Webhook ID”不变。

2. **选择 iPhone 如何连接到它。** Home Assistant 的文档说明，Webhook 默认只响应同一网络中的设备，或 Nabu Casa Cloud 的 Webhook。如果使用 Home Assistant Cloud，请保持“Only accessible from the local network”处于打开状态。如果使用你自己的域名或反向代理，请选取“Webhook ID”旁边的齿轮图标并把它清除，因为你的 iPhone 无论在哪里都会发布请求。

3. **获取 HTTPS 地址。** 使用 Home Assistant Cloud 时，保存自动化，前往“Settings”>“Cloud”，向下滚动到 Webhook 卡片，选取你那个 Webhook 旁边的“Manage”。Nabu Casa 的 [Webhook 文章](https://support.nabucasa.com/hc/en-us/articles/25619382358685)（2026 年 10 月 18 日阅读）说明，对话框会显示它唯一的 URL。使用你自己的域名时，地址是 `https://`、你的域名、`/api/webhook/` 和 ID 依次连起来。

4. **在 [Fwrd](https://apps.apple.com/app/apple-store/id6759069713?pt=128544281&ct=zhs-blog-home-assistant&mt=8) 中添加 Webhook 目标。** 打开 Fwrd，轻点 +，选取“Webhook”。把完整的 HTTPS 地址粘贴到“配置”中。轻点“发送测试信息”，然后用 ✓ 保存。

5. **在“快捷指令”中创建“信息”自动化。** 在 iOS 27 上，打开“快捷指令”，轻点“资料库”，再轻点“自动化”，然后轻点 +，选取“信息”。在 iOS 26 上，打开“自动化”标签页，轻点 +，然后选取“信息”。选取“信息包含”，输入你的短信共有的一个词，例如 alarm。

6. **让它不经询问直接运行。** 在 iOS 27 上，轻点触发条件旁边的箭头，检查“运行前确认”是否已关闭。在 ⓘ 下的“隐私”中，检查“锁定时允许运行”是否已打开。在 iOS 26 上，选取“立即运行”，然后轻点“下一步”和“创建新快捷指令”。

7. **添加 Fwrd 的操作。** 搜索“转发”，添加“转发信息到所有目标”。把它的“信息”设为“输入快捷指令的信息”（在 iOS 26 上，依次选取“输入快捷指令的信息”和“信息”）。轻点返回以保存（在 iOS 26 上轻点“完成”）。

8. **这就完成了。** 包含你的词的新短信现在会自动发到 Home Assistant，无论 iPhone 是否锁屏。

[Webhook 指南](https://www.fwrdsms.com/zh-hans/guides/webhook)列出了 Fwrd 的每个屏幕，[把 iPhone 短信转发到 Webhook](https://www.fwrdsms.com/zh-hans/iphone-sms-to-webhook) 完整介绍了这个请求。

Watch the setup video on the [setup guide](https://www.fwrdsms.com/zh-hans/guides/webhook).

### 这个自动化的 YAML 是什么样子？

Fwrd 的请求体是 `{"content": "…", "text": "…"}`，两个字段里都是原样的短信，所以自动化读取 `trigger.json.content`。下面这个自动化会在短信提到 alarm 时打开门廊的灯：

```yaml
alias: Alarm text turns on the porch light
triggers:
  - trigger: webhook
    webhook_id: "a-long-random-id-only-you-know"
    allowed_methods:
      - POST
    local_only: false # only needed without Home Assistant Cloud
conditions:
  - condition: template
    value_template: "{{ 'alarm' in trigger.json.content | lower }}"
actions:
  - action: light.turn_on
    target:
      entity_id: light.porch
```

把操作换成音箱播报，快递员发来的“正在派送”短信就能告诉全家包裹快到了。在 Fwrd 的“设置”中打开“附上发件人”，并填好 Fwrd 操作上的“发件人”栏，请求体里还会多一个 `sender` 字段，你可以用 `trigger.json.sender` 读取它。

## Fwrd 为 Webhook 增加了什么？

Fwrd 的 Webhook 目标负责发布，所以自动化只有一个操作：

- **筛选条件。** Webhook 目标可以只保留含有你指定词语的短信、看起来像验证码的短信，或者在特定时段收到的短信。“试一条短信”会用示例来检查筛选条件。被筛选条件跳过的短信不占用免费转发次数。
- **一条短信，发到多个地方。** 同一个操作可以同时把短信发到 Home Assistant 和 Slack、Discord、Telegram 或 Teams 上的家庭聊天。
- **重试而不重复。** 如果发送超时或服务器繁忙，Fwrd 最多会再试两次，每次都带相同的 `Idempotency-Key` 头部。
- **地址保持私密。** Fwrd 把 URL 保存在 iPhone 的钥匙串里，而不是放在“快捷指令”中。没有 Fwrd 账户，也没有 Fwrd 服务器；每条短信都从你的 iPhone 直接发到 Home Assistant。
- **iPhone 上的记录。** 它会显示每次转发，以及 Home Assistant 是否接受了它。

## 需要了解的限制

- **Webhook ID 就是密码。** Home Assistant 的文档说明，Webhook 不需要其他登录，所以请使用足够长、无法猜到的 ID，并保密。Fwrd 不会添加登录头部。
- **不要用它来开锁。** 同一份文档提醒，不要用 Webhook 自动化去打开门锁或车库门。灯、音箱和通知更合适。
- **Fwrd 需要公开的 HTTPS 地址。** 它会拒绝 IP 地址和以 .local 结尾的名称，也不接受重定向，所以请粘贴最终的地址。云端 Webhook URL 需要订阅 Home Assistant Cloud。
- **手机必须保持开机并联网。** 只有符合自动化条件的新短信才会发送，重新启动之后，转发要等到你解锁一次 iPhone 才会继续。

## 大家接下来常问的问题

### Home Assistant 能读取短信本身吗？

能。Fwrd 在 `content` 和 `text` 中发送完整的短信，所以像 `trigger.json.content` 这样的模板里就有它。你可以在条件里匹配词语，把短信放进通知，或让音箱把它读出来。

### 我需要 Home Assistant Cloud 吗？

不需要。任何能到达你服务器的 HTTPS 地址都可以，例如反向代理后面你自己的域名。Home Assistant 的[远程访问页面](https://www.home-assistant.io/docs/configuration/remote/)（2026 年 10 月 18 日阅读）称 Home Assistant Cloud 是最简单的选择，不需要在路由器上开放端口。

### 我不在家时能用吗？

能，通过 Home Assistant Cloud 的 Webhook URL，或者在关闭“Only accessible from the local network”之后，通过你自己的公开 HTTPS 域名。iPhone 通过 Wi-Fi 或蜂窝数据发布请求，无论它在哪里。

### Fwrd 要花多少钱？

Fwrd 每月有 15 条免费转发，同一条短信无论发到几个地方都只算一次。Fwrd Pro 取消次数限制，美国售价为每月 $4.99 或每年 $29.99。

## 继续阅读

- [与群聊分享报警短信](https://www.fwrdsms.com/zh-hans/blog/forward-alarm-sensor-texts-to-group-chat)
- [如何用“快捷指令”发送 Webhook](https://www.fwrdsms.com/zh-hans/blog/apple-shortcuts-webhook)
