Add support for Solarman Smart Meter DTSD422-D3 and signed magnitude integer values. #564
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
This commit adds support for Solarman Smart Meter DTSD422-D3. Since this device uses signed magnitude integer values I also had to add a parser for them.
I tested everything with my Home Assistant ant it seemed to work perfectly fine. For the moment I added all values besides the integrated energy values because the binary output shows a lot of values I cannot allocate to any meaningful information which is why I ommited them to not add some wrong information.
This PR fixes #451 and #520.
IMPORTANT QUESTION: I realized that the original signed integer parser is written for one's complement signed integers which I find astonishing since usually two's complement signed integers are used. Was this confirmed that Solarman devices actually use one's complement signed integers? Otherwise all negative values have an offset of -1.