『瀚思彼岸』» 智能家居技术论坛
标题: sonoff 刷tasmota启动MQTT后不能关闭开关 [打印本页]
作者: ozjso 时间: 2017-10-14 20:17
标题: sonoff 刷tasmota启动MQTT后不能关闭开关
按“raspberry0316”大神的帖子刷了tasmota,在设置MQTT后进入sonoff basic module 界面后不能点击“Toggle”来正常开关sonoff开关,从“console”中看到MQT一直要求 stat/rooffan/POWER=ON,所以点Toggle来关开关,1秒后就该回ON状态。如果在sonoff中关掉 MQTT后,有能恢复开关控制。还有就是在home assisstant的界面里无法控制SONOFF开关,查看Raspberry的MQTT服务是正常启动的。
请群里各位大神分析分析,排解问题点,被这问题卡了一整天了,翻查资料无果。谢谢
作者: karl_31 时间: 2017-10-14 23:24
大小写?
作者: 27hh 时间: 2017-10-15 00:52
把Web log level改成4,然后再把console的内容贴上来。
作者: 27hh 时间: 2017-10-15 00:56
每次MQTT重连都会向tasmota发送一个奇怪的ON信号,这一点可以通过修改mosquitto.conf里的persistence为false解决,但是看上去你的MQTT在不停地重连,可能还有其他问题。
作者: ozjso 时间: 2017-10-15 16:09
karl_31 发表于 2017-10-14 23:24
大小写?
都是大写的ON/OFF,应该不是这问题
作者: ozjso 时间: 2017-10-15 16:12
27hh 发表于 2017-10-15 00:56
每次MQTT重连都会向tasmota发送一个奇怪的ON信号,这一点可以通过修改mosquitto.conf里的persistence为fals ...
回头我试试,现在在homekit里倒是可以控制开关,返回到sonoff网页里还是不能控制,会自动开启,就是关不了
作者: 27hh 时间: 2017-10-15 16:18
homekit控制开关不能说明问题,因为homekit对于开关没有严格意义的反馈,所以它可以直接发送开/关命令;但是homeassistant对开关的检测是很严格的,假如没有检测到开关关闭,就只能发送关命令,无论如何也不会发送开命令。
作者: ozjso 时间: 2017-10-15 16:34
27hh 发表于 2017-10-15 00:52
把Web log level改成4,然后再把console的内容贴上来。
改为level4也不行,
作者: ozjso 时间: 2017-10-15 16:45
本帖最后由 ozjso 于 2017-10-16 23:05 编辑
27hh 发表于 2017-10-15 00:56
每次MQTT重连都会向tasmota发送一个奇怪的ON信号,这一点可以通过修改mosquitto.conf里的persistence为fals ...
改为flase后解决了,谢谢啦
10/16更新:改为flase后不操作home kit还有效,操作过homekit后就无效了。还是处在和homekit一致的常开或常闭状态。
作者: nakoururu 时间: 2017-10-15 23:27
27hh 发表于 2017-10-15 00:56
每次MQTT重连都会向tasmota发送一个奇怪的ON信号,这一点可以通过修改mosquitto.conf里的persistence为fals ...
我也是遇到这问题,以前一直都是好的,是不是hassbian升级的影响
作者: 27hh 时间: 2017-10-15 23:47
改为level4只是为了让它显示更详细的诊断信息,另外图片压缩的太严重,粘贴文字吧。改为false的后果是ha重启后开关状态不会更新,全为关闭状态。
作者: nakoururu 时间: 2017-10-15 23:50
那该false也不能根治啊
作者: nakoururu 时间: 2017-10-16 07:46
ozjso 发表于 2017-10-15 16:45
改为flase后解决了,谢谢啦
你好,和你相同的问题,请问你是重新刷固件解决的嘛?改成false后还会有什么其他问题吗?
作者: ozjso 时间: 2017-10-16 20:22
本帖最后由 ozjso 于 2017-10-16 23:06 编辑
我没重刷固件,只是改了false就好了,我有2个sonoff,改了MQTT的设置后两个都可控了,所以应该还是MQTT设置的问题
10/16更新,今天又不行了,还是有问题。
作者: ozjso 时间: 2017-10-16 20:39
重启倒没试过,要是重启后都是关闭状态了,那根本问题该怎么解决呢?
作者: ozjso 时间: 2017-10-16 21:53
27hh 发表于 2017-10-15 23:47
改为level4只是为了让它显示更详细的诊断信息,另外图片压缩的太严重,粘贴文字吧。改为false的后果是ha ...
今天试了,又不行了,关了后就打开。
我在第4/5脚接了个开关,把GPIO 14改为09 switch,现在变为常关了,按了开,他就关,感觉就是常关状态
作者: ozjso 时间: 2017-10-16 21:55
本帖最后由 ozjso 于 2017-10-16 22:52 编辑
27hh 发表于 2017-10-15 23:47
改为level4只是为了让它显示更详细的诊断信息,另外图片压缩的太严重,粘贴文字吧。改为false的后果是ha ...
现在是这样了15:02:20 DNS: Query done. MQTT services found 0
15:02:20 MQT: Connected
15:02:20 MQT: tele/livingroomlight/LWT = Online (retained)
15:02:20 MQT: cmnd/livingroomlight/POWER =
15:02:20 RSL: Received Topic cmnd/livingroomlight/POWER, Data Size 3, Data OFF
15:02:20 RSL: Group 0, Index 1, Command POWER, Data OFF
15:02:20 MQT: stat/livingroomlight/RESULT = {"POWER":"OFF"}
15:02:20 MQT: stat/livingroomlight/POWER = OFF
常开或常闭状态和home bridge一致,如果homekit里是开的,sonoff网页版就会是常开状态,如果在homekit里关闭的,sonoff网页版就是常闭状态。哪里有问题了?
刚刚重装了MQTT,还是一样。解决不了啊!
作者: 27hh 时间: 2017-10-16 23:10
15:02:20 RSL: Received Topic cmnd/livingroomlight/POWER, Data Size 3, Data OFF,这一行是问题的关键。我的解决方法,是找到persistence那里的一个文件的路径,把那个文件删除问题就解决了。总之,问题出在mqtt上,不行可以重装一下mqtt。
作者: ozjso 时间: 2017-10-17 07:32
本帖最后由 ozjso 于 2017-10-17 07:48 编辑
我重装了一次MQTT,原来是安装文件 sudo apt-get install mosquito,后来用sudo hassbian-config install mosquitto安装的,mosquito.conf的文件内容不一样,用hassbian-config安装的文件长很多,多了很多描述。目前persistence的内容如下,我该改哪里呢?
# Persistence
# =================================================================
# If persistence is enabled, save the in-memory database to disk
# every autosave_interval seconds. If set to 0, the persistence
# database will only be written when mosquitto exits. See also
# autosave_on_changes.
# Note that writing of the persistence database can be forced by
# sending mosquitto a SIGUSR1 signal.
#autosave_interval 1800
# If true, mosquitto will count the number of subscription changes, retained
# messages received and queued messages and if the total exceeds
# autosave_interval then the in-memory database will be saved to disk.
# If false, mosquitto will save the in-memory database to disk by treating
# autosave_interval as a time in seconds.
#autosave_on_changes false
# Save persistent message data to disk (true/false).
# This saves information about all messages, including
# subscriptions, currently in-flight messages and retained
# messages.
# retained_persistence is a synonym for this option.
persistence true
# The filename to use for the persistent database, not including
# the path.
persistence_file mosquitto.db
# Location for persistent database. Must include trailing /
# Default is an empty string (current directory).
# Set to e.g. /var/lib/mosquitto/ if running as a proper service on Linux or
# similar.
persistence_location /var/lib/mosquitto/
==========================
找到一个mosquitto.conf.back文件,内容很少:
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
============
在/var/lib/mosquitto/mosquitto.db 文件下的内容:好像是一些乱码,其中一些是sonoff里命名的名字
^@^@mosquitto db^@^@^@^@^@^@^@^C^@^A^@^@^@
^A^H^E^@^@^@^@^@^@^B^@^@^@B^E^@^@^@^@^@^@^Mhass_sonoff02^@^@^@^@^@^Xtele/livingroomlight/LWT^A^A^@^@^@^GOffline^@^B^@^@^@@^[^E^@^@^@^@^@^@^Mhass_sonoff02^@^E^@^@^@^Zcmnd/livingroomlight/P$
作者: ozjso 时间: 2017-10-17 12:46
你的意思是删除这个文件吗?
persistence_file mosquitto.db
作者: 27hh 时间: 2017-10-17 14:12
ozjso 发表于 2017-10-17 12:46
你的意思是删除这个文件吗?
persistence_file mosquitto.db
是,我删完就正常了
作者: nakoururu 时间: 2017-10-17 14:18
这是升级了hassbian后引起的吧
作者: ozjso 时间: 2017-10-17 20:41
我也删除了,一开始可以用,但只要执行过homekit后就不行了。就像改了persistence 从true到false,刚改好后可以用sonoff网页版控制,只要用homekit执行过,就不行,就一直切换到和homekit一致的开/关状态
作者: ozjso 时间: 2017-10-17 20:43
我也删除了,一开始可以用,但只要执行过homekit后就不行了。就像改了persistence 从true到false,刚改好后可以用sonoff网页版控制,只要用homekit执行过,就不行,就一直切换到和homekit一致的开/关状态。我删除这个文件后,该文件夹下就没有新的文件建立了。
作者: ozjso 时间: 2017-10-17 20:46
我没有更新过hassbian啊。
作者: 27hh 时间: 2017-10-17 21:28
谢谢。提醒了我,一直没注意homekit。
作者: nakoururu 时间: 2017-10-17 21:34
最后怎么解决的
作者: ozjso 时间: 2017-10-17 21:50
,还没解决啊,哎,搞不定卡在这里2天了
作者: nakoururu 时间: 2017-10-17 22:56
我也一样的情况呢,卡这了
作者: ozjso 时间: 2017-10-17 22:58
我觉得应该是MQTT和homebrige的问题,只要关了MQTT服务sonoff的网页就可控了。可不知道下一步怎么去弄啊。我有两个sonoff,都一样。
作者: nakoururu 时间: 2017-10-17 23:14
一样一样,我也判断mqtt问题
作者: ozjso 时间: 2017-10-18 18:10
能帮忙看看啥原因吗?谢啦
作者: lfygif 时间: 2017-11-13 17:08
楼主,我跟你遇到一样的问题
,找不出原因来啊,我就放弃HA了,只用HB了
作者: hassbian_xxr 时间: 2018-1-10 21:15
楼主,我跟你遇到一样的问题,找不出原因来啊,我就放弃HA了,只用HB了
作者: noel 时间: 2018-8-20 06:15
我也出现同样问题~~S22插座通过hassio控制只能开不能关,hb正常~
作者: skyflying5 时间: 2018-8-20 11:52
还是你mqtt服务的问题,为什么已发送信号就重连,然后连回来就更新状态,所以是这个问题,新版ha新加了一个mqtt的参数,你去官方文件里看看。
Allow MQTT Switch to have an optional state configuration (@PrimusNZ - #15430) (https://www.home-assistant.io/components/switch.mqtt/)
作者: river723 时间: 2019-11-4 15:56
同样问题
作者: lse 时间: 2019-12-1 19:15
除了前面说的,我参考 https://www.home-assistant.io/integrations/switch.mqtt
还把 开关的 optimistic: true,
没有再出现问题。不过我没用HB。
作者: lse 时间: 2019-12-1 19:17
之前每次开关的MQTT连接 online或者Offline的时候,
开关就会误动作。
局域网内几分钟就online或者Offline一回,烦死
欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) |
Powered by Discuz! X3.5 |