Sigenergy ESS Integration for Home Assistant
Overview
Monitor and control your Sigenergy Energy Storage System (ESS) from Home Assistant.
Features
- UI‑Driven Setup with DHCP discovery of inverters and chargers
- Dynamic Device Management (Plants, Inverters, AC/DC Chargers)
- Real‑Time Metrics for power flows, energy statistics, SoC/SoH
- Control Capabilities for EMS (energy management system) work modes and more
- Configurable update interval in three update frequencies for faster updates
Enhance with Add-ons
Take your setup further with community add-ons and tools:
- Si-GCG "sigenergy_projects"
- Energy Flow Dashboard
- Custom Enegy prices with Battery charge and Grid import
- Step-by-step guide for EMHASS
More add-ons and enhancements are coming; stay tuned!
Requirements
- Sigenergy ESS firmware
SPC109or newer is required starting with versionv1.1.0of the integration. If your device runs older firmware and does not auto-update, upgrade the firmware or use a previous integration release until you have updated the firmware. - Home Assistant at least version
2026.1. - Sigenergy ESS with Modbus‑TCP enabled by your installer. And preferably confirmed with a screenshot of your
DeviceID. If using an AC Charger, that will have the id1and the inverter has to be set to a higher ID, for example2. - Preferably assign a static IP to your Sigenergy device in your router to ensure it always receives the same IP address.
Installation
HACS (Recommended)
The Home Assistant Community Store (HACS) is a custom integration that provides a UI to manage custom elements such as Sigenergy ESS in Home Assistant. You first need to install and configure it before following these instructions below.
- Go to HACS > Integrations in Home Assistant
- Search and install Sigenergy ESS Integration
- Restart Home Assistant
Manual
- Download the latest
.zipfrom the Releases page - Extract and copy
custom_components/sigeninto your HAcustom_components/folder - Restart Home Assistant
Configuration & Usage
Plant Concept
Central Plant entry groups devices by Host/IP and Port where the Port is by default 502 and the IP is the one of the first Inverter.
Plant (IP:Port)
├─ Inverter 1 (ID 2)
│ └─ DC Charger (via Inverter 2)
├─ Inverter 2 (ID 3)
└─ AC Charger (ID 1) ** Is 1 by default and very hard to change **
Initial Setup (Discovery)

- Navigate to Settings > Devices & Services
- If your Sigenergy device is discovered automatically on the network, it will appear under Discovered.
- If not discovered, try unplugging and replugging the network cable of your Sigenergy system.
- If discovery still fails, see the Troubleshooting section below.
[!NOTE] Controls are read-only by default. To enable control features, you must explicitly activate them in the integration configuration and allow them in Home Assistant. This precaution helps prevent unintended changes or adverse effects.
Manual Initial Setup
- Navigate to Settings > Devices & Services > Add Integration
- Search for Sigenergy
- If discovered, click Configure; otherwise select manually
- Enter Host IP, Port (default 502), and first Device ID
- Add additional Inverters/Chargers via the same Plant entry
Reconfiguration & Options
- Navigate to Settings > Devices & Services.
- Find your Sigenergy integration entry and click Configure.
- From the configuration menu, you can:
- Adjust Plant settings (e.g., read-only, refresh intervals).
- Modify settings for individual Inverters or Chargers.
[!NOTE] While it is technically possible to assign different IP addresses and ports to devices, it is not advised. For best results and more reliable operation, all devices within a plant should use the same IP address and port.
Add Additional Devices
- Navigate to Settings > Devices & Services.
- Select the Sigenergy integration and click Add Device.
- Follow the prompts to add extra inverters, chargers, or a new plant.
Entities & Controls
- Plant Entities: active/reactive power, PV power, SoC, grid flows, EMS mode
- Inverter Entities: MPPT metrics, battery SoC/SoH, phase data
- AC Charger: charging power, total energy, system state
- Controls: EMS work modes are exposed via
selectentities, and optionalbutton/switchcontrols are available
[!NOTE] Controls are read-only by default unless explicitly enabled in the integration configuration.
Known Limitations & Important Notes
- Modbus Protocol v2.9 Support & PSS/PID Exclusion: Support for PSS (Packaged Substation System) and PID (Potential Induced Degradation) devices added in Modbus Protocol v2.9 (released 2026-05-13) is intentionally excluded because they are commercial enterprise devices and we cannot test them.
- Sigenergy "Grid side info" is not fully available over local Modbus. The grid-side details shown in the Sigen app are not currently exposed through a stable Modbus register set. The grid phase voltage/current sensors that were added in
v1.2.2have been removed in this version because they are no longer supported or documented in the official Modbus Protocol V2.9. Register validation failed ... exception_code=2usually means an unsupported register. If you see this in debug logs, the integration is likely skipping registers your device does not expose, not failing the whole integration. Address30281isMerged Alarm7in the2025-11-28V2.8 document and may be unsupported if your firmware does not expose the newer plant registers.- Controls and diagnostic entities are conservative by default. Write controls and many diagnostic sensors are disabled by default. To use controls, disable read-only mode in the integration options and enable the specific entity in Home Assistant only if you understand the setting.
- Device IDs and topology matter. AC chargers are normally device ID
1; inverters must use another ID. DC charger data is read via the inverter, and all devices in a plant should normally use the same host and port.
Quickstart Automation Example
alias: "Notify on Low Battery"
trigger:
- platform: state
entity_id: sensor.plant_battery_soc
to: "<20"
action:
- service: notify.mobile_app
data:
title: "Battery Low"
message: "SoC dropped below 20%"
Troubleshooting
- Ensure your installer tapped SAVE after enabling Modbus‑TCP on your device.
- Verify IP and firewall settings.
- Ensure again Modbus‑TCP is enabled on your ESS.
- Check Home Assistant logs for
sigenerrors.
Contributing
Contributions welcome!
- Fork the repo and create a branch
- Add tests under
tests/components/sigen/ - Follow Home Assistant coding and config‑flow patterns
- Submit a Pull Request to this repository
Support & Links
- Issues
- Discussions
- Add-ons & tools by Si-GCG
- Step-by-step guide automating a Sigenergy system with Home Assistant using EMHASS and Amber Electric in Australia
- HACS docs
License
MIT License © [Andrei Ignat]