Homebridge deCONZ 插件使用教程
1. 项目目录结构及介绍
homebridge-deconz/
├── cli/
│ ├── deconz.js
│ ├── otau.js
│ └── ui.js
├── homebridge-ui/
│ ├── index.js
│ └── ...
├── lib/
│ ├── deconz.js
│ ├── gateway.js
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
├── config.schema.json
├── deconz.png
├── index.js
├── jsdoc.json
├── package-lock.json
├── package.json
└── ...
目录结构说明
- cli/: 包含命令行工具的脚本文件,如
deconz.js
,otau.js
,ui.js
。 - homebridge-ui/: 包含与 Homebridge UI 相关的文件。
- lib/: 包含项目的主要逻辑代码,如
deconz.js
,gateway.js
等。 - .gitignore: Git 忽略文件列表。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- config.schema.json: 配置文件的 JSON Schema。
- deconz.png: 项目图标文件。
- index.js: 项目的入口文件。
- jsdoc.json: JSDoc 配置文件。
- package-lock.json: 锁定依赖版本的文件。
- package.json: 项目的依赖和元数据文件。
2. 项目启动文件介绍
index.js
index.js
是 Homebridge deCONZ 插件的入口文件。它负责初始化插件并将其注册到 Homebridge 中。以下是 index.js
的主要功能:
- 初始化插件: 通过
HomebridgeAPI
注册插件。 - 配置解析: 解析
config.json
中的配置信息。 - 设备暴露: 根据配置信息,将 deCONZ 网关中的设备暴露到 HomeKit 中。
启动流程
- 加载依赖: 加载所需的 Node.js 模块。
- 注册插件: 使用
HomebridgeAPI
注册插件。 - 配置解析: 解析
config.json
中的配置信息。 - 设备暴露: 根据配置信息,将 deCONZ 网关中的设备暴露到 HomeKit 中。
3. 项目的配置文件介绍
config.schema.json
config.schema.json
是 Homebridge deCONZ 插件的配置文件的 JSON Schema。它定义了配置文件的结构和字段。以下是 config.schema.json
的主要内容:
{
"type": "object",
"properties": {
"platform": {
"type": "string",
"default": "HomebridgeDeconz",
"description": "Homebridge deCONZ 插件的平台名称"
},
"host": {
"type": "string",
"description": "deCONZ 网关的主机地址"
},
"port": {
"type": "integer",
"description": "deCONZ 网关的端口号"
},
"apiKey": {
"type": "string",
"description": "deCONZ 网关的 API 密钥"
},
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "设备的唯一标识符"
},
"name": {
"type": "string",
"description": "设备的显示名称"
}
}
},
"description": "要暴露的设备列表"
}
},
"required": ["platform", "host", "port", "apiKey"]
}
配置文件示例
{
"platform": "HomebridgeDeconz",
"host": "http://192.168.1.100",
"port": 4530,
"apiKey": "AABBCCDDEEFF",
"devices": [
{
"id": "1234567890",
"name": "Living Room Light"
},
{
"id": "0987654321",
"name": "Bedroom Light"
}
]
}
配置文件说明
- platform: 插件的平台名称,固定为
HomebridgeDeconz
。 - host: deCONZ 网关的主机地址。
- port: deCONZ 网关的端口号。
- apiKey: deCONZ 网关的 API 密钥。
- devices: 要暴露的设备列表,每个设备包含
id
和name
字段。
通过以上配置文件,Homebridge deCONZ 插件可以正确地连接到 deCONZ 网关,并将指定的设备暴露到 HomeKit 中。