2 个版本

0.1.2 2019年9月7日
0.1.0 2019年9月6日

#186#cloud

MIT 许可证

15KB
425

Nature Remo for Rust

Crates.io Docs.rs Travis (.com)

Rust 的 Nature Remo API 客户端。

警告:此项目处于高度开发状态,不建议用于生产环境。

安装

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, &params);
  println!("Aircon settings updated: mode(warm), temperature(26)");
}

依赖项

~19MB
~427K SLoC