Home
Softono
Sigenergy-Local-Modbus

Sigenergy-Local-Modbus

Open source MIT HTML
251
Stars
27
Forks
0
Issues
22
Watchers
1 week
Last Commit

About Sigenergy-Local-Modbus

Sigenergy Energy Storage System Integration for local Modbus‑TCP monitoring and control into Home Assistant. Gain real‑time insights, dynamic device management, and seamless UI‑based setup.

Platforms

Web Self-hosted

Languages

HTML

Links

Sigenergy Sigenergy ESS Integration for Home Assistant

Stable HACS Badge Project Maintenance GitHub Activity License

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:

More add-ons and enhancements are coming; stay tuned!

Requirements

  • Sigenergy ESS firmware SPC109 or newer is required starting with version v1.1.0 of 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 id 1 and the inverter has to be set to a higher ID, for example 2.
  • 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.

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

  1. Go to HACS > Integrations in Home Assistant
  2. Search and install Sigenergy ESS Integration
  3. Restart Home Assistant

Manual

  1. Download the latest .zip from the Releases page
  2. Extract and copy custom_components/sigen into your HA custom_components/ folder
  3. 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)

Discovered Sigenergy System

  1. Navigate to Settings > Devices & Services
  2. 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

  1. Navigate to Settings > Devices & Services > Add Integration
  2. Search for Sigenergy
  3. If discovered, click Configure; otherwise select manually
  4. Enter Host IP, Port (default 502), and first Device ID
  5. Add additional Inverters/Chargers via the same Plant entry

Reconfiguration & Options

  1. Navigate to Settings > Devices & Services.
  2. Find your Sigenergy integration entry and click Configure.
  3. 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

  1. Navigate to Settings > Devices & Services.
  2. Select the Sigenergy integration and click Add Device.
  3. 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 select entities, and optional button/switch controls 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.2 have 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=2 usually 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. Address 30281 is Merged Alarm7 in the 2025-11-28 V2.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 sigen errors.

Contributing

Contributions welcome!

  1. Fork the repo and create a branch
  2. Add tests under tests/components/sigen/
  3. Follow Home Assistant coding and config‑flow patterns
  4. Submit a Pull Request to this repository

Support & Links

License

MIT License © [Andrei Ignat]