无显示屏的Tasmota设备公网IP获取方法求助
获取TASMOTA设备公网IP并发送至指定接收方的解决方案
方法1:HTTP GET请求发送至自定义服务
利用Tasmota的WebSend命令结合规则,自动将IP发送到你的服务:
- 配置启动触发规则:
Rule1 ON System#Boot DO WebSend [你的服务地址] "GET /?device=%hostname%&ip=%IP%" ENDON%IP%是Tasmota内置的公网IP变量,%hostname%为设备名称,便于多设备区分。 - 启用规则:
你的服务只需接收GET参数即可记录IP,可通过Python Flask、Node.js等快速搭建简易接收服务。Rule1 1
方法2:SMTP邮件发送IP
Tasmota内置SMTP客户端,可直接发送IP到指定邮箱:
- 配置SMTP参数(以Gmail为例,需开启应用专用密码):
Backlog SmtpHost smtp.gmail.com; SmtpPort 587; SmtpUser 你的邮箱@gmail.com; SmtpPassword 你的应用专用密码; SmtpTo 目标邮箱@xxx.com; SmtpFrom 你的邮箱@gmail.com - 创建启动触发的邮件发送规则:
Rule2 ON System#Boot DO SendEmail "Tasmota设备公网IP" "设备%hostname%的公网IP:%IP%" ENDON - 启用规则:
不同邮箱SMTP参数不同,例如Outlook的Rule2 1SmtpHost为smtp.office365.com,端口587。
方法3:定时发送更新IP
若需跟踪动态IP变化,可设置定时触发规则(示例为每小时整点发送):
Rule3 ON Time#Minute|00 DO WebSend [你的服务地址] "GET /?device=%hostname%&ip=%IP%" ENDON
启用规则:Rule3 1
补充:处理IP获取失败的情况
若%IP%变量未正确获取公网IP,可通过请求第三方IP查询站点并提取内容:
- 配置规则请求站点并捕获返回数据:
Rule4 ON System#Boot DO WebSend [www.ipchicken.com] "" ENDON ON WebSend#Data DO Var1 %value% ENDON - 再通过字符串提取规则从
Var1中解析IP(需结合Tasmota的字符串处理命令,如StrFind、StrMid),之后再发送到目标地址。
内容的提问来源于stack exchange,提问作者need2know
相关产品推荐
相关产品推荐

