『瀚思彼岸』» 智能家居技术论坛

标题: 【小米网关】HA控制打开和关闭警戒 [打印本页]

作者: chaobt    时间: 2019-4-4 04:09
标题: 【小米网关】HA控制打开和关闭警戒
本帖最后由 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具体的配置如下:
  1. switch:
  2.   - platform: xiaomi_gateway_alarm  
  3.     host: 192.168.x.x  #小米网关的IP
  4.     token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #32位的token
复制代码


重启之后你就可以在界面看到警戒的开关了:
[attach]14293[/attach]

这个开关和小米APP里的警戒开关是联动的,这里改了状态,米家APP里也会有相应显示。同理,在米家APP里操作,这这里开关也会改变状态。

下面是0.80以上用户的懒人包,直接下载附件解压到custom_components目录下,添加相关配置到configuration.yaml即可使用



下面是0.93以上用户的懒人包,直接下载附件解压到custom_components目录下,添加相关配置到configuration.yaml即可使用










作者: xuyang    时间: 2019-4-4 04:54
非常感谢,太需要了
作者: hogan_wang    时间: 2019-4-4 06:37
谢谢分享
作者: hellolucas    时间: 2019-4-4 07:50
楼主贼厉害!
作者: wgqtx    时间: 2019-4-4 08:21
学习一下看着不错
作者: ostwald    时间: 2019-4-4 08:22
回复学习一下
作者: xuyang    时间: 2019-4-4 08:38
压缩包中py文件的(switch.py)名字不对,应该是xiaomi_gateway_alarm.py,改名后,成功了。
作者: xieahui    时间: 2019-4-4 08:54
留个脚印, 小米网关铃声团灭中
作者: turtlepeak    时间: 2019-4-4 09:02
造福人类。
作者: wudijushi    时间: 2019-4-4 09:20
如果在米家APP打开/关闭报警,这里的状态会变化吗
作者: a439771597    时间: 2019-4-4 09:35
谢谢分享!!!
作者: shavn1984    时间: 2019-4-4 09:41
学习了啊
作者: angelyangw    时间: 2019-4-4 09:59
收藏一下 以备后用
作者: susandeng    时间: 2019-4-4 11:03
學習學習

作者: myxu    时间: 2019-4-4 11:09
学习  学习
作者: lawsongsong    时间: 2019-4-4 13:10
强,世界因你而美好!!
作者: nice2943    时间: 2019-4-4 13:47
感謝樓主分享
作者: chaobt    时间: 2019-4-4 15:29
wudijushi 发表于 2019-4-4 09:20
如果在米家APP打开/关闭报警,这里的状态会变化吗

会联动的,和其他的设备操作其实是一样的,相当于从网关取状态
作者: chaobt    时间: 2019-4-4 15:58
本帖最后由 chaobt 于 2019-4-4 16:06 编辑
xuyang 发表于 2019-4-4 08:38
压缩包中py文件的(switch.py)名字不对,应该是xiaomi_gateway_alarm.py,改名后,成功了。 ...

压缩包里的是给0.80以上的用户用的结构,0.88以下版本的用户目录结构如下:

│   configuration.yaml

├───custom_components
│              └───switch
│                        └───xiaomi_gateway_alarm.py

作者: xuyang    时间: 2019-4-4 16:03
chaobt 发表于 2019-4-4 15:58
压缩包里的是给0.80以上的用户用的结构,0.88以下版本的用户目录结构如下:

│   configuration.yaml

我已经升级0.91了,用switch.py不行
作者: yjnomm    时间: 2019-4-4 16:46
持续关注中。
作者: jackie    时间: 2019-4-4 16:47
刚来学习下,谢谢楼主
作者: chaobt    时间: 2019-4-4 18:12
xuyang 发表于 2019-4-4 16:03
我已经升级0.91了,用switch.py不行

不出意外你会在Log里看到一个Warning,提示你要修改一下目录结构和文件名,但是不影响使用。
作者: Hyejeong    时间: 2019-4-4 18:48
下载学习学习了
作者: zmg    时间: 2019-4-4 18:59
这个厉害了
作者: paochu_2007    时间: 2019-4-4 21:44
学习一下
作者: kk2080    时间: 2019-4-4 22:55

非常感谢,太需要了
作者: nuaawmy    时间: 2019-4-4 23:04
谢谢分享
作者: [email protected]    时间: 2019-4-4 23:51
网关完美了
作者: ruianyu    时间: 2019-4-5 00:00
厉害,感谢分享。
作者: chenquanhao    时间: 2019-4-5 01:55
怎么HA官方就没集成的
作者: zhongjiafa    时间: 2019-4-5 09:32

如果在米家APP打开/关闭报警,这里的状态会变化吗
作者: ptlzx    时间: 2019-4-5 11:03
本帖最后由 ptlzx 于 2019-4-5 11:05 编辑

收藏备用。还有能接入homekit吗?
作者: aaa    时间: 2019-4-5 14:09
感谢楼主分享!
作者: 新生活    时间: 2019-4-5 14:49
谢谢分享
作者: 260533755    时间: 2019-4-5 22:26
这个是真的好  
作者: mr-one    时间: 2019-4-6 01:15
Nice, thks!
作者: chaobt    时间: 2019-4-6 05:04
zhongjiafa 发表于 2019-4-5 09:32
如果在米家APP打开/关闭报警,这里的状态会变化吗

这个开关和小米APP里的警戒开关是联动的,这里改了状态,米家APP里也会有相应显示。同理,在米家APP里操作,这这里开关也会改变状态。
作者: gzroc    时间: 2019-4-6 09:35
好牛b的东西
作者: maybeloveu    时间: 2019-4-6 15:18
感谢分享
作者: freelyfish    时间: 2019-4-6 15:32
谢谢分享
作者: a421463659    时间: 2019-4-6 18:46
感谢分享
作者: sfjnjau    时间: 2019-4-6 22:31
谢谢分享
作者: dawn98    时间: 2019-4-6 23:03
感谢楼主分享!
作者: huangzetong    时间: 2019-4-7 00:36
好东西。 正好需要
作者: lai95588    时间: 2019-4-7 09:39
学习学习
作者: lai95588    时间: 2019-4-7 11:13
学习学习
作者: houhd    时间: 2019-4-7 11:41
感谢分享。
作者: kleinsoul    时间: 2019-4-7 21:34
感谢大大分享!
作者: hnyijian    时间: 2019-4-8 10:33
非常感谢
作者: hdbjlizhe    时间: 2019-4-8 11:33
学习学习
作者: shidaisky    时间: 2019-4-8 11:45
之前添加其它 设备的时候,通过模拟器下载过小米App的数据库文件,不知道里边有没有关于网关的token,回回头一下。
作者: 酷寒521    时间: 2019-4-8 16:38

作者: 咸味土豆    时间: 2019-4-8 17:16
不错,谢谢分享。
作者: opalhair    时间: 2019-4-9 16:26
非常感谢
作者: biki    时间: 2019-4-9 17:15
感谢分享
作者: weans1975    时间: 2019-4-9 22:08
感謝分享
作者: talentliao97    时间: 2019-4-9 22:09
感谢分享,正好需要用
作者: vinny2019    时间: 2019-4-10 10:13
感谢分享
作者: vinny2019    时间: 2019-4-10 10:47
一直在找这功能,感谢!
作者: hassbeat    时间: 2019-4-10 12:22
看看效果呢
作者: y2kll    时间: 2019-4-12 11:36
谢谢分享


作者: tcwj2008    时间: 2019-4-12 14:11
试一下吧~~~~
作者: xbox3600    时间: 2019-4-12 15:14
感謝分享
作者: 非彦    时间: 2019-4-17 20:56
厉害了,正好需要这个呢
作者: zhaozengxiao    时间: 2019-4-18 08:35
学习一下!!!!!!!!!!
作者: ck3    时间: 2019-4-18 08:47
感谢楼主分享,按照此方式已经获取到token了,先试试这个插件
作者: blacklala    时间: 2019-4-18 10:43
感謝分享!~
作者: jacklvlv    时间: 2019-4-18 15:06
看看,怎么用法。
作者: owindyoo    时间: 2019-4-18 16:43
空调伴侣就看看
作者: ys2008_168    时间: 2019-4-19 13:50
看看这个
作者: tomassam    时间: 2019-4-20 01:16
低调低调发 顶!
作者: yangkaiaaron    时间: 2019-4-20 11:46
谢谢分享,新手学习中
作者: awdx48    时间: 2019-4-20 21:04
大神666666
作者: gujcong    时间: 2019-4-21 22:57
找了好久解决办法,终于看到干货了!楼主666
作者: KleinerSource    时间: 2019-4-23 12:44
支持支持
作者: tvhggg    时间: 2019-4-23 20:11
太棒了 还有这样的  又学知识了
作者: hellowxufang    时间: 2019-4-23 22:37
66666支持
作者: 余歌唱晚    时间: 2019-4-23 23:18
来看看……
作者: fineemb    时间: 2019-4-28 01:14
这个厉害了
作者: alannana    时间: 2019-4-28 08:04
感谢分享
作者: jatzhou    时间: 2019-4-29 16:30
感谢分享
作者: tomassam    时间: 2019-4-30 15:45
Hass --version ==> 0.91.4
---
personal reference:
---
/custom_comp/xiaomi_gateway_alarm/switch.py
is the one runs well, not aligned with the first commenters.
作者: lkng    时间: 2019-5-1 21:41
感谢分享。。
作者: blackcui    时间: 2019-5-1 22:08
赞,感谢分享
作者: wilsoncan    时间: 2019-5-1 22:14

谢谢分享
作者: jatzhou    时间: 2019-5-1 22:29
xiaomi_gateway_alarm.py 这个文件下载不了  
作者: chaobt    时间: 2019-5-1 23:02
jatzhou 发表于 2019-5-1 22:29
xiaomi_gateway_alarm.py 这个文件下载不了

谢谢提醒,已经更新
作者: jatzhou    时间: 2019-5-1 23:35
按照要求配置了 但是检查配置的时候提示错误   麻烦帮我看看 是哪里出了问题呀 [attach]15184[/attach]  [attach]15186[/attach][attach]15187[/attach] 谢谢




作者: chaobt    时间: 2019-5-2 04:11
jatzhou 发表于 2019-5-1 23:35
按照要求配置了 但是检查配置的时候提示错误   麻烦帮我看看 是哪里出了问题呀    谢谢

将目录名称从switch改成xiaomi_gateway_alarm就可以了
作者: a807331    时间: 2019-5-2 11:14
楼主贼厉害!
作者: [email protected]    时间: 2019-5-2 22:26
感谢楼主分享
作者: forth79    时间: 2019-5-3 16:47
谢谢分享
作者: mars85    时间: 2019-5-6 05:46
谢谢 分享  大佬大雕
作者: yjnomm    时间: 2019-5-13 22:21
楼主,发现个问题。如果我在入户门内有一个人体传感器,出门肯定要经过这个传感器,它的状态就会从off变成on,如果我在离家布防里添加所有人体传感器,包括入户门内的人体传感器进去的话,肯定会直接报警了。但是米家的就不会,不知道什么情况。一起讨论下!
作者: chaobt    时间: 2019-5-15 04:14
yjnomm 发表于 2019-5-13 22:21
楼主,发现个问题。如果我在入户门内有一个人体传感器,出门肯定要经过这个传感器,它的状态就会从off变成o ...

这个问题好像和主题没什么关系?这个插件就是控制小米网关的警戒的,不能添加警戒设备,设置部分都要在米家APP里完成。
作者: li97898    时间: 2019-5-15 07:22
谢谢楼主分享
作者: zhaoxingqi    时间: 2019-5-15 10:06
谢谢分享
作者: he_qr    时间: 2019-5-16 00:00
谢谢分享。。。
作者: ssxu90    时间: 2019-5-16 23:06
mark一下




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5