ESPHome + Server酱:ESP 设备告警推送到微信
效果:ESPHome 设备触发自动化时,通过 http_request 组件将告警消息推送到微信
前置条件
- Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程)。如需推送到企业微信/钉钉/飞书群,请查看 通道对比。
- ESPHome 环境及已配网的 ESP 设备。
- TLS 支持:ESP 走 HTTPS 需确保固件启用 TLS(推荐使用 esp-idf 框架,或在 Arduino 框架下配置 CA 证书)。
配置步骤
在 ESPHome 的 YAML 配置中添加 http_request 组件,并在自动化(on_...)里使用 http_request.post 调用 Server酱 API。
- 在配置中启用
http_request组件:
http_request:
- 在您的自动化(如传感器触发、按钮按下等)中调用
http_request.post,body 需以 form 格式传递title和desp。具体配置方法请查阅 ESPHome 官方文档。
# 示例:在自动化中调用 http_request.post
# on_...:
# then:
# - http_request.post:
# url: "https://sctapi.ftqq.com/你的SENDKEY.send"
# # body 需以 form 格式发送 title 和 desp
# # 具体配置方法请查阅 ESPHome 官方文档
若使用 Server酱³,API 端点改为 https://你的UID.push.ft07.com/send/你的SENDKEY.send(UID 取自 sctp 后的数字)。
完整示例
以下为包含 http_request 组件与 API 调用的 YAML 片段,请根据实际触发条件调整并替换 你的SENDKEY 后使用:
http_request:
# 示例自动化(触发条件请根据实际硬件修改)
# on_...:
# then:
# - http_request.post:
# url: "https://sctapi.ftqq.com/你的SENDKEY.send"
# # body 需以 form 格式发送 title 和 desp
# # 具体配置方法请查阅 ESPHome 官方文档
如需将传感器动态数值拼进 desp,可在自动化动作中使用 ESPHome 的模板语法拼接字符串(具体语法以 ESPHome 官方文档为准)。
常见问题
ESP 设备请求 HTTPS API 报错怎么办? ESP 走 HTTPS 需确保固件启用 TLS。推荐使用 esp-idf 框架,或在 Arduino 框架下配置 CA 证书,否则请求会被拒绝。
消息没收到怎么排查? 检查 ESPHome 日志中 HTTP 请求的返回状态码,确认 SendKey 是否正确。也可参考 常见问题与排查。
发送频率和额度有什么限制? Server酱免费版每天有 5 条额度,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。请避免在自动化中高频触发。
如何把传感器数值拼进消息正文?
在 on_... 自动化动作中,可通过 ESPHome 的模板语法将传感器状态拼接到 desp 字段中(具体语法以 ESPHome 官方文档为准)。
相关集成
- /integrations/uptime-kuma/ —— Uptime Kuma 宕机告警
- /integrations/qinglong/ —— 青龙面板任务通知
- /integrations/python/ —— Python 脚本推送