2 个版本
0.1.1 | 2021 年 3 月 11 日 |
---|---|
0.1.0 | 2021 年 1 月 21 日 |
#4 in #ssdp
47KB
1K SLoC
yeelib_rs
yeelib_rs 是一个 Rust 库,用于轻松与 Yeelight 产品进行接口交互,包括通过组播和 SSDP 进行 LAN 灯泡发现,旨在实现 Yeelight 第三方控制协议的所有主要部分。
入门
除非另有说明,调整灯光参数的方法与方法名和行为完全与上述规范中指定的一致。
use std::time::Duration;
use std::thread::sleep;
use yeelib_rs::{YeeClient, Light, YeeError};
use yeelib_rs::fields::{PowerStatus, Transition};
fn main() -> Result<(), YeeError> {
let client = YeeClient::new()?;
let mut lights: Vec<Light> = client.find_lights(Duration::from_secs(1));
for light in lights.iter_mut() {
light.set_power(PowerStatus::On, Transition::sudden())?;
sleep(Duration::from_secs(1));
light.set_bright(50, Transition::sudden())?;
sleep(Duration::from_secs(1));
light.set_ct_abx(3500,
Transition::smooth(Duration::from_millis(400))
.unwrap())?;
sleep(Duration::from_secs(2));
light.toggle()?;
}
}
请参阅 main.rs 以获取更多示例。
目前支持的方法
set_ct_abx
set_rgb
set_hsv
set_bright
set_power
toggle
adjust_bright
adjust_ct
待办事项
- 记录每个组件
扁平化公共导出- 完成 API 实现
- 提高测试覆盖率
- 处理 API 错误
许可
根据您的选择,许可协议为以下之一
- Apache 许可证 2.0 版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交给作品的所有贡献,将按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~3–4.5MB
~88K SLoC