Crate echonet

source ·
Expand description

echonet (uecho-rs)

The uecho-rs is a portable and cross-platform development framework for creating controller applications and devices of ECHONET-Lite for Rust developers. ECHONET-Lite is an open standard specification for IoT devices in Japan, it specifies more than 100 IoT devices such as crime prevention sensors, air conditioners and refrigerators.

What is uEcho ?

To implement IoT controllers or devices of ECHONET-Lite, the developer had to understand and implement the communication middleware specification such as the message format and base sequences.

The uecho-rs provides the following major components to control ECHONET-Lite devices and create the standard specification devices.

The uecho-rs handles all ECHONET-Lite requests such as read, write and notification requests automatically. Therefore, Rust developers can implement the standard device and controller applications using the uecho-rs easily by simply implementing the request message validators.

Getting Started

The examples are available for ECHONET-Lite controller and device implementations using the uecho-rs, check out the examples folder in GitHub.

Table of Contents

Getting Help

License

This project is licensed under the Apache-2.0 License.

Modules

  • Logger function module.
  • messaging packet encoder and decoder module.
  • Messaging transport manager module (Internal).
  • Utility function module.

Structs

  • Controller represents an ECHONET-Lite controller node to communicate other ECHONET-Lite nodes.
  • Device represents an ECHONET-Lite device node. The device is created with a standard device object code, and the object is automatically added the standard properties which are specified in APPENDIX Detailed Requirements for ECHONET Device Objects by the ECHONET Consortium.
  • Manufacture represents a manufacturer name and code registerd by the ECHONET CONSORTIUM.
  • Node represents an ECHONET-Lite node which contains ECHONET-Lite objects such the profiles and the devices.
  • Each ECHONET-Lite node has objects. Object represents an ECHONET-Lite Object in an ECHONET-Lite node.
  • Each ECHONET-Lite object has properties. Property represents an ECHONET-Lite property in an ECHONET-Lite object.
  • PropertyEnum represents an ECHONET-Lite property enumerated data.
  • RemoteNode represents an ECHONET-Lite node discovered by Controller. The remote node has the standard objects and properties defined by the ECHONET CONSORTIUM.
  • StandardDatabase provides a standard database for ECHONET-Lite device objects and manufactures. This standard database was generated by importing Machine Readable Appendix and Manufacturer code List provided by the ECHONET Consortium.

Enums

  • PropertyRule represents an ECHONET-Lite property access rule.

Traits

  • RequestHandler defines a request message handler interface.

Type Aliases

  • ManufactureCode represents a manufacturer code registerd by the ECHONET CONSORTIUM.
  • ObjectCode represents an ECHONET-Lite object code.
  • RequestHandlerObject represents a request message handler object.