Metadata-Version: 2.5
Name: sigenergy2mqtt
Version: 2026.10.10
Summary: Publish Modbus data from Sigenergy to MQTT, with optional Home Assistant Auto-Discovery and PVOutput updating
Project-URL: issues, https://github.com/seud0nym/sigenergy2mqtt/issues
Project-URL: repository, https://github.com/seud0nym/sigenergy2mqtt
Author-email: seud0nym <seud0nym@yahoo.com.au>
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: aiohttp==3.14.4
Requires-Dist: paho-mqtt==2.1.0
Requires-Dist: psutil==7.2.2
Requires-Dist: pycryptodome==3.24.0
Requires-Dist: pydantic-settings==2.15.0
Requires-Dist: pymodbus==3.15.0
Requires-Dist: requests==2.34.2
Requires-Dist: ruamel-yaml==0.19.1
Requires-Dist: sigenergy-cloud==0.1.7
Provides-Extra: test
Requires-Dist: aioresponses==0.7.9; extra == 'test'
Requires-Dist: deepl; extra == 'test'
Requires-Dist: jsonschema; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-asyncio; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-xdist; extra == 'test'
Description-Content-Type: text/markdown

<img src="https://raw.githubusercontent.com/seud0nym/sigenergy2mqtt/2026.10.10/src/sigenergy2mqtt/diagnostics/static/logo.png" alt="sigenergy2mqtt"><br>

![Dynamic YAML Badge](https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fseud0nym%2Fhome-assistant-addons%2Frefs%2Fheads%2Fmain%2Fsigenergy2mqtt%2Fconfig.yaml&query=%24.version&prefix=v&label=app)
[![Docker Image Version](https://img.shields.io/github/v/tag/seud0nym/sigenergy2mqtt?sort=date&filter=!*a*&label=docker)](https://hub.docker.com/r/seud0nym/sigenergy2mqtt)
[![PyPI - Version](https://img.shields.io/pypi/v/sigenergy2mqtt)](https://pypi.org/project/sigenergy2mqtt/)
![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fseud0nym%2Fsigenergy2mqtt%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)
![Coverage - Tests](https://raw.githubusercontent.com/seud0nym/sigenergy2mqtt/2026.10.10/resources/badges/tests.svg)
![Coverage - Total](https://raw.githubusercontent.com/seud0nym/sigenergy2mqtt/2026.10.10/resources/badges/coverage-total.svg)
![Maintenance](https://img.shields.io/maintenance/yes/2026)


`sigenergy2mqtt` is a bridge between the Sigenergy energy system and the MQTT lightweight publish/subscribe messaging protocol.

In addition, `sigenergy2mqtt` has several optional features: 

1. It can auto-discover Sigenergy devices and their device IDs without having to specify the host IP address.
1. It can publish the appropriate messages to allow Home Assistant to automatically discover the Sigenergy devices, simplifying Home Assistant configuration. 
1. Production and consumption data can automatically be uploaded to PVOutput. 
1. It can directly publish the Modbus data to an InfluxDB (v1/2) time series database for long-term storage and analysis.
1. It can use the Sigenergy Cloud API for cloud-only operations like Instant Manual Control and operational mode selection.

## Pre-requisites

- Sigenergy ESS or PV Inverter, with Modbus-TCP enabled by your installer or through the mySigen app
- MQTT broker such as [Mosquitto](https://mosquitto.org/), either standalone or installed as an app to Home Assistant

## Installation

Follow the installation guides for supported environments:

* [Home Assistant](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/homeassistant/README.md)
* [Docker](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/docker/README.md)
* [Linux](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/linux/README.md)

## Configuration

When parsing configuration options, `sigenergy2mqtt` looks at the configuration sources in the following order:

1. [Configuration File](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/configuration/FILE.md)
2. [Environment Variables](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/configuration/ENV.md)
3. [Command Line Options](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/configuration/CLI.md)<sup>1</sup>
4. [Home Assistant App Configuration](https://github.com/seud0nym/home-assistant-addons/blob/main/sigenergy2mqtt/DOCS.md#configuration-tab)

This means, for example, that the options specified in the configuration file can be overridden by environment variables and command line options.

The combined reference for CLI flags, environment variables, and YAML configuration keys can be found [here](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/configuration/README.md).

<sup>1</sup> <sub>Not applicable to the Home Assistant App</sub>

### Cloud Access

The official Sigenergy Cloud API is designed for applications that work as a backend service, and which are not deployed to local customer infrastructure as `sigenergy2mqtt` is. Whilst they are currently working on making the changes that would support local deployment, it is not yet available.

However, there is an unofficial Cloud API that provides access to the Cloud features, which is what has now been incorporated into `sigenergy2mqtt` until the official API is available. There is no documentation for this API, and features have been discerned through observing web app network traffic.

To use the Cloud API in `sigenergy2mqtt`, it is _strongly_ recommended that you use delegated access created through the `mySigen` app. Navigate to `Settings` → `System Settings` → `System Share`, and add another email address (not your primary mySigen login email address) with "View and Edit" permission. When you receive the invitation email, log in and set your password. Use this new email address and password when configuring Cloud access in `sigenergy2mqtt`. _Only_ use this delegated email for the `sigenergy2mqtt` Cloud connection, and for no other purpose, because too many sessions cause connections to be dropped.

## Screenshots

### Dashboard

<img src="https://raw.githubusercontent.com/seud0nym/sigenergy2mqtt/2026.10.10/resources/screenshots/dashboard.jpg" alt="dashboard"><br>

### Diagnostics

<img src="https://raw.githubusercontent.com/seud0nym/sigenergy2mqtt/2026.10.10/resources/screenshots/diagnostics.jpg" alt="diagnostics"><br>

## MQTT Publish and Subscribe Topics

The topics that are published and subscribed to by `sigenergy2mqtt` can be found [here](https://github.com/seud0nym/sigenergy2mqtt/blob/2026.10.10/resources/sensors/TOPICS.md).

## Disclaimer

`sigenergy2mqtt` was developed for my own use, and as such has only been tested in my single-phase environment without AC or DC chargers, although I have developed a testing environment in software that emulates the chargers and three phase implementations. If you find a problem, please raise an issue.
