家庭妇男的智能家居折腾之路7:ESP8266接入空净后HA界面优化
前一篇帖子中介绍了我使用NodeMCU开发板改造夏普空气净化器接入HA的经验,这一篇继续给大家分享下接入HA后,界面怎么安排。本文可能只适合Home Assistant使用者或编程爱好者,敬请谅解。
在谈界面前,有几个ESPEasy固件的坑,先要填一填,我使用的Mega-20190216版本:
1,Config page中Append Unit Number to hostname这个选项是不影响MQTT中topic的。topic里使用的是Unit Name。这个选项真的只作用在hostname。
2,如果你和我一样,在本地使用多个SSID一样的WIFI来覆盖更大面积的话,一定要把8266芯片拿到使用时真正的位置再配网。否则ESPEasy只会试图连接第一次连接的那个WIFI,不会自动切换到信号比较好的那个WIFI上,然后如果第一次的那个WIFI信号没有覆盖,ESPEasy就罢工了。我猜测这是由于ESPEasy是通过路由器WIFI网口的MAC地址而不是通过SSID来找到原先的网络的。另外,如果有条件的话,尽量配置上Fallback SSID,多留条后路。
3,GPIO默认输出在Hardware页中是可调的,D8默认好像是高电平,我设置D8为input后正常了。
填坑完毕,接下来言归正传。先分析下需要实现的功能:
1,由于是继电器,通过MQTT接入HA后,界面上是表现成开关的。这本身没毛病,但是控制空净需要的是按钮,按下去的时候接通,放开就断开了,这边需要用HA模拟下。
2,MQTT开关一共6个,分别是:风量、加湿净化(可以启动净化器)、显示亮度、童锁、关机和净化(可以启动净化器)。其中,童锁按钮需要按3秒以上才能触发,而按3秒显示亮度按钮可以控制负离子发生器的开关,其他动作按0.5秒可触发。
3,净化、加湿净化和关机虽然是3个按钮,但是功能是互斥的,同时只能激活一个。这边界面应该用一个input_select(类似下拉菜单)来控制。
4,风量有6档,按一下切换到下一档,往复循环。第一反应也是做成input_select,但是这边不能自由选择档位,只能一个一个按顺序选,所以不能直接在界面上呈现input_select,而是应该只显示不能选择,用另一个开关触发切换。
5,显示亮度有3档,按一下切换到下一档,往复循环。同上,不能直接在界面上呈现input_select,而是应该只显示不能选择,用另一个开关触发切换。
6,童锁如果打开的话,其他按钮应该是无效的。
7,因为这个是日本版的机器,所以整机接在一个220 to 100V的变压器上,变压器另外有个小米的智能插座控制,相当于是总电源。每次开关机要按2个开关太麻烦,想把总电源和净化/关机绑定在一起。
8,因为成本考虑,没有接入功能的反馈,如果通过净化器上的实体按钮操作,HA这边是不会知道的。会发生HA状态和实际状态不一致的问题,需要有机制解决这个冲突。
先上个最终完成的界面,不算完美,但是也挺直观了:
接下来,一步一步分享下怎么实现这个界面。
先把MQTT开关添加好,6个,和ESPEasy中一致:
写几个通用的script:
这里写了4个,分别是“打开开关,等半秒,关闭开关”,等1秒关闭,等2秒关闭和等4秒关闭。只是delay不同,另外开关名称作为script的参数"switch_name"传入。
另外还有个什么也不干的脚本,用来占行的。
再来,工作模式input_select是这样:
选择“净化”的脚本,如果总电源没开会打开电源并等一下再控制对应继电器接通0.5秒。执行前会先判断童锁有没有打开,打开不执行。
打开总电源并等待15秒的脚本,因为一般8266通电后需要一点时间联网,所以要等一下才能真正准备好
和总开关同步用的自动化,switch.plug_158d000163bcb0就是总开关
接下来是风量的显示。做了个input_select当列表:
而为了限制随机选择,界面显示的实际是input_text(类似输入框):
再写了个会自己回弹的开关来切换:
最后是按下开关后调用的脚本:
下一个是亮度切换。和风量思路差不多:
负离子开关,做成了无反馈模式,方便重置状态。用一个input_boolean来记录HA状态。
触发脚本:接通继电器4秒打开或关闭负离子发生器。分成了开/关2个脚本,方便boolean赋值
最后是童锁功能。和负离子差不多:
最后的最后,在customize中,把不显示在界面上的东西都隐藏起来。
完结撒花! 看看效果:
在测试中发现一个现象:之前没加8266时,空净开机时总开关直接断电30秒以上再通电,空净关机前的状态就丢失了,再通电也不会自己开机。加装了8266以后,断电再通电,空净之前的工作状态竟然会恢复,目前已测试断电12小时再通电,依然能恢复之前断电前的工作状态!算是一个意外的收获,好神奇!
KI-AX70接入HA到这里就正式完成了。各位有什么意见或建议,欢迎留言,同时也期待各位点赞、收藏、打赏!

pizigao
校验提示文案
守护1314
校验提示文案
狼爸爸_
校验提示文案
兜兜峰
校验提示文案
占不到便宜就是亏
校验提示文案
口___口
校验提示文案
怕酸的柠檬果
改了
校验提示文案
paochu_2007
校验提示文案
乐天萌兽
校验提示文案
值友8406864310
校验提示文案
momp263
校验提示文案
狼爸爸_
校验提示文案
守护1314
校验提示文案
momp263
校验提示文案
值友8406864310
校验提示文案
pizigao
校验提示文案
乐天萌兽
校验提示文案
paochu_2007
校验提示文案
怕酸的柠檬果
改了
校验提示文案
口___口
校验提示文案
占不到便宜就是亏
校验提示文案
兜兜峰
校验提示文案