A synchronous + asynchronous library for communicating with the LIFX-API.
Add the following line to your cargo.toml:
lifx-rs = "0.1.2"
Example: ```rust extern crate lifx_rs as lifx;
fn main() {
let key = "xxx".to_string();
let mut off_state = lifx::State::new();
off_state.power = Some(format!("off"));
// Turn off all lights
lifx::Light::set_state_by_selector(key.clone(), format!("all"), off_state);
let all_lights = lifx::Light::list_all(key.clone());
match all_lights {
Ok(lights) => {
println!("{:?}",lights.clone());
let mut state = lifx::State::new();
state.power = Some(format!("on"));
state.brightness = Some(1.0);
for light in lights {
let results = light.set_state(key.clone(), state.clone());
println!("{:?}",results);
}
},
Err(e) => println!("{}",e)
}
} ```
Async Example: ```rust extern crate lifx_rs as lifx;
async fn main() {
let key = "xxx".to_string();
let mut off_state = lifx::State::new();
off_state.power = Some(format!("off"));
// Turn off all lights
lifx::Light::set_state_by_selector(key.clone(), format!("all"), off_state);
} ```
Released under Apache 2.0.