bohdan-s / SunGather

GNU General Public License v3.0
167 stars 69 forks source link

New SH- Modbus Documentation #36

Open benni336 opened 2 years ago

benni336 commented 2 years ago

Maybe even a newer version is already out there. I personally think the layout got worse

Communication.Protocol.of.Residential.Hybrid.InverterV1.0.22_20201117.pdf |

freman commented 2 years ago

I have a rather large sungrow.yaml built based on that pdf

neiser commented 2 years ago

@freman Would you mind sharing this yaml?

michbeck100 commented 2 years ago

There is even a V1.0.23: TI_20211231_Communication Protocol of Residential Hybrid Inverter_V1.0.23_EN.pdf

neiser commented 2 years ago

In the meantime, I came up with my own little project which contains this yaml, which focuses only describing the PDF for one model. IMHO my project has some advantages compared to this project here concerning the readout of registers, but it lacks support for different models (only my own SH10RT currently is supported) and only exports Prometheus metrics. But both shortcomings could be removed with rather little effort if there's interest.

bohdan-s commented 2 years ago

I love seeing all the different ideas and use cases!

@neiser im not sure what advantage your script has? LVL2 in the config.yaml will return the same data for your model (and any other model). My goal is a tool anyone can run out of the box for any Sungrow model with little to no work / technical skill required. As plug-and-play as I can make it, but as many options to allow more advanced people lots of control.

neiser commented 2 years ago

@bohdan-s I've tried your python script and observed that it polls the inverter with a fixed delay. That is somewhat unfortunate for prometheus metrics scraping, as one could optimize it such that the inverter is only polled via modbus whenever prometheus is requesting the metrics. Also, I don't know if your script also makes heavy use of optimized reading all registers in one bunch (I've written a cache for that). I also couldn't see proper values for array-like registers such as read-only register 6196 (daily pv yields, length 31) on the exposed web interface. And since I was eager to learn some more go, I started my own project :) Also, I find building docker images with google/ko just really cool (as you get really small images).

michbeck100 commented 2 years ago

I see the use case for a plain prometheus exporter, but I like the multiple outputs of Sungather. I personally use the mqtt, console and http output. @neiser it would be great to have another output for prometheus. But it should be easy to implement this, since prometheus just needs another format using the http output.

michbeck100 commented 2 years ago

What about this: https://github.com/bohdan-s/SunGather/pull/55