dss

Crates.iodss
lib.rsdss
version0.1.2
sourcesrc
created_at2020-01-11 13:30:50.468878
updated_at2020-07-14 16:27:04.960509
descriptionRust native DigitalStrom Server API
homepagehttps://github.com/Roba1993/DSS
repositoryhttps://github.com/Roba1993/DSS
max_upload_size
id197477
size98,298
Robert Schütte (Roba1993)

documentation

https://docs.rs/dss

README

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.

Commit count: 30

cargo fmt