Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix register parsing for latest SolarEdge SunSpec ModBus implementation #8

Merged
merged 1 commit into from
Jan 12, 2024

Conversation

peplin
Copy link
Collaborator

@peplin peplin commented Feb 21, 2022

On a new SE5000H, I encountered issue #2. I found that the register
parsing implementation doesn't match what's listed in the SolarEdge technical
spec
for their SunSpec ModBus implementation.

The code was seeking too far forward, and from that point on it was
reading a mix of 2 registers and trying to interpret as scaling factors
or measurements. This caused seemingly random, extremely large values
that triggered the "int too large to convert to float". The issue, at
least for my unit, was not with the field that could not be parsed.

With these new values, all measurements supported by my unit are
reporting values that match the SolarEdge monitoring website.

I'm not positive if this is specific to only some units, but the
technical note does not indicate they use different registers for
different inverter models.

@peplin
Copy link
Collaborator Author

peplin commented Feb 21, 2022

Thanks for this project, by the way! It saved me a ton of time.

On a new SE5000H, I encountered issue salberin#4. I found that the register
parsing implementation doesn't match what's listed in the [SolarEdge
technical
spec](https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf)
for their SunSpec ModBus implementation.

The code was seeking too far forward, and from that point on it was
reading a mix of 2 registers and trying to interpret as scaling factors
or measurements. This caused seemingly random, extremely large values
that triggered the "int too large to convert to float". The issue, at
least for my unit, was not with the field that could not be parsed.

With these new values, all measurements supported by my unit are
reporting values that match the SolarEdge monitoring website.

I'm not positive if this is specific to only some units, but the
technical note does not indicate they use different registers for
different inverter models.
@peplin peplin force-pushed the pr-fix-se5000h-registers branch from c9b341a to c55e27d Compare January 12, 2024 23:41
@peplin peplin merged commit 24d7f77 into salberin:master Jan 12, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant