iPad 中安装 HomeBridge,支持非 HomeKit 设备接入家庭中枢
不想使用树莓派,使用一台 iPad 4 作为家庭中枢,一台越狱 iPad mini 3 上装HomeBridge ,现有美的、萤石、小米、海康威视、OPPLE 等设备能否联接,看看能什么结果。
安装过程
HomeBridge 是基于 NodeJS,模拟 iOS HomeKit API,作为桥来连接 iOS 设备,使得本不支持 HomeKit 的设备能够接入。HomeBridge 是前苹果员工的作品。
安装环境
Node.js 版本:v12.19
NPM 版本:6.14.8
Homebridge 版本:1.1.6
iPad mini 3 系统:iOS 12.4.8
越狱:checkra1n
Python:3.7
安装启动
- 通过 Cydia 安装 Node.js;
- ssh root@(ipad mini3 ip),连接 iPad mini 3;
- 升级 NPM:
npm install -g npm
- 安装 HomeBridge
npm install -g — unsafe-perm homebridge
1)安装目录:/usr/lib/node_modules/homebridge/bin/homebridge
;
2)不要加 Config-ui-x,无法安装,所以没有配置界面。
- 配置添加
/var/root/.homebridge/config.json
文件; - 安装设备插件;
- 命令行启动 HomeBridge,在 root 用户下输入:
homebridge
- 在 iDevice 设备家庭 App 中添加并扫描 HomeBridge 启动日志的 QR 码,并完成添加桥及房间的过程,设备稍等会出现;
- 要结束 HomeBridge过程,请输入:
killall node
config.json 样例
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"manufacturer": "homebridge.io",
"model": "homebridge",
"port": 51826,
"pin": "031-45-154"
},
"description": "这是带有一个示例配件和一个示例平台的示例配置文件。您可以使用它作为模板来创建自己的配置文件,其中包含您实际拥有的设备.",
"ports": {
"start": 52100,
"end": 52150,
"comment": 本部分用于控制单独的附件(如摄像机或电视机)应绑定到的端口范围."
},
"accessories": [
{
"accessory": "WeMo",
"name": "Coffee Maker"
}
],"platforms": [
{
"platform" : "PhilipsHue",
"name" : "Hue"
}
]
}
说明:
- 只能有一个 accessories 和 platforms 。在每个部分中,可以具有不同的accessory 和 platform(就像在示例文件中一样);
- 请注意 逗号 的使用,在最后的配件收尾后是没有 逗号的,否则会引起错误。
实测安装
插件是通过 NPM 发布并用关键字标记的 Node.js 模块 homebridge-plugin
。它们必须具有带前缀的名称homebridge-
,例如 homebridge-midea。
HomeBridge 是桥用于连通 HomeKit,插件是一个平台,配件是单独的设备,例如智能开关或灯。平台的作用容纳一组设备,例如装满智能灯泡的房屋。
安装插件与安装 Homebridge 方式相同,以 root 权限安装。您可以插件网站homebridge-plugin 上搜索更多可用的插件。
实测安装,先测试最简单的,OPPLE 灯。
安装插件
npm install -g homebridge-opple
config.json 配置
每个配件或插件都是有自己配置的,根据插件说明来配置。
"platforms": [{
"platform": "opple",
"enableAll": false,
"devices": {
"xx:xx:xx:xx:xx:xx": {
"name": "Bedroom Light",
"address": "xxx.xxx.xxx.xxx"
},
"xx:xx:xx:xx:xx:xy": {
"name": "Living Light",
"disabled": true
}
}
}]
opple 配置项含义:
enableAll:(可选)默认为 false,当置为 true 时搜索局域网中所有通电的 opple 灯,包含未在 devices 中列出的设备。
devices: (可选)定义设备相关信息
“xx:xx:xx:xx:xx:xx”:灯的 mac 地址
name:(可选)灯的显示名称
address:(可选)指定灯的 ip,若不填写此项,需保证启动 homebridge 时灯处于通电状态,否则该灯将不会出现在设备列表中。
disabled:(可选)默认 false,当置为 true 时该灯将不会出现在设备列表中。
实际配置文件
{
"bridge": {
"name": "Homebridge",
"username": "CC:25:3D:E3:CE:40",
"manufacturer": "homebridge.io",
"model": "homebridge",
"port": 51826,
"pin": "031-45-154"
},
"platforms":[{
"platform": "opple",
"enableAll": true,
"devices": {
"b0:d5:9d:dd:3f:8a": {
"name": "Bedroom Light",
"address": "192.168.5.82"
},
"b0:d5:9d:ae:4f:db": {
"name": "Living Light",
"address": "192.168.5.67"
}
}
}]
}
启动 HomeBridge
在 iDevice 设备中添加配件,并扫描 Homebridge 日志中显示的 QR 码,根据提示安装桥接与房间。安装好后稍等插件会自动出现。
测试成功。
问题及解决
使用过程常需要大量的反复试验。如果遇到问题,可以重置 HomeBridge / HomeKit 并重新启动。也可以查看日志了解错误情况。
重置及重启
- 从家庭应用程序删除 HomeBridge 平台及配件;
- 从家庭中枢中 (HomeKit) 删除/删除任何 HomeBridge平台/配件;
- 在 iPad 中删除所有文件:
/var/root/.homebridge/persist
和/var/root/.homebridge/accessories
; - 检查 config.json 格式是否正确?可使用在线 JSON 验证程序(如 JSON Lint)进行验证;
- 退出 / 重新启动 Homebridge;
检查日志中是否有错误
Homebridge 一般会记录到两个地方:
- /var/lib/homebridge/homebridge.log
- /var/log/homebridge.err
假设您正在运行 homebridge,请从该服务器运行以下命令之一以查看正在实时记录的内容。
tail -f /var/lib/homebridge/homebridge.log
tail -f /var/log/homebridge.err
说明:在 Homebridge v1.1.0 下不再自动创建 homebridge.err
其它问题
另外,在装 OPPLE 配件中还有些其它问题:
- 不能调整色温及亮度,只能开关,不然会出现错误;
- 可同时关闭两灯,但不能同时打开两灯;
- 长时间不理会需要重新刷新,时间稍长;
- 空调、摄像机等安装复杂,后续再测试。