Skip to content

Sigenergy: add per-string meter - #33114

Draft
computeralex92 wants to merge 3 commits into
evcc-io:masterfrom
computeralex92:feat/sigenergy-pv-strings
Draft

Sigenergy: add per-string meter#33114
computeralex92 wants to merge 3 commits into
evcc-io:masterfrom
computeralex92:feat/sigenergy-pv-strings

Conversation

@computeralex92

Copy link
Copy Markdown

Based on no objection on #32715, I tried to implement the support for String seperation in the template for Sigenergy.

Why?

If you have two different roofs (e.g. east / west) connected to the same Sigenergy inverter, the current modbus template is only catching the total power produced by both sides.

Good for many use cases, but if you want to run statistics which roof performed better etc., this is not sufficent and sent you back to the vendor app (didn't check if there an export in the app).

Solution

The template is extended to use the additional modbus registers.
An existing config is just ignoring it, only if you reconfigure the meter to use the new options, they get active.

On my own installation it is working with this setup without any issue for +- a week.

Gotcha

There is one little detail I found out while testing:
As the additional registers are using the DC power from the PV side (so directly voltage × current), the power output mismatch the power from behind the inverter.

Therefore, this new option should only be in use as additional meter for statistics etc., not for the PV overall power meter.
In my setup, this happens:

grafik

This mismatch is the power loss by the inverter.
In my opinion a good compromise, as the goal is anyhow to have the statistics in evcc.

Side note

Maybe in a future stage of the GUI, there could be an option to add additional meters to an existing PV meter, as e.g. sub-meter.
Currently the additonal meters are not shown in the GUI.

@github-actions github-actions Bot added devices Specific device support enhancement New feature or request labels Aug 23, 2026

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Approved.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@andig andig changed the title Per-string Meter for Sigenergy Sigenergy: add per-string meter Aug 23, 2026
@andig

andig commented Aug 23, 2026

Copy link
Copy Markdown
Member

@premultiply nice and simple pattern- wdyt?

@premultiply

Copy link
Copy Markdown
Member

Yep, nice pattern. 👍
Just thinking about how it could be further unified for mppts, external inputs external pv meters etc.

@computeralex92

Copy link
Copy Markdown
Author

If other components are also supporting something similar, this would open also the possibility to monitor the PV components itself, the efficiency of the inverter etc.

But just a thought ;-)

@premultiply
premultiply marked this pull request as draft August 23, 2026 15:17
Comment thread templates/definition/meter/sigenergy.yaml Outdated
Comment thread templates/definition/meter/sigenergy.yaml Outdated
Comment thread templates/definition/meter/sigenergy.yaml Outdated
{{- end }}
{{- if eq .usage "pv" }}
{{- if and .string (ne .string "0") }}
power:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The energy value is missing here for each MPPT.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review, but are you able to descibe what is missing here?

The power each MPPT is producing is getting calculated because there is no register produced by Sigenergy to getting the exact power number.

Or did I miss here something?

@computeralex92

Copy link
Copy Markdown
Author

One thing I want to mention and have your opinion on it is this little querk I found:

[site ] DEBUG 2026/08/24 20:12:01 pv 1 power: 0W
[site ] DEBUG 2026/08/24 20:12:01 battery 1 power: 409W
[site ] DEBUG 2026/08/24 20:12:01 ext 2 power: -5W
[site ] DEBUG 2026/08/24 20:12:01 ext 1 power: 12W 

Looks for me like a sensor offset on the current when the PV production is near 0.
In my example, ext 2 is the east side of the roof, so even more in the shadow then the west side.

What do you think, make it sense to filter something like this and set the minimum current value to 0 to avoid this behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devices Specific device support enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants