通过Homebridge使用Siri控制米家设备
去年用着米6为了补充室内灯光,就买了米家台灯,可以用小爱同学控制就很方便。然而后来换了苹果全家桶,Siri只认Homekit套件就有点难受,每次只好使用app去打开关闭,虽然在负一屏上可以放米家的组件,但是那东西经常的没反应,最后还是得去app里关台灯。
最近偶然发现有如Homebridge和Home Assistant的神器,可以让其他的智能家居套上一层皮摇身一变成为HomeKit组件。
安装Homebridge
当作中枢的Homebridge当然需要长时间运行,所以需要安装到家里一个长期运行的服务器上,当然只要是台电脑都行,比如树莓派什么的。
由于我之前正好买了一台惠普800g1 dm当作家庭服务器,就正好把这些东西都装到那个东西上面去。
安装主程序
sudo apt install npm nodejs -y
sudo npm install -g --unsafe-perm homebridge
不知道为什么越来越多的人开始用nodejs来写一些小玩意
创建配置
vim ~/.homebridge/config.json
写入基本配置
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "123-45-678"
},
"description": "Test Bridge",
"accessories": [],
"platforms": [
]
}
注意这个pin码,必须要按照带-的格式才行
添加进入家庭
运行homebridge
homebridge
打开IOS中的家庭app,选择扫描或添加配件,扫描自己的二维码,homebridge就会被添加进app的中枢中,可以点击左上角的按钮进入查看。
接下来就是将台灯加入homebridge,由于米家产品线的混乱,我刚开始也搞不清楚这台灯到底是yeelight的还是米家自己的,所以整了好几个插件测试发现都没搞定,在米家里找不到进入开发者模式,在yeelight官网竟然搜到一个官方回复说明不会加入局域网控制功能,我就懵逼了。
但是在重置台灯的时候我发现台灯的wifi名是yeelight,我这才终于明白,遂不管他说什么先下一个yeelight的app试试看,终于在设备的右下角箭头里可以开启局域网控制。
之前试了那么久用miio直接控制也都没成功,就是没开启这个局域网控制功能。
安装米家控制插件
看你自己需要安装插件,miio是可以控制米家所有设备的插件,yeelight-wifi只能控制wifi接入的yeelight设备。
由于我只有一个yeelight台灯,所以我就只装了yeelight-wifi插件
sudo npm install -g homebridge-yeelight-wifi
修改Homebridge配置
在platforms中载入插件
{
"platforms": [
{
"platform": "yeelight",
"name": "Yeelight"
}
]
}
再次启动homebridge,你就可以发现你的局域网设备
控制设备
现在你就可以在家庭app中看到你的台灯了,可以给他改个名字,这样喊Siri的时候就不用读一串字符
完
Homebridge也有很多其他设备的控制插件,甚至你也可以根据自己需求去写一个插件控制一些奇奇怪怪的东西。我这还有个控客,但是好像没有开放控制协议,Homebridge里没有对应的插件。Home Assistant好像有它的插件,等下次有空在试试HA。