[][src]Crate plm

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?;

Structs

Address

An Address Represents an INSTEON device address. These are 3 bytes and are commonly represented as hex numbers separated by '.', e.g. '2b.a1.11'.

AllLinkComplete

This represents the result of a completed link.

AllLinkFlags

Represents the link flags.

Message

A Message can be sent to a device with a given Address.

MessageFlags

Represents details about a Message.

Modem

A Modem is a connection to an INSTEON Modem. It can be used to send Messages and manage device links (e.g. Modem::link_device).

ModemInfo

Information about the attached modem.

Enums

AllLinkMode

Represents the various link modes available.

Command

A Command (two, actually) is sent in a Message. This type has some commonly used ones, but you can send arbitrary values via Command::Other.

Error

Errors returned from various operations.

Constants

DEFAULT_TIMEOUT_DURATION

The default duration to wait for Message replies. 10 seconds.