使用Siri实现控制需要用到开源库homebridge,它通过逆向HomeKit协议让普通Wifi设备也能接入HomeKit接受Siri控制。这里要使用的是homebridge-homeassistant这个插件,它让HomeBridge可以直接使用HomeAssistant下的所有设备。
安装HomeBridge
更新相关packages
sudo apt-get update
sudo apt-get upgrade
安装C++14
Homebridge中的一些包使用了C++14,老版本的g++可能不支持,可以用g++ -v来看当前的g++版本。
如果是4.9.2以上可以不用理会了。
安装Node
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
安装完成后可以通过node -v检查是否安装完成。
该方法需要芯片高于ARMv7,可以通过uname -a来看芯片版本
安装Avahi和其它依赖
sudo apt-get install libavahi-compat-libdnssd-dev
安装HomeBridge
sudo npm install -g –unsafe-perm homebridge
添加开机自动启动
- 在homebridge的github上下载两个文件,homebridge和homebridge.service
如果网站打不开,自己新建也可以。homebridge文件
homebridge.service文件
- 将homebridge拷贝到
/etc/default,将homebridge.service拷贝到/etc/systemd/system下。 - 新建名为
homebridge的用户:sudo useradd --system homebridge - 新建文件夹
/var/lib/homebridge:sudo mkdir /var/lib/homebridge - 设置写权限:
sudo chmod -R 0777 /var/homebridge - 设置开机启动并开启服务
systemctl daemon-reload
systemctl enable homebridge
systemctl start homebridge
这里运行可能会报错,因为我们制定了配置文件(/var/lib/homebridge/config.json),但是并没有建立这个文件,在稍后会新建并设置。
安装homebridge-homeassistant
安装
npm install -g homebridge-homeassistant
新建HomeBridge的配置文件
sudo vi /var/lib/homebridge/config.json
|
|
重新启动服务
sudo systemctl restart home-assistant.service
sudo systemctl restart homebridge
如果homebridge启动失败,按照下面步骤重新操作
- 改用新的bridge.name,新的bridge.port
- 输入命令:
sudo killall homebridge关闭所有正在运行的HomeBridge服务 - 手动删除
HomeBridge文件夹下的persist文件夹
在手机中添加对应的设备。