2 个不稳定版本
0.2.0 | 2024 年 2 月 22 日 |
---|---|
0.1.0 | 2023 年 12 月 3 日 |
#1 in #ikea
41KB
772 行
dirigera - 管理您的 IKEA 设备
此 crate 正在开发中,可能会随时更改!请勿立即使用!
[!NOTE]
我只有少数几款 IKEA 设备,所以我尝试的大部分端点都是针对灯具的。我也没有广泛使用场景,但尝试设置和配置所有可用的场景以研究 API。如果您有其他设备并希望为代码做出贡献,将非常感激!
设置
要与 Dirigera 设备通信,您需要知道其 IP 地址并获取一个令牌。我无法帮助您找到 IP 地址,但通常您可以通过查看路由器的设备列表来查看。
一旦您搞清楚这一点,运行 generate-token
二进制文件以生成一个名为 config.toml
的文件,该文件将存储设备的 IP 地址和获取的令牌。
cargo run --bin generate-token --features binary <your-ip-address>
当您拥有有效的配置文件时,您可以使用 Hub
的默认 trait 生成一个实例,该实例将使用配置的令牌调用配置的 IP 地址。
let hub = dirigera::hub::Hub::default();
注意 由于配置文件依赖于 toml 支持,因此该支持被隐藏在名为
config
的功能标志之后。要跳过使用 toml,只需使用new
构造函数并传递 IP 和令牌。
配置文件
如果您想手动创建配置文件,它看起来是这样的
ip-address = 192.168.1.101
token = "abc123..."
用法
请参阅 示例 了解如何使用此 crate。
手动测试
只需使用您获得的令牌和您最喜欢的 HTTP 客户端即可。
› http --verify=no \
"https://[ip]:8443/v1/devices" \
"Authorization: Bearer $TOKEN"
致谢
- Leggin/dirigera 提供了灵感和大部分 API 信息,包括令牌生成。
依赖项
~13–26MB
~484K SLoC