UniFi Protect 开源项目安装与使用教程
1. 项目目录结构及介绍
unifiprotect/
├── .github/
│ └── workflows/
├── custom_components/
│ └── unifiprotect/
│ ├── __init__.py
│ ├── binary_sensor.py
│ ├── camera.py
│ ├── config_flow.py
│ ├── const.py
│ ├── device_tracker.py
│ ├── entity.py
│ ├── light.py
│ ├── manifest.json
│ ├── sensor.py
│ ├── switch.py
│ └── unifi_protect_server.py
├── tests/
│ ├── __init__.py
│ ├── test_camera.py
│ ├── test_config_flow.py
│ ├── test_device_tracker.py
│ ├── test_light.py
│ ├── test_sensor.py
│ └── test_switch.py
├── .gitignore
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
└── requirements.txt
目录结构介绍
- .github/workflows/: 包含GitHub Actions的工作流配置文件,用于自动化测试和部署。
- custom_components/unifiprotect/: 核心代码目录,包含所有与UniFi Protect集成的组件。
- init.py: 初始化文件,通常用于模块的初始化。
- binary_sensor.py: 二进制传感器组件。
- camera.py: 摄像头组件。
- config_flow.py: 配置流组件,用于配置向导。
- const.py: 常量定义文件。
- device_tracker.py: 设备追踪组件。
- entity.py: 实体基类。
- light.py: 灯光组件。
- manifest.json: 组件的元数据文件。
- sensor.py: 传感器组件。
- switch.py: 开关组件。
- unifi_protect_server.py: UniFi Protect服务器的核心逻辑。
- tests/: 测试代码目录,包含所有单元测试。
- .gitignore: Git忽略文件配置。
- CODE_OF_CONDUCT.md: 行为准则文件。
- LICENSE: 开源许可证文件。
- README.md: 项目说明文件。
- requirements.txt: 项目依赖文件。
2. 项目启动文件介绍
项目的启动文件主要位于 custom_components/unifiprotect/
目录下,其中 __init__.py
是项目的入口文件。该文件负责初始化UniFi Protect组件,并加载其他相关模块。
主要启动逻辑
- init.py: 初始化UniFi Protect组件,加载所有相关模块,并注册到Home Assistant中。
3. 项目配置文件介绍
项目的配置文件主要通过 config_flow.py
进行管理。该文件定义了配置向导的流程,用户可以通过Home Assistant的UI界面进行配置。
配置文件内容
- config_flow.py: 定义了配置向导的步骤,包括输入UniFi Protect服务器的地址、端口、用户名和密码等信息。
- manifest.json: 包含了组件的元数据,如版本号、依赖项等。
配置步骤
- 在Home Assistant的配置界面中,选择“集成”。
- 点击“添加集成”,搜索并选择“UniFi Protect”。
- 按照提示输入UniFi Protect服务器的相关信息,完成配置。
通过以上步骤,您可以成功配置并启动UniFi Protect组件,实现与Home Assistant的集成。