3 releases

0.1.2 Jul 14, 2020
0.1.1 Jan 11, 2020
0.1.0 Jan 11, 2020

#2641 in Command line utilities

27 downloads per month

MIT license

60KB
1K SLoC

SmartSTROM Logo

crates.io docs.rs license: MIT

digitalSTROM Server Api in Rust ⚡

This repository provides a digitalStrom Server API as well as a Command Line Interface to control your installation directly.

Library goals

  • Small footporint library
  • Easy to use API for digitalStrom Server
  • Easy to use CLI for controlling the digitalStrom server
  • Open to contribute for everyone

Usage of the API

Add dss as a dependency in Cargo.toml:

[dependencies]
dss = "0.1.2"
extern crate dss;

fn main() {
    // Connect to the digital strom server
    let  appt = dss::Appartement::connect("url", "user", "password").unwrap();

    // Get an overview of the complete appartment
    println!("{:#?}\n", appt.get_zones().unwrap().iter().find(|z| z.id == zone));

    // turn the light in the zone 2 and group 0 on
    appt.set_value(2, Some(0), dss::Value::Light(1.0)).unwrap();
}

Usage of the CLI

  1. Install the CLI in your terminal by cargo install dss.
  2. Run the CLI
    • Run the CLI by typing dss and follow the login instructions
    • Run the CLI by typing dss server user password to login automatically
  3. Type zones to get an overview of your apprtment
  4. Type office light on to turn the light on in the office zone

Other Commands are:

office light off
office light 0.0
light 1.0 office
light on 2

office schadow open open
shadow 0.5 0.5 office
shadow 0.5 close 2

Small Special for the german folks:

büro licht an
büro licht 0.0
licht 1.0 büro
licht an 2

büro schatten auf auf
schatten 0.5 0.5 büro
schatten 0.5 zu 2

Contributing

Please contribute!

The goal is to make this library as usefull as possible :)

If you need any kind of help, open an issue or write me an mail. Pull requests are welcome!


License

Copyright © 2020 Robert Schütte

Distributed under the MIT License.

Dependencies

~20MB
~434K SLoC