本帖最后由 XCray 于 2021-5-25 07:19 编辑
【小米网关】HA控制打开和关闭警戒
XCray于20210525补充:楼主的思路不错,在当时也确实帮助到了很多朋友,不过从差不多0.104版本开始,HA自带的miio集成已经可以控制米家网关的警戒功能了,所以这些方法都可以不用了。
前几天看到论坛有很多朋友发帖问使用HA控制小米网关警戒的方法:
比如如何在ha中打开和关闭小米网关的警戒?
还有小米网关警戒变通接入
贴子有的提到用HB接入,有的是硬件修改,感觉都比较复杂。
我开始想的很简单,直接在米家中设置好无线按钮事件之后,用HA触发就可以了。后来发现还是太Naiv了,HA无法实现这一功能。(XCray于20210525补充:其实是可以实现的,我之前就用HA模拟无线按钮事件触发米家自动化来控制网关警戒,参考HA模拟小米无线开关的单击/双击动作、控制所有米家设备https://bbs.hassbian.com/thread-10161-1-1.html)
查阅了API之后也没有找到合适的方法。
但是看到既然HB可以实现这个方法,一定是有其他的解决途径的,大不了自己写一个,在全球最大同志社区GayHub上搜了一下,还真找到一个可用的插件。不敢私藏,就发出来给大家分享:
https://raw.githubusercontent.com/hekm77/homeassistant-config/203942a106a139b8178cb8c596d339146d53306b/custom_components/xiaomi_gateway_alarm/switch.py
操作步骤:
对于Home Assistant版本在0.80以下用户
将switch.py文件更名为xiaomi_gateway_alarm.py,拷贝到custom_components/switch/目录下,注意,这里有两级目录,其中custom_components与configuration.yaml文件同级。
对于0.80以上用户,我提供了懒人包,直接下载附件解压到custom_components目录下即可。
目录结构
│ configuration.yaml
│
├───custom_components
│ └───xiaomi_gateway_alarm
│ └───switch.py |
对于0.93以上用户,需要添加一个空的__init__.py文件,如果你不会,直接下载我提供的另外一个懒人包也可以
configuration.yaml文件的配置比较复杂一点,因为需要用到一个32位的token,所以不能用常规拿Key的方法取得,
好在windgo大神提供了一个简便的方法:
[经验分享] 使用修改版米家APP,最快抓設備token
简单来说,就是下载一个查token的米家APP: https://1drv.ms/u/s!AitCBpqMIxNs92g4vWo2EgcMpLvV
APP安装好之后点进去简单查看一下就可以了,这个操作很简单,需要一台Android手机或者电脑模拟Android平台。
configuration.yaml具体的配置如下:
switch:
- platform: xiaomi_gateway_alarm
host: 192.168.x.x #小米网关的IP
token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #32位的token
重启之后你就可以在界面看到警戒的开关了:
这个开关和小米APP里的警戒开关是联动的,这里改了状态,米家APP里也会有相应显示。同理,在米家APP里操作,这这里开关也会改变状态。
下面是0.80以上用户的懒人包,直接下载附件解压到custom_components目录下,添加相关配置到configuration.yaml即可使用
下面是0.93以上用户的懒人包,直接下载附件解压到custom_components目录下,添加相关配置到configuration.yaml即可使用
|