让 Apple Homekit 管理米家设备
和世界上很多事情一样,智家设备也是分阵营的,走的通信方式、带不带网关就可以分出很多类别,支持的智家管理平台都至少有Apple和米家两款(当然,也有另类的,比如我有台海尔冰箱,只支持自己的app,Dyson也这个格调)。目前也就是绿米Aqara、Yeelight的2021新款产品开始两个平台都兼容了,家里装好的灯只能另辟蹊径了。研究了一轮,最后选了在群晖上装Home Assistant的路径,总体比较简单,但时过境迁,网上多数攻略都不大完整,所以整理一份博文。
0. 安装环境与准备
- 群晖:1515+,DSM 6.2.4
- 虚拟机环境:DSM里安装套件Virtual Machine Manager(简称VMM)
- 虚拟机需求:需要2 vCPU、2G内存、32G硬盘
- 小米账号:因为涉及两个插件,所以手机号码和ID都在米家App里查一下吧
- Github账号:这个免费注册就行了
- 浏览器:推荐用Chrome(我用Safari一样顺畅完成了99.9%的环节,但在最后选择设备列表等的时候,似乎有点迟钝,容易点错)
1. 安装 Home Assistant
到HA官网下载.ova文件。打开群晖VMM——虚拟机——导入(新增按钮下拉)
,选择硬盘上的.ova,一路可以默认,到最后记得固件要改为“UEFI”。
导入和启动完成后,过上一会儿在虚拟机
可以看到新主机的IP地址,打开浏览器访问http://IP地址:8123;如果没有,那可以用homeassistant.local:8123打开。
第一次登陆,界面提示是初始化需要20分钟,一般可能更久。反正看到是蓝房子界面就问题不大。
2. 配置 Home Assistant
正常情况下,你会看到创建用户账户的提示,注意记好这里的用户名密码,以后重启虚拟机的时候是登陆的,然后就是拖好自己的所在地、核对清楚时区、单位等。
2.1 基础设置
影响后续使用的设置主要是静态IP了,稳定起见,这种长期运作的服务还是给个静态IP比较好。路径:Supervisor——系统——Host——IP地址——变更——IPv4
。改了地址以后记得你浏览器改下URL重新进入。如果你用旁路路由或者自己的DNS等,这里也记得改改。
2.2 安装SSH
为了方便后面的步骤,我们还是给HA装上一个SSH Server。点击侧边栏Supervisor——加载项商店——Terminal&SSH
,安装后点顶部配置
,主要修改password
后面,设置一个密码(和HA本身的密码没有关联)。下面网络那里会默认提示已禁用
,如果你不是非常在意安全,可以再次写入22
,这样就打开了ssh的默认端口22,记得分别保存
.
2.3 安装HACS
HACS本质上算是个免费的软件商店或者目录,汇总了支持各类设备的插件,我们后面就要用到里面的小米插件。网上关于HACS安装讲得比较复杂,很多手动安装+升级的。我用旁路路由实现了“全球通”,所以直接安装。
打开电脑终端程序,ssh root@IP地址
,输入密码(macOS第一次会提示你保存密钥,答复yes就行了)。HACS官方的安装方式和网上说法有差异,今后不知道还改不改,所以建议你直接读官网文档。
目前的指令是
wget -O - https://get.hacs.xyz | bash -
贴进去跑就行了。如果失败,可以多试几次,其实脚本本身是很快的,一直不行的就请检查你的网络了。
安装好HACS后,需要重启一次HA服务(配置——服务控制——服务管理——重新启动
)。再一次和网上很多帖子不同,重启侧边栏并不会
直接显示出HACS。你需要到配置——集成——添加集成(右下角加号)——HACS
手工添加,过程中会等上一点时间,然后提示你打几个勾确认用户协议,并出现一个6位的验证码,点击后打开你的github账号,按要求确认关联就行了。这一步其实是建立授权,后续用你自己的github账号访问HACS里整理的那些插件。
至此,HACS能在侧边栏看到了,点击后,页面会提示“正在启动”,大概等个10分钟就可以了。但是注意,当你需要装第一个插件的时候,又会进入禁用
的状态,这时候你只能等1个小时,这是触发了github免费账号的流量限制。反正耐心等着吧。
3. 安装米家插件
在HACS界面下面增加,搜索输入“xiaomi”,可以看到Xiaomi MIoT
和Xiaomi MIoT Auto
,可以选一个装。很多帖子是都装了的,但其实如果两个插件里都托管上同一个小米账号,你的设备是会重复的。两者的区别我没有仔细研究,但是我分别加了一遍设备。Xiaomi MIoT
操作上相对简陋一点,功能更新好像比较及时,可以到项目地址去逛逛。Xiaomi MIoT Auto
对批量加设备更友好,不需要像前者一样逐一选择,只要设置黑名单(EXCLUDE
)模式然后留空,就等于把所有设备加进去了,另外支持局域网和云端管理。按网评来说,云端有明显时延,有可能几十秒乃至几分钟才刷新。我自己测试,如果选了云端,在家庭
里一开始都没看到,搞得我以为是配置出了问题。我自己是老老实实用了Xiaomi MIoT
,反正主要都是灯,其他设备少,没什么在外的管理需求。
说回安装插件,和网上很多帖子说的不同,可能在系统集成里仍然看不到这两个组件。建议去重启一次HA服务,然后在配置——集成——添加集成
这里手工增加这两个插件。过程中会提示你登陆小米账户(一个是要邮箱或手机号的形式,另一个是ID),还会提示你当前账户里已经有了哪些设备,可以选择一并添加,也可以后面再手工选择加。
到添加设备的时候就建议用Chrome了,这就是我说Safari似乎会导致整个界面比较卡的环节。
4. 连接HomeKit
加完设备以后,你点击侧边栏的概览
,应该就能看到你的设备状态,并且能手工开关灯了。按照前面类似的方式,在配置——集成——添加集成
增加HomeKit就行了,改不改名字无所谓,反正就是一个HomeKit网桥,放哪个区域/房间没有任何影响(对于Xiaomi MIoT
而言,所有设备会默认出现在这个HASS网桥所属房间,你可以之后在iOS或macOS设备上修改;Xiaomi MIoT Auto
则是在你加设备的时候提示选择对应区域/房间,这里也没什么影响)。出现二维码,用手机扫进你的家庭,不要在意没有认证的警告。
OK,至此就完工了,你在HA里的设备都进了家庭
,可以试试控制效果了。Siri会比利用米家App的iOS捷径功能(实验室功能里)要灵活得多,捷径方式需要一个确定的口令,不能错字,而直接走HomeKit,只要能让Siri听懂房间名称,很少会出错了。
参考资料
除了上面链接里的一些文档,安装过程中还参考了一些网友的贡献,一并感谢如下:
How To Connect to Home Assistant via SSH
通过HomeAssistant将米家设备接入Apple-HomeKit
虚拟机安装home assistant 添加HACS商店