3 个版本 (稳定版)
1.1.0 | 2024 年 4 月 1 日 |
---|---|
1.0.0 | 2024 年 4 月 1 日 |
0.1.0 | 2024 年 2 月 24 日 |
#655 in 网页编程
25KB
610 行
tado
tado
crate 提供了在 Rust 中使用(非官方)Tado API 的绑定和方法。
- 基于 reqwest 进行 HTTP 请求
- 使用 tokio 进行异步操作
- 实现 oauth2 处理认证
- 支持 chrono 类型,用于管理日期和时间区域
- 获取/设置方法不需要可变性
- 专为并发环境设计
- 维护一个小的依赖树
我们旨在提供网络上最全面的绑定,结合了来自各种开源贡献者的类型和请求。特别感谢所有为此努力做出贡献的人。
示例
基本用法
use tado::{Auth, Client, Configuration};
#[tokio::main]
async fn main() {
let client = Client::new(Configuration {
auth: Auth {
username: "x".to_string(),
password: "x".to_string(),
},
});
// Try authentication and fetch current user
let _ = client.login().await;
// Fetch basic entities
let me = client.get_me().await.unwrap();
let home = client.get_home().await.unwrap();
let zones = client.get_zones().await.unwrap();
// Show HI on device
let _ = client
.set_identify(&zones[0].devices[0].serial_no)
.await
.unwrap();
}
协作
虽然我们努力提供最新的绑定,但我们能提供的范围受我们拥有的硬件限制。因此,某些类型可能在 1.x 版本中不完整或完全缺失。
我们欢迎社区贡献。如果您发现改进的地方或希望提出更改,请随时打开拉取请求(PR)。您的贡献将非常受重视。
许可证
本项目采用 Apache 2.0 许可证。
特别感谢
依赖项
~8–21MB
~317K SLoC