rscp

Crate Docs License Coverage

This lib is a Rust based E3/DC RSCP connetor.

The response bit in the Tag field is ignored due the fact there is no known need to take care on this.

Ths lib is in early stage.

Usage

```rust use rscp::{tags, GetItem, Frame, Item};

let mut c = rscp::Client::new("RSCPKEY", "RSCPUSER".tostring(), "RSCPPASSWORD".tostring()); match c.connect("energy.storage.local", None) { Ok() => (), Err(err) => { panic!("Unable to connect: {:?}", err); } }

let mut infoframe = Frame::new(); infoframe.pushitem(Item { tag: tags::INFO::SERIALNUMBER.into(), data: None } ); infoframe.pushitem(Item { tag: tags::INFO::MACADDRESS.into(), data: None } ); infoframe.pushitem(Item { tag: tags::INFO::SWRELEASE.into(), data: None } );

match c.sendreceiveframe(&infoframe) { Ok(resultframe) => { println!("{}", resultframe.getitemdata::(tags::INFO::SERIALNUMBER.into()).unwrap());
}, Err(err) => { warn!("Unable send: {:?}", err); } }

c.disconnect().unwrap(); ```