#light #cute #smart #controlling #hue #lan #kasa

cute_lights

A Rust 库,用于控制智能灯光

7 个版本

0.3.0 2024 年 7 月 22 日
0.2.4 2024 年 7 月 20 日
0.1.2 2024 年 7 月 15 日

#197 in 硬件支持

Download history 180/week @ 2024-07-11 335/week @ 2024-07-18 112/week @ 2024-07-25 3/week @ 2024-08-01

每月 454 次下载

GPL-3.0 或更新版

36KB
1K SLoC

Cute Lights

Cute Lights 是一个简单的库,用于通过统一的 API 控制各种类型的智能灯光。它旨在易于使用和扩展。它可以作为一个 Rust 包或 C 共享库使用。支持 dotnet 和 python 绑定。

支持的灯光

  • Philips Hue
  • Tp-Link Kasa
  • Govee(必须启用局域网控制)
  • OpenRgb

用法

use cute_lights::{discover_lights, CuteResult};
use std::thread::sleep;
use std::time::Duration;

#[tokio::main]
async fn main() -> CuteResult<()> {
    let mut lights = discover_lights().await;

    loop {
       for light in lights.iter_mut() {
            light.set_on(true).await?;
            light.set_color(255, 0, 0).await?;
            light.set_brightness(100).await?;
            sleep(Duration::from_secs(1));
        }
    }
}

配置

配置文件位于 ~/.config/cute_lights/lights.toml。它用于存储灯光的 IP 地址和 API 密钥。文件应如下所示

[kasa]
enabled = true
addresses = [
    "192.168.86.xx",
    "192.168.86.xx",
]

[govee]
enabled = true
addresses = ["192.168.86.xx"]

[hue]
enabled = true
bridge_ip = "192.168.86.xx"
username = "<Your Hue Api Key>"

语言绑定

  • Rust

依赖

~7–19MB
~275K SLoC