StephanJoubert / home_assistant_solarman

Home Assistant component for Solarman collectors used with a variety of inverters.
Apache License 2.0
507 stars 191 forks source link

Add support for Solarman Smart Meter DTSD422-D3 and signed magnitude integer values. #564

Open Triple-S opened 2 months ago

Triple-S commented 2 months ago

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.