Dasshio 项目教程
1. 项目的目录结构及介绍
Dasshio 项目的目录结构如下:
dasshio/
├── ci
│ └── dasshio
├── dockerignore
├── gitignore
├── travis.yml
├── LICENSE
├── README.md
├── repository.yaml
└── dasshio.py
ci/dasshio
: 包含持续集成相关的配置文件。dockerignore
: Docker 构建时忽略的文件和目录。gitignore
: Git 版本控制时忽略的文件和目录。travis.yml
: Travis CI 的配置文件。LICENSE
: 项目的许可证文件。README.md
: 项目的说明文档。repository.yaml
: 仓库的配置文件。dasshio.py
: 项目的启动文件。
2. 项目的启动文件介绍
dasshio.py
是 Dasshio 项目的启动文件。它是一个 Python 脚本,用于扫描连接到网络的 WiFi 设备(使用 ARP 和 UDP)。如果设备匹配任何选项中的 MAC 地址,它将执行 HTTP POST 请求到 Home Assistant API。
3. 项目的配置文件介绍
Dasshio 项目的配置文件主要包括 repository.yaml
和 options.json
。
repository.yaml
repository.yaml
文件定义了项目的仓库配置,包括项目的名称、版本、依赖等信息。
options.json
options.json
文件定义了 Dasshio 的运行选项,包括服务器地址、超时时间、按钮配置等。示例如下:
{
"server": "http://localhost:8123",
"timeout": 30,
"buttons": [
{
"name": "Duracell",
"address": "xx:xx:xx:xx:xx:xx",
"url": "http://localhost:8123/api/services/switch/toggle",
"headers": "{\"x-ha-access\": \"ha_password\"}",
"body": "{\"entity_id\":\"switch.socket_power\"}",
"domain": "switch"
}
]
}
server
: Home Assistant 服务器的地址。timeout
: 请求超时时间。buttons
: 按钮配置,包括按钮名称、MAC 地址、请求 URL、请求头、请求体和域。
通过以上配置,Dasshio 可以实现与 Home Assistant 的无缝集成,并支持自定义的 HTTP POST 请求。