3 个版本 (稳定版)

1.1.0 2024 年 4 月 1 日
1.0.0 2024 年 4 月 1 日
0.1.0 2024 年 2 月 24 日

#655 in 网页编程

Apache-2.0

25KB
610

tado

Crates.io

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