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

 找回密码
 立即注册
查看: 25779|回复: 28

[技术探讨] HA 0.110版,控制米家网关警戒的最佳方案,我曾经建议过的

[复制链接]

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2020-5-29 15:45:40 | 显示全部楼层 |阅读模式
本帖最后由 XCray 于 2020-5-30 09:22 编辑

前言
0.110.0版本,一个重大变化就是集成了基于xiaomi_miio接口的警戒控制功能。

在此之前,我一直使用manual平台的警戒控制面板,通过模拟无线按键的代码修改实现与米家网关的同步。

其实,我曾在两年前向python-miio的作者rytilahti、syssi提出过这个建议,当时他还有些纠结,所幸终于想通了。感谢rytilahti和syssi

hass1.png
这是HA官方的文档:RELEASE NOTES
hass3.png
这是具体说明:
hass2.png

安装

根据官方文档,安装倒是很顺利。在前端界面就可以完成,不需要编辑yaml文件。

在侧边栏选“配置”,然后点击“集成”,然后点右下角的加号,就可以找到 xiaomi_miio,勾选 “连接到小米网关” 然后点“提交”,接下来填入正确的 “IP 地址” 和32个字符的 “token”,还可以设置一个好记的名称。提交后可以选择网关所在的区域。

获取token对大家来说不是难事儿,就不说了。实在需要HA的文档里也有。

测试

多了一个毫无用处的“在家警戒”模式,还没找到在哪儿可以去掉。

在hass前端操作,网关实时响应,手机上的米家app几乎也是零时延。

但反过来,在手机app操作,前端可以看到警戒打开/关闭的时延大约为5~25秒。

主要原因:(根据我之前抓包的记忆)miio接口并没有从网关发出的状态改变通知消息,而是要靠hass这边主动发起查询。所以实时性无法保证。

价值

简化。我之前做的模拟小米无线按钮动作的代码修改可以不用了。之前每次HA升级都要进容器修改,以后就省心了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20200530补充:
为了在hass中用好小米网关的警戒模式,我经过长期思考和实践,共摸索出两种方案,简单称之为新方案和旧方案。

新方案:
就是110版本开始,直接在前端配置增加小米警戒面板即可,不需要任何代码修改或复杂配置,当然,提前获取token是必须的。在110版本之前,我曾经尝试过自己修改miio接口的代码,原理和这个方案完全一样。

旧方案:
旧方案稍微复杂一点儿,但思路上还是很清晰的。
1. 配置manual alarm control panel
2. hass增加模拟无线按钮单击双击的能力,需要修改代码,简单几行,可参见我在github上的repo
3. 在米家app里设置自动化,单击布防、双击撤防
4. 在hass中设置自动化,布防模拟单击、撤防模拟双击
5. 在hass中设置自动化,单击布防、双击撤防
这样,hass这边可以根据别的条件(蓝牙检测手机)自动布防撤防,同时模拟无线按钮单击或双击的动作,触发小米网关联动。
网关这头呢,也可以把无线按钮放在门口或随身携带,出门前单击,小米网关和hass同步布防。如果随身携带,进门前进入zigbee有效范围双击,网关和hass同步撤防。
当然,还可以利用门锁触发布防和撤防的动作。

方案比较:
利用miio接口的新方案,优点是释放了无线按钮、可以减少自动化条目数量。
一个小缺点是警戒状态变动的实时同步是单向的(hass->网关实时,反之非实时),好在网关->hass的同步基本没啥意义(因为米家app和网关这边没有一个很好的机制自动布防撤防)。

另外,除非不得已,原生的肯定是最优选项,所以,综合考虑,还是优先推荐新方案。

评分

参与人数 1金钱 +20 收起 理由
+ 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

8

主题

329

帖子

1763

积分

金牌会员

Rank: 6Rank: 6

积分
1763
金钱
1434
HASS币
0
发表于 2020-5-29 16:34:22 | 显示全部楼层
确实发现了这点,挺好用的。110就是更新后一些插件用不起来了,我等小白又囧了
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-29 19:08:19 | 显示全部楼层
12512310 发表于 2020-5-29 16:34
确实发现了这点,挺好用的。110就是更新后一些插件用不起来了,我等小白又囧了 ...

玩HA的一大痛苦就是升级,而升级又很频繁。
当然,这也是一种乐趣,折腾嘛~
回复

使用道具 举报

73

主题

1165

帖子

6645

积分

论坛元老

Rank: 8Rank: 8

积分
6645
金钱
5475
HASS币
30
发表于 2020-5-29 19:36:50 | 显示全部楼层
小米网关警戒的插件,论坛中早就有了,一直在用呢。
回复

使用道具 举报

28

主题

559

帖子

4396

积分

论坛元老

Rank: 8Rank: 8

积分
4396
金钱
3837
HASS币
0
发表于 2020-5-29 22:03:41 | 显示全部楼层
一直在用插件 好像是个switch
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-30 08:57:31 | 显示全部楼层
xuyang 发表于 2020-5-29 19:36
小米网关警戒的插件,论坛中早就有了,一直在用呢。

不知道你说的是哪一个?

我是最近才来到这个论坛,还没有认识各路大神。

大概看了几个有关HA控制小米网关警戒的帖子,不谦虚地说,都不如我的方案——我有两个方案,无论是新的还是旧的,都比论坛里原来的帖子说的更合理、更简单。

也许有更高明的帖子但我没有看到。

倒是有一个不管网关自己的状态、直接利用网关播放警报声音的想法让我觉得非常有创意,更简单实用。
回复

使用道具 举报

73

主题

1165

帖子

6645

积分

论坛元老

Rank: 8Rank: 8

积分
6645
金钱
5475
HASS币
30
发表于 2020-5-30 18:56:44 | 显示全部楼层
XCray 发表于 2020-5-30 08:57
不知道你说的是哪一个?

我是最近才来到这个论坛,还没有认识各路大神。

https://bbs.hassbian.com/thread-6749-1-1.html
回复

使用道具 举报

75

主题

1976

帖子

8183

积分

元老级技术达人

积分
8183
金钱
6157
HASS币
430

活跃会员教程狂人

发表于 2020-5-30 18:59:23 | 显示全部楼层
警戒我用的论坛大佬的自定义插件,没换是因为空调伴侣接入可以多一个switch控制开关
所有过往,皆为序章。
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-31 07:47:36 | 显示全部楼层
到底哪个方案好、哪个方案适合自己,见仁见智。

我个人是倾向于原生的、其次是尽量接近原生、尽量不用或少用增加或修改代码、配置尽量简单、思路尽量简洁清晰的方案。

警戒面板就是警戒面板,换成其他类型,总觉得不够完美。

对了,我是处女座。
回复

使用道具 举报

18

主题

352

帖子

2237

积分

金牌会员

North丶

Rank: 6Rank: 6

积分
2237
金钱
1880
HASS币
0

活跃会员卓越贡献

发表于 2020-5-31 18:51:29 | 显示全部楼层
XCray 发表于 2020-5-31 07:47
到底哪个方案好、哪个方案适合自己,见仁见智。

我个人是倾向于原生的、其次是尽量接近原生、尽量不用或少 ...

感觉你原来的方案确实是一个自己琢磨出来的思路,为你点赞!但是 u1s1 论坛大哥@chaobt 分享自制的插件确实很好用啊,做好备份每次直接粘贴过来就行了(除了要获取必要的key,其他和米家app没有一毛钱关系,并且无可见的延迟)配合ha的alarm,还是非常方便的。相对于这次的更新 有延迟就一点不香了。顺便贴个我在用的https://bbs.hassbian.com/thread-8156-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 09:34 , Processed in 0.247381 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表