本篇介绍homebridge多开

首先我们来了解一下homebridge的启动参数(注定大小写,除了-h其它均为大写)

Options:

-h, --help                      output usage information
-V, --version                   output the version number
-P, --plugin-path [path]        look for plugins installed at [path] as well as the default locations ([path] can also point to a single plugin)
-U, --user-storage-path [path]  look for homebridge user files at [path] instead of the default location (~/.homebridge)
-D, --debug                     turn on debug level logging
-I, --insecure                  allow unauthenticated requests (for easier hacking)
参数 使用
-h 帮助信息 打印帮助信息 homebridge -h
-V 版本 显示当前版本 homebridge -V
-P 插件目录 自定义插件目录 homebridge -P /root/homebridge/bridge-miio/node_modules
-U 启动位置 自定义启动位置 homebridge -U /root/homebridge/bridge-miio
-D 调试模式 输出调试信息 homebridge -D
-I 解除安全模式 允许非授权请求 homebridge -I

示例: homebridge -D -U /root/homebridge/bridge-miio -P /root/homebridge/bridge-miio/node_modules

-D 开启debug模式
-U 自定义启动目录/root/homebridge/bridge-miio
-P 自定义插件目录/root/homebridge/bridge-miio/node_modules

一、多开注意事项

  • 插件应安装在各自的插件目录,不安装到默认目录
  • /usr/lib/node_modules/目录下不应该有homebridge的插件,不然启动的时候所有的homebridge都会加载此插件(某些插件加载了也不会影响运行,但有一些加载但没有配置就会出错)

二、homebridge多开目录结构

每个目录下都会有config.json文件及node_modules文件夹(npm install时会自动生成)
/root/homebridge
├── bridge-aqara
│   ├── config.json
│   └── node_modules
├── bridge-broadlinkmp1
│   ├── config.json
│   └── node_modules
├── bridge-broadlinkrm-mini
│   ├── config.json
│   └── node_modules
├── bridge-camera
│   ├── config.json
│   └── node_modules
├── bridge-miio
│   ├── config.json
│   └── node_modules

三、如何安装插件(多开目录为/root/homebridge/)

安装miio依赖及相关插件

  1. cd /root/homebridge/bridge-miio/
  2. npm install miio
  3. npm install homebridge-re-yeelight 安装aqara插件
  4. cd /root/homebridge/bridge-aqara/
  5. npm install homebridge-mi-aqara

四、设置为自启动项(详情)

示例:

#!/bin/sh
### BEGIN INIT INFO
# Provides: bridge-miio
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

dir="/root/homebridge/bridge-miio"
cmd="DEBUG=* homebridge -D -U /root/homebridge/bridge-miio -P /root/homebridge/bridge-miio/node_modules"
user="root"

需要修改的内容:

------------
Provides:名字是唯一的  
Provides: bridge-miio  
------------
dir="启动目录"  
dir="/root/homebridge/bridge-miio"  
------------
cmd="DEBUG=* homebridge -D -U /root/homebridge/启动目录 -P /root/homebridge/插件目录"  
cmd="DEBUG=* homebridge -D -U /root/homebridge/bridge-miio -P /root/homebridge/bridge-miio/node_modules"  
------------