找回密码
 立即注册

微信扫码登录

搜索
查看: 14174|回复: 17

[经验分享] Sonoff-Tasmota 的MQTT switch无法更新状态的问题

[复制链接]

12

主题

102

回帖

1450

积分

金牌会员

积分
1450
金钱
1336
HASS币
0
发表于 2019-5-6 22:57:53 | 显示全部楼层 |阅读模式
用ESP-12做了个四路开关,发现HA重启后无法更新开关状态,仔细研究半天发现问题:

1、开关的状态state_topic是这样写的:
state_topic: "stat/sonoff/POWER1"  
2、正常情况下,操作开关时状态反馈是这样的:
stat/sonoff/POWER1 = OFF


到这里还没什么问题。

但是,问题来自于HA重启后,开关状态是没有的。如果不操作开关,那Tasmota是不会反馈状态的,只是有一个这样的消息定期汇报所有状态:
tele/sonoff/STATE = {"Time":"2019-05-06T22:53:51","Uptime":"0T00:14:17","Vcc":3.143,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"POWER1":"OFF","POWER2":"ON","POWER3":"ON","POWER4":"OFF","Wifi":{"AP":1,"SSId":"xxxd","BSSId":"6C:3B:6B:44:92:2D","Channel":1,"RSSI":74,"LinkCount":1,"Downtime":"0T00:00:06"}}

这样,通过state_topic: "stat/sonoff/POWER1"  就无法获取开关状态了,只要不操作开关,这个状态就一直无法获取。

请教大神,如何破?

回复

使用道具 举报

5

主题

87

回帖

364

积分

中级会员

积分
364
金钱
272
HASS币
0
发表于 2024-3-18 16:36:50 | 显示全部楼层
我也是 红外感应接在上面。。现在只能用一个中间继电器。来中转下。。这样比较满意。就是占用一个gio口呀。。
回复

使用道具 举报

12

主题

315

回帖

1822

积分

论坛技术达人

积分
1822
金钱
1490
HASS币
40
发表于 2020-2-25 15:19:08 | 显示全部楼层
现在好像也就是11楼的方案比较合理,已经换esphome了,还是表示感谢
回复

使用道具 举报

2

主题

175

回帖

2538

积分

金牌会员

积分
2538
金钱
2361
HASS币
0
发表于 2019-6-13 15:34:15 来自手机 | 显示全部楼层
annsenke 发表于 2019-5-28 23:27
不会玩node-red啊

11楼大佬已经给出解决方案了啊。ha设置一个自动化,在ha重启的时候主动向service mqtt.public获取就行了
回复

使用道具 举报

12

主题

102

回帖

1450

积分

金牌会员

积分
1450
金钱
1336
HASS币
0
 楼主| 发表于 2019-6-2 09:05:18 | 显示全部楼层
annsenke 发表于 2019-5-28 23:27
不会玩node-red啊

其它办法就不清楚了,不过node-red可以学嘛
回复

使用道具 举报

11

主题

109

回帖

321

积分

中级会员

积分
321
金钱
201
HASS币
0
发表于 2019-5-28 23:27:56 | 显示全部楼层
xiguaboy 发表于 2019-5-28 22:00
我用Node red接收stat消息,然后根据stat的状态来初始化HA的状态

不会玩node-red啊
回复

使用道具 举报

12

主题

102

回帖

1450

积分

金牌会员

积分
1450
金钱
1336
HASS币
0
 楼主| 发表于 2019-5-28 22:00:32 | 显示全部楼层
annsenke 发表于 2019-5-13 16:49
同样遇到这个问题,楼主解决了吗!每次要重启hass才可以更新开关状态

我用Node red接收stat消息,然后根据stat的状态来初始化HA的状态
回复

使用道具 举报

11

主题

109

回帖

321

积分

中级会员

积分
321
金钱
201
HASS币
0
发表于 2019-5-13 16:49:49 | 显示全部楼层
同样遇到这个问题,楼主解决了吗!每次要重启hass才可以更新开关状态
回复

使用道具 举报

mitu 手机认证

6

主题

754

回帖

6351

积分

论坛元老

积分
6351
金钱
5586
HASS币
20
发表于 2019-5-8 11:29:29 | 显示全部楼层
主动反馈没问题呀!!
你说的是重启HA不能获得状态,在Tasmota的wiki里有明确的说明。在自动化里设置HA启动时通过mqtt发送信息主动获取。我的设置如下:
  - service: mqtt.publish
    data:
      topic: "cmnd/sonoffs/backlog"
      payload: "power1;power2;power3"  
sonoffs是设备分组。
回复

使用道具 举报

12

主题

102

回帖

1450

积分

金牌会员

积分
1450
金钱
1336
HASS币
0
 楼主| 发表于 2019-5-7 23:09:23 | 显示全部楼层
mitu 发表于 2019-5-7 08:31
tasmota的wiki里明确写了,状态反馈是state_topic: "stat/sonoff/RESULT"这样的格式。

是的,"stat/sonoff/RESULT"能够反馈状态,但是它不会主动反馈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-2 16:17 , Processed in 1.142018 second(s), 13 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表