本帖最后由 w_anghe 于 2018-6-12 10:55 编辑
此帖是有关论坛定制的触摸开关的一点经验,希望能帮到新来的同学。
前段时间买了一个三开的HASSMART触摸开关,刷官方1.5版固件,homeassistant的版本是0.70.1,mosquitto版本1.4.15,开始测试一切正常,但是后来有过两次路由器重启,发现每次重启后,开关可以比较快的连上网络(绿灯不再闪,查看路由器开关确实已经连上网了),但是通过 homeassistant就不能控制开关了,配置用的是手动配置,确定没啥问题。
- platform: mqtt
name: zoulang1
state_topic: hassmart/switch/hassmart_3key_XXXXXX_1/state
command_topic: hassmart/switch/hassmart_3key_XXXXXX_1/set
qos: 1
retain: true
- platform: mqtt
name: zoulang2
state_topic: hassmart/switch/hassmart_3key_XXXXXX_2/state
command_topic: hassmart/switch/hassmart_3key_XXXXXX_2/set
qos: 1
retain: true
- platform: mqtt
name: zoulang3
state_topic: hassmart/switch/hassmart_3key_XXXXXX_3/state
command_topic: hassmart/switch/hassmart_3key_XXXXXX_3/set
qos: 1
retain: true
复制代码
经过不断摸索,发现删除mosquitto的持久化文件(数据库)后,重启mosquitto就一切正常了, 经过几次刷机测试都是这个结果
后来刷了uavana 大神的Tasmota 后测试一切正常, 路由器重启也能自动连上了,开关控制也正常了
唯一的缺点是路由器重启后Tasmota的连接速度没有官方固件快,要几分钟的样子,但是连上后一切正常
另外个人感觉官方固件控制起来反应比Tasmota略快, 就是路由器重启后接控制无效是个大问题,不知道大家是否遇到过,
另外给出一个Tasmota的三开的手动配置代码给刚接触的同学一个参考
- platform: mqtt
name: "zoulang1"
state_topic: "stat/zoulang/POWER1"
command_topic: "cmnd/zoulang/POWER1"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true
- platform: mqtt
name: "zoulang2"
state_topic: "stat/zoulang/POWER2"
command_topic: "cmnd/zoulang/POWER2"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true
- platform: mqtt
name: "zoulang3"
state_topic: "stat/zoulang/POWER3"
command_topic: "cmnd/zoulang/POWER3"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true
复制代码
另外还有个小细节, 和家里的一款视频触控开关比较, 发现射频开关是手指刚接触的时候就可以控制, 咱们的hassmart开关必须手指抬起才有反应,
形象点说就是家里的射频开关监控的是OnMouseDown事件, 咱们的hassmart开关监控的是OnClick事件.
2018-06-12
顺便贴一下我的mosquitto配置, 其实如果注释掉persistence true这行,重启mosquitto是可以的,要是有这行就要删除/var/lib/mosquitto/下面的数据库再重启才管用
# 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
allow_anonymous false
password_file /etc/mosquitto/pwfile
复制代码