# ModbusMQTT This repository is a workspace for developing ModbusMQTT and the crates developed in the course of the project. View the appropriate READMEs in each package directory for details about each. ## `modbus-mqtt` ![Crates.io](https://img.shields.io/crates/v/modbus-mqtt.svg) ![docs.rs](https://img.shields.io/docsrs/modbus-mqtt) ![Crates.io](https://img.shields.io/crates/l/modbus-mqtt) ModbusMQTT is a bridge between Modbus devices and MQTT. It aims to allow the operator to generically expose any compatible Modbus device as though its API were MQTT. ## `sungrow-winets` ![Crates.io](https://img.shields.io/crates/v/sungrow-winets.svg) ![docs.rs](https://img.shields.io/docsrs/sungrow-winets.svg) ![Crates.io](https://img.shields.io/crates/l/sungrow-winets) This is a barebones API client for reading and writing settings for Sungrow solar and hybrid inverters equipped with a WiNet-S communications module. Its only known use is `tokio_modbus-winets` (see below). ## `tokio_modbus-winets` ![Crates.io](https://img.shields.io/crates/v/tokio_modbus-winets.svg) ![docs.rs](https://img.shields.io/docsrs/tokio_modbus-winets) ![Crates.io](https://img.shields.io/crates/l/tokio_modbus-winets) This wraps `sungrow-winets` client in the appropriate traits from [`tokio-modbus`](https://crates.io/crates/tokio-modbus) to allow accessing the Modbus registers which the Sungrow WiNet-S dongle exposes. The reason for this is simply that Sungrow's TCP Modbus support is buggy and inconsistent (though improving).