Hysen Labs
Open-source project
seud0nym/sigenergy2mqtt avatar
seud0nym

sigenergy2mqtt

Publish Modbus data from Sigenergy to an MQTT Broker, with optional Home Assistant Auto-Discovery and PVOutput updating

61 stars6 forksPythonMIT
DEEP OPEN-SOURCE ANALYSIS

sigenergy2mqtt, a Modbus to MQTT bridge for Sigenergy systems

sigenergy2mqtt bridges the Modbus interface of a Sigenergy energy system to an MQTT broker, with optional Home Assistant discovery and data uploads.

What the bridge connects and publishes

sigenergy2mqtt is a bridge between the Modbus interface of a Sigenergy energy system and the MQTT lightweight publish and subscribe messaging protocol. The README explains that the core job is to read Modbus data from the Sigenergy hardware and publish it to an MQTT broker so other systems can consume it. On top of that core, the project lists several optional features. It can auto discover Sigenergy devices and their device IDs without you having to specify the host IP address. It can publish the messages Home Assistant needs to automatically discover the devices, which simplifies Home Assistant configuration. It can upload production and consumption data to PVOutput automatically. It can also publish the Modbus data directly to an InfluxDB version 1 or version 2 time series database for long term storage and analysis. The README is honest about its testing scope: it was developed for the author's own use and has only been tested in a single phase environment without AC or DC chargers, although a software testing environment emulates the chargers and three phase implementations. That disclaimer sets expectations about where the project has been verified. The prerequisites are a Sigenergy ESS or PV inverter with Modbus TCP enabled by your installer or through the mySigen app, plus an MQTT broker such as Mosquitto, either standalone or installed as a Home Assistant app.

Installing and configuring across environments

The README points to separate installation guides for the supported environments rather than a single command. There is a Home Assistant guide under resources/homeassistant, a Docker guide under resources/docker, and a Linux guide under resources/linux. This split lets you follow the path that matches how you run your home automation. Configuration is resolved from several sources in a fixed order. The README states that sigenergy2mqtt looks at a configuration file first, then environment variables, then command line options, and for the Home Assistant app it also reads the app configuration. Because environment variables and command line options override the configuration file, you can tune a setting without editing the file. The combined reference for command line flags, environment variables, and YAML keys lives in resources/configuration/README.md, and the individual sources each have their own document: FILE.md for the configuration file, ENV.md for environment variables, and CLI.md for command line options. The MQTT publish and subscribe topics that sigenergy2mqtt uses are documented in resources/sensors/TOPICS.md, which is the place to look when you want to wire the data into another consumer or to debug what is being sent. This layering of docs keeps the main README short while still giving operators a clear map to the details they need.

Optional data destinations and the project's scope

The optional destinations are where sigenergy2mqtt becomes more than a simple forwarder. Home Assistant auto discovery means the devices appear in Home Assistant without hand written configuration, which the README lists as a way to simplify setup. PVOutput uploading gives you an external view of production and consumption history without building your own storage. InfluxDB support, covering both version 1 and version 2, gives you a time series database for longer term analysis and graphing. Each of these is optional, so you can run the bridge with only MQTT if that is all you need. The README also carries a disclaimer that the software was built for personal use and tested only in the author's single phase setup, which is a useful signal about maturity and about which configurations are less proven. If you hit a problem, the README asks you to raise an issue. The project is distributed on Docker Hub and PyPI, and the README shows badges that pull the app version, the Docker tag, and the required Python version from the project metadata. Those badges are the quickest way to see the current release and the Python requirement before you install. Taken together, the bridge targets Sigenergy owners who already run an MQTT broker and who want Home Assistant, PVOutput, or InfluxDB to see their energy data with minimal manual configuration.

Editorial conclusion

sigenergy2mqtt is a Python bridge under the MIT license that publishes Sigenergy Modbus data to an MQTT broker with optional Home Assistant discovery, PVOutput uploads, and InfluxDB storage, and it is installed through the Home Assistant, Docker, or Linux guides.

DEEP OPEN-SOURCE ANALYSIS

Official sources

Community notes

Community notes