# Home Assistant 接入 Server酱：家中自动化事件微信推送（2026 教程）

> 通过 Home Assistant 内置 Apprise 集成接入 Server酱，门窗传感器、设备状态等自动化事件触发时，微信实时收到通知。

- 网页版：https://sct.ftqq.com/docs/integrations/home-assistant/
- 更新日期：2026-07-17

# Home Assistant + Server酱：家中自动化事件微信推送

> 效果：门窗传感器、设备状态等自动化事件触发时，微信实时收到通知

## 前置条件

- 获取 Server酱 SendKey（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）。注意：Apprise 的 `schan://` 协议仅支持 `SCT` 开头的 SendKey
- 运行中的 Home Assistant 实例

## 配置步骤

在 `configuration.yaml` 中添加以下配置，直接填入你的 SendKey：

```yaml
notify:
  - platform: apprise
    url: schan://你的SENDKEY
```

保存后，重启 Home Assistant 使配置生效。此时系统会生成 `notify.apprise` 服务，可在自动化动作中调用。

在自动化配置中，将动作设为调用服务 `notify.apprise`，Apprise 会自动将 `title` 和 `message` 映射为 Server酱 的 `title` 和 `desp`。

## 完整示例

以下是一个完整的自动化配置，当前门传感器状态变为打开时，向微信推送通知：

```yaml
automation:
  - alias: "前门打开通知"
    trigger:
      - platform: state
        entity_id: binary_sensor.front_door
        to: "on"
    action:
      - service: notify.apprise
        data:
          title: "【提醒】前门状态"
          message: "前门已被打开，请留意。"
```

## 常见问题

**额度怎么算？**

免费版每日可发送 5 条，每分钟上限 50 条；订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**消息没收到怎么办？**

先在命令行验证连通性：`pip install apprise && apprise -t "测试" -b "正文" "schan://你的SENDKEY"`。若命令行正常但 HA 无推送，检查 HA 日志中的服务调用记录；也可参考[常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)。

**sctp 开头的 SendKey 怎么用？**

sctp 开头的 SendKey 目前不支持 Apprise 协议，如需在 Home Assistant 中使用，请参考 Server酱 官方文档或联系支持。

**如何推送到钉钉或飞书？**

Server酱 支持多种消息通道，包括钉钉、飞书等，配置方法详见[通道对比](https://sct.ftqq.com/docs/getting-started/channels/)。

## 相关集成

- [/integrations/apprise/](https://sct.ftqq.com/docs/integrations/apprise/) —— 通用 Apprise 接法详解
- [/integrations/python/](https://sct.ftqq.com/docs/integrations/python/) —— Python 脚本推送
- [/integrations/qinglong/](https://sct.ftqq.com/docs/integrations/qinglong/) —— 青龙面板任务通知


## 懒人方案：把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手，它就会替你完成 Server酱 的接入：

```text
请帮我把 Server酱 微信通知接入到我当前的项目/工具中：
1. API：POST https://sctapi.ftqq.com/{SendKey}.send，参数 title（必填，不能含换行）、desp（正文，支持 Markdown，可选）；成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头，则改用 https://{uid}.push.ft07.com/send/{SendKey}.send，uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取；如果没有，提醒我到 https://sct.ftqq.com 免费获取（每天 5 条额度）。
4. 安全要求：不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定：任务结束发 1 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

