SmartHomeNG 项目启动与配置教程
1. 项目的目录结构及介绍
SmartHomeNG 是一个基于 Python 的开源家居自动化平台。以下是项目的主要目录结构及其介绍:
bin
: 包含项目的主 Python 文件。dev
: 包含创建自定义插件和模块的示例文件。doc
: 包含用户和开发者文档的源文件。etc
: 包含项目的五个基本配置文件:smarthome.yaml
、module.yaml
、plugin.yaml
、logic.yaml
和logging.yaml
。这些文件需要根据个人需求进行编辑。items
: 存放用户自定义的物品配置文件。lib
: 包含一些核心 Python 模块,通常不需要修改。logics
: 存放自定义逻辑文件,即 Python 脚本。modules
: 包含所有可加载的核心模块,每个模块一个子目录。plugins
: 包含所有插件,每个插件一个子目录。插件需要从单独的仓库smarthomeNG/plugins
安装。scenes
: 存储场景。tests
: 存放自动化测试的代码。tools
: 包含一些帮助创建初始配置的工具。var
: 包含所有由 SmartHomeNG 修改的内容,例如日志文件、缓存、SQLite 数据库等。
2. 项目的启动文件介绍
项目的启动文件位于 bin
目录中,通常是 smarthome.py
。这个文件是运行 SmartHomeNG 的主入口点。运行此文件将启动整个家居自动化系统。
3. 项目的配置文件介绍
SmartHomeNG 的配置文件位于 etc
目录中,以下是主要配置文件的介绍:
-
smarthome.yaml
: 在安装过程中需要创建此文件,指定地理位置等信息。例如:lat: '52.52' lon: '13.40' elev: 36 tz: Europe/Berlin
-
module.yaml
: 在安装过程中需要创建此文件,配置模块及其参数。例如:http: module_name: http starturl: admin
-
plugin.yaml
: 在安装过程中需要创建此文件,配置插件及其参数。例如:database: plugin_name: database driver: sqlite3 connect: - database:./var/db/smarthomeng.db - check_same_thread:0
-
logic.yaml
: 在首次启动 SmartHomeNG 时,此文件从etc/logic.yaml.default
创建。在这里指定逻辑文件及其运行时间。例如:AtSunset: filename: sunset.py crontab: sunset
-
logging.yaml
: 配置日志记录的详细程度和位置。
以上配置文件是 SmartHomeNG 正常运行所必需的,根据实际情况和需求进行适当配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考