decode-config 项目使用教程
1. 项目的目录结构及介绍
decode-config/
├── build-executables/
├── media/
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── decode-config.py
├── requirements.txt
└── setup.py
- build-executables/: 存放构建可执行文件的相关脚本和配置。
- media/: 存放项目相关的媒体文件,如图片等。
- .gitignore: Git 忽略文件配置,指定哪些文件或目录不需要被 Git 跟踪。
- LICENSE: 项目的开源许可证文件,本项目使用的是 GPL-3.0 许可证。
- Makefile: 用于自动化构建和测试的 Makefile 文件。
- README.md: 项目的介绍文档,通常包含项目的概述、安装和使用说明。
- decode-config.py: 项目的启动文件,负责解析和处理配置数据。
- requirements.txt: 项目依赖的 Python 包列表,用于 pip 安装。
- setup.py: Python 项目的安装脚本,用于打包和分发项目。
2. 项目的启动文件介绍
decode-config.py 是项目的启动文件,负责解析和处理配置数据。该文件是一个 Python 脚本,可以通过命令行参数来指定不同的操作模式和配置选项。
使用示例
python decode-config.py --source http://admin:myPaszxwo@tasmota-4281:8000
主要参数
-s, --source
: 指定配置数据的来源,可以是文件、主机、URL 或 MQTT 服务器。-p, --password
: 指定访问配置数据所需的密码。--fulltopic
: 指定 MQTT 的完整主题。--cafile
: 指定 CA 文件路径。--certfile
: 指定证书文件路径。--keyfile
: 指定密钥文件路径。--insecure
: 允许不安全的连接。--keepalive
: 设置 MQTT 连接的保持活动时间。-i, --restorefile
: 指定恢复文件的路径。-o, --backupfile
: 指定备份文件的路径。-t, --type
: 指定输出格式,可以是json
、bin
或dmp
。-E, --json-compact
: 紧凑的 JSON 输出格式。-e, --json-show-pw
: 在 JSON 输出中显示密码。--json-indent
: 设置 JSON 输出的缩进。--cmnd-indent
: 设置命令输出的缩进。--cmnd-groups
: 按组输出命令。--cmnd-sort
: 对命令进行排序。--cmnd-use-rule-concat
: 使用规则连接命令。
3. 项目的配置文件介绍
项目的主要配置文件是 decode-config.py
本身,它通过命令行参数来接收配置选项。此外,项目还依赖于 requirements.txt
文件来管理 Python 包的依赖关系。
requirements.txt
requirements.txt
文件列出了项目运行所需的 Python 包及其版本。可以通过以下命令安装这些依赖:
pip install -r requirements.txt
配置示例
假设你需要从 MQTT 服务器获取配置数据,并将其保存为 JSON 格式,可以使用以下命令:
python decode-config.py --source mqtt://mqtt.example.com --fulltopic tasmota/config --backupfile backup.json
这个命令将从 mqtt.example.com
的 tasmota/config
主题获取配置数据,并将其保存为 backup.json
文件。
配置文件宏
在备份文件名中,可以使用以下宏来动态替换文件名中的占位符:
@v
: 替换为 Tasmota 版本号。@d
: 替换为设备名称。@f
: 替换为第一个 Friendlyname1。@h
: 替换为配置数据中的静态主机名。@H
: 替换为设备的实时主机名。
例如:
python decode-config.py --backupfile backup_@v_@d.json
这个命令将生成一个文件名为 backup_<Tasmota版本>_<设备名称>.json
的备份文件。