2 releases

0.1.1 Aug 30, 2020
0.1.0 Aug 28, 2020

#12 in #modem

MIT license

58KB
1.5K SLoC

License Crates.io Doc.rs

plm

plm is a crate for interacting with INSTEON® home automation devices via a PowerLinc Modem. Although most of the public API is async, plm-rs is intended to be runtime-agnostic to allow maximum flexibility for apps.

There is a command line app included as a demo. Install it with:

cargo install plm

Turn on the device with address 22.33.44 via the modem on /dev/ttyUSB0

plm -d /dev/ttyUSB0 device on 22.33.44

Copyright © 2020 James Willcox snorp@snorp.net


lib.rs:

A crate for interacting with INSTEON™ home automation devices via an attached PowerLinc Modem.

Example

// Use the modem attached to /dev/ttyUSB0 to turn on the switch
// with address 11.22.33.
let mut modem = Modem::from_path("/dev/ttyUSB0")?;
modem.send_message((Address::from_str("11.22.33")?, Command::On).into()).await?;

Dependencies

~18–31MB
~445K SLoC