# ThingsBoard 接入 Server酱：IoT 设备告警推送到微信（2026 教程）

> ThingsBoard 规则链 REST API Call 节点直连 Server酱 API，设备遥测越界或告警触发时自动推送消息到微信。

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

# ThingsBoard + Server酱：设备遥测越界、告警触发推送到微信

> 效果：ThingsBoard 告警触发时，规则链 REST API Call 节点向 Server酱 发送 HTTP 请求，消息即时推送到微信。

## 前置条件

- Server酱 SendKey（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）
- ThingsBoard 实例（社区版或专业版均可），具备规则链编辑权限
- 已有设备接入并产生遥测数据，已配置告警规则

Server酱 支持推送到微信服务号/企业微信/钉钉/飞书等多个通道，详见 /getting-started/channels/。

## 配置步骤

### 1. 添加 REST API Call 节点并填写 Endpoint URL

进入 Rule chains，编辑目标规则链，拖入一个 REST API Call 节点，将其连接到告警规则的输出端口。Endpoint URL 填入：

```
https://sctapi.ftqq.com/你的SENDKEY.send
```

Server酱³ 用户（SendKey 以 sctp 开头）端点改为：

```
https://你的UID.push.ft07.com/send/你的SENDKEY.send
```

UID 是 sctp 与 t 之间的数字。Request method 选择 POST。

### 2. 设置 Content-Type 为表单格式

在节点配置中设置 Content-Type 为 application/x-www-form-urlencoded，这样 Body 直接用 title=xxx&desp=xxx 格式即可，无需构造 JSON。

### 3. 编写 Message body

Message body 中用 ${} 引用规则链元数据变量，拼接 title 和 desp 两个字段。最简写法：

```
title=告警通知&desp=设备触发告警，请及时处理
```

要插入动态内容，用 ${} 引用规则链中可用的元数据变量（具体变量名以规则链上下文为准）：

```
title=告警通知&desp=设备 ${元数据变量} 触发告警
```

保存节点并发布规则链。下次告警触发时，消息会自动推送到微信。

## 完整示例

以下是一个可直接填入 REST API Call 节点的完整配置：

- Endpoint URL：`https://sctapi.ftqq.com/你的SENDKEY.send`
- Request method：POST
- Content-Type：`application/x-www-form-urlencoded`
- Message body：

```
title=告警通知&desp=设备触发告警，请及时登录 ThingsBoard 查看
```

将该节点连接到告警规则的输出端口，保存并发布规则链即可生效。

## 常见问题

**每天能发多少条消息？**

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

**告警触发后没收到微信消息？**

先在 ThingsBoard 规则链调试中确认 REST API Call 节点是否被执行、HTTP 响应状态码是否为 200。如果节点正常但微信没收到，参考 /getting-started/faq/ 排查 Server酱 侧问题。

**高频告警会不会被限流？**

Server酱 每分钟上限 50 条。如果设备告警频率较高，建议在 ThingsBoard 规则链中做去重或聚合后再触发推送。

**REST API Call 节点返回错误怎么办？**

检查 Endpoint URL 中的 SendKey 是否正确、URL 格式是否完整。Server酱 API 返回的 JSON 中 code 为 0 表示成功，非 0 时 message 字段会说明原因。

## 相关集成

- [Uptime Kuma 宕机告警推送到微信](https://sct.ftqq.com/docs/integrations/uptime-kuma/)
- [Python 脚本调用 Server酱 API 推送消息](https://sct.ftqq.com/docs/integrations/python/)
- [青龙面板定时任务通知推送到微信](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 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

