Crates.io | remo |
lib.rs | remo |
version | 0.1.2 |
source | src |
created_at | 2019-09-06 16:14:16.254419 |
updated_at | 2019-09-07 04:46:29.057546 |
description | Nature Remo API client |
homepage | https://github.com/uetchy/nature-remo-rs |
repository | https://github.com/uetchy/nature-remo-rs |
max_upload_size | |
id | 162819 |
size | 16,340 |
Nature Remo API client for Rust.
WARNING: This project is in heavily development state and not intended for production use.
cargo add remo
extern crate remo;
use remo::cloud;
use std::env;
fn main() {
let token = env::var("NATURE_REMO_CLOUD_API_TOKEN");
let client = cloud::Client::new(token);
// get user's nickname
let user = client.get_user().unwrap();
println!("Name: {}", user.nickname);
// get room temperature
let sensor_value = client.get_sensor_value().unwrap();
println!("Temperature: {}", sensor_value.temperature);
// update aircon settings
let appliances = client.get_appliances().unwrap();
let aircon = appliances.iter().find(|&app| app.r#type == "AC").unwrap();
let mut params = cloud::RequestBody::new();
params.insert("operation_mode", "warm");
params.insert("temperature", "26");
client.update_aircon_settings(&aircon.id, ¶ms);
println!("Aircon settings updated: mode(warm), temperature(26)");
}