上期教程讲述了macOS下如何安装Hassbian, (上期教程:https://bbs.hassbian.com/thread-780-1-1.html )
这期就讲怎么安装Homebridge,简称HB。
然后就可以在IOS设备上通过Home Kit来使用Siri调戏你的智能家居了。
首先,
得确保树莓派通电并且成功安装了Hassbian,
然后打开macOS的终端,运行命令
输入完你的密码后,我们就需要搭载下HB的环境才能安装。
sudo apt-get -y install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/lib/node_modules/homebridge/
sudo npm install --unsafe-perm bignum
cd /usr/lib/node_modules/hap-nodejs/node_modules/mdns
sudo node-gyp BUILDTYPE=Release rebuild
复制代码
至此,HB就已经安装完成了。但是这样装好的HB是没有任何设备的,
我们得安装homebridge-homeassistant来联动HA与HB之间的设备联系。
运行命令来安装 homebridge-homeassistant
cd
sudo npm install -g homebridge-homeassistant
复制代码
安装完成后,尝试运行一次Homebridge,
你就可以打开你的手机开启家庭APP来添加你的配件。
你会发现有一个Homebridge的配件。
当然,是完全没有任何设备的,(如果没出现,请检查报错以及核查下HB安装命令是否正确)
control+c退出HB运行。然后我们就开始配置HB的配置文件。
cd /home/pi/.homebridge
复制代码
建立一个config.json文件
sudo nano config.json
复制代码
然后复制粘贴代码。conctrl+x退出,y确认保存,回车保存。
{
"bridge": {
"name": "Homebridge",
"username": "树莓派的MAC地址",
"port": 51826,
"pin": "XXX-XX-XXX(HB连接密码,仅为数字且格式不能改变)"
},
"platforms": [
{
"platform": "HomeAssistant",
"name": "HomeAssistant",
"host": "http://IP地址:8123",
"password": "HA密码,如果没有请留空",
"supported_types": ["binary_sensor", "climate", "cover", "device_tracker", "fan", "group", "input_boolean", "light", "lock", "media_player", "remote", "scene", "sensor", "switch"],
"logging": true,
"verify_ssl": true
}
]
}
复制代码
配置好配置文件后,运行HB,重复添加配件步骤就会发现你HA的设备也能在HB上控制了,
但是,HB不属于系统服务,并不会随开机自启,接下来我们只要把HB添加开机自启就可以了。
运行命令,
cd
sudo useradd --system homebridge
sudo mkdir /var/homebridge
sudo cp ~/.homebridge/config.json /var/homebridge/
sudo cp -r ~/.homebridge/persist /var/homebridge
sudo chmod -R 0777 /var/homebridge
cd /etc/default
sudo nano homebridge
复制代码
然后复制粘贴代码。conctrl+x退出,y确认保存,回车保存。
# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
复制代码
运行命令,
cd /etc/systemd/system
sudo nano homebridge.service
复制代码
然后复制粘贴代码。conctrl+x退出,y确认保存,回车保存。
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
复制代码
运行命令,把HB添加进开机自启。
cd
sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo systemctl start homebridge
复制代码
然后运行命令来重启树莓派,HB也会跟着一起启动了。
特别说明,HA和HB是两种不同的智能家具控制方式,
因此有些设备在HA可以接入,但在HB却不能接入。
有些则相反,当然也有很多可以同时接入。
下面介绍怎么安装HB的插件来支持某些特殊的设备。
首先打开 https://www.npmjs.com/来搜索你需要的插件名称
运行命令来安装HB插件
sudo npm install -g XXXXXXXX(插件名称)
复制代码
然后在HB配置文件下添加对应代码即可把设备接入HB了。
下面举个例子,小米空调伴侣在HA上是无法接入的,但在HB上则可以接入。
首先运行命令来安装小米空调伴侣的HB插件。
sudo npm install -g homebridge-mi-ac-partner miio
复制代码
然后把以下代码复制粘贴到HB的配置文件中,
"accessories": [
{
"accessory": "MiAcPartner",
"token": "35ece24effdf25200936f0af157d62ce",
"name": "Ac Partner",
"brand": "media",
"preset_no": "1"
}
]
复制代码
保存重启即可。
这里顺便推荐一个网站,用于检查配置文件的格式是否正确。
https://jsonlint.com
好了,至此教程结束。因为楼主很少用HB,接下来的教程就主要以HA为主,主用HB的朋友可以到HB讨论区交流。