小米的东西还是很靠谱的,但是小米人体感应器有一个限制,就是人体感应器每1分钟才会感应上报一次,2分钟后无人才会关闭。这个时间不可调节,这就可恶了。虽然现在小米人体感应器2代有一个30s后无人移动设置,但是至于效果如何,大家可以自己去试,而且我并不想只被限制于小米全家桶,如果要玩homeassisant,需要的是感应器能够较短的间隔时间感应上报信息,不然你就只能被小米玩,啥时候再来个强制更新固件啥的。 还有就是我受不了了易微联的zigbee网关,设备经常掉线,导致我的灯光自动化会失效,灯光持续开放,虽然它一直在更新固件,但是始终不尽人意,让人烦躁。
改造准备
1.小米一代人体感应器或者aqara人体感应器,这两个感应器我自己都亲身改过,确认是可以的。这两个全部都是zigbee的设备,小米2代人体感应器是蓝牙网关,2代是无法改造的。2.我前面文章提到的ZigBee2mqtt自制网关,虽然我们进行了感应器的硬件改造使它可以突破1分钟限制,但是小米的网关仍然有这个限制,它是双重限制,所以我们需要自制网关配合。可回顾我的文章-----传送门
homeassistant的绝美搭档——Zigbee2MQTT网关【写作说明】:我之所以在张大妈上写出来只是为了记录自己折腾的过程,也给自己留一个备忘,万一系统崩了,我可以照着做,也同时给那些和我一样在折腾路上,但是却始终走弯路的人一个教程。购买理由首先说下Zigbee2MQTT网关,这个网关目前常见的是各大神自制的,估计很多人和我一样,买Zigbee设备不可能买无敌冲锋| 赞9 评论9 收藏91查看详情3.锡焊枪一把,锡丝
4.10db i外置天线一个
改造过程
1.1)首先我改造了自制zigbee2mqtt的信号强度,卖家给我配的那个小萝卜头(2DBI)信号强度不太行。因为zigbee的信号普遍就能穿墙1-2堵墙信号就不行了,这严重影响体验。我先给它来个大宝剑
EDUPEP-AB0012.4G10DBi磁性底座高增益全向WIFI天线带1米延长线无线网卡无线路由器的好搭档59元京东去购买这个东西的接口是内螺内口,如果你买的zigbee2mqtt网关的接口和这个不匹配,就去买一个转换头。
淘宝网-淘!我喜欢s.taobao.com去看看 2)虽然加了天线但是厕所中的设备信号还是不行,所以我们需要一个zigbee设备信号中继器,咸鱼有卖自制的zigbee中继器200多块,但是根据网友大神验证,这几个设备是可以用来做zigbee中继器的——传送门:
1)Zigbee智能插座
2)绿米Aqara零火版墙壁开关
3)绿米Aqara墙壁插座(zigbee版)
我自己本来家里有绿米的单火版墙壁开关,经过我验证,好像没啥用,不会中继信号。
所以我另外买了一个绿米的墙壁插座(zigbee版)
有几点要注意:
1)目前只支持一级中继,不支持多级中继,也就是中继器之间不能互联
2)一般一个网关最多可接入4个中继器,总的子设备数量不能超过128
如何把zigbee子设备接入到中继器而不是直连网关,具体操作如下:
1)先把zigbee子设备添加进网关(一般就在网关旁边操作)
2)zigbee中继器(插座、开关等)也添加进网关
3)保持zigbee中继器通电状态,把zigbee子设备(如:人感、无线开关、门窗传感器等)放置在工作位置上,戳一下zigbee子设备的重置孔(或按一下重置按键),即可自动连接到最近的中继器
2.信号环境我们准备好了以后,我们来改造感应器,我是在一个韩国的论坛找到的教程,有人可能会说耗电之类的,但是据说还好,本身zigbee设备就是低功耗,再怎么耗电也不会很过分,一年换一块电池肯定能接受。想看韩文的可以去看下———传送门
1)第一步我们先把里面的电子板拆出来,过程可参考视频,不要太暴力,容易把塑料外科撬破。
2.找到TP4点和TP15上面的点,直接用锡线焊接连接。我下面是aqara改造时拍的图片
1
焊好后如下
2
基本硬件改造就完成了,零件较精细,焊点较小,需要一点点耐心去慢慢搞。
3.zigbe2mqtt网关设置,东西弄的再好,设置不好就会频繁报错。
1)我们首先打开Zigbee2mqtt将我们改造好的设备加入进来,Friendly name是可以修改的
2)在电脑中的地址栏输入你的homeassistant的内网ip,按回车就会显示如图界面,在config文件夹中找到zigbee2mqtt文件夹,找到devices.yaml文件,用wps打开。
在retain: true的下面添加如下命令:
no_occupancy_since: [5,5]
occupancy_timeout: 5
注意since:及timeout:后面均有空格,不然重启Zigbee2mqtt后会提示报错。
另外如果你想延长时间,觉得5s太短,那可以将以上3个5改为你想要的秒数。比如20s
no_occupancy_since: [20,20]
occupancy_timeout: 20
保存后退出,并重启ZigBee2mqtt
3)重启后我们打开如下界面:可以看到contact,我们可以测试下,当contact感应打开成open后,等待5s,contact状态将变成closed,这表示我们改造成功。
4)接下来不用我说了,按照老路子在开发者工具中可以查到实体id,有了这个,我们可以在node-red中与其他设备一样进行设置,来进行场景自动化了。
总结
自动化的过程是折腾的过程,基本上是我一边在用,一边感觉有问题,随时在改变,我写的比较详细,小白基本上也能做,咸鱼买个二手1代传感器,就算你折腾坏了,大不了再用锡枪把短接的锡线熔化掉。这是一个我的学习的过程,大家有问题评论区可以问,我尽力解答。
网友评论