Solarman for Deye SG02LP1 inverter [5.2.0;6.0.0)

This is the same as the Solarman Logger Binding upstream with these differences:

  • this release contains definition for the Deye SG02LP1 inverter (inverterType="deye_sg02lp1")
  • the refreshInterval unit, as Thing parameter, is in milliseconds here and in seconds in the origin
  • the inverterType is required parameter for the Thing here, in the origin it defaults to sg04lp3

The org.openhab.binding.solarman-5.2.2-20261003.jar file works with openHAB 5.2.1.

Source code: https://github.com/dilyanpalauzov/openhab-voltronic-inverter/tree/solarman —solarman branch.

Changes 20261003

  • spell in thing-types.xml that the default for refreshInterval is 60000, instead of 60s.
  • regenerate src/main/resources/OH-INF/i18n/solarman.properties, reflecting the previous line in MainUI.
  • Adjust the build system to remove META-INF/maven from the .jar file
  • Remove header Private-Package from META-INF/MANIFEST.MF
  • Build by default .jar files ending with the current date

Thanks for packaging this up, Dilyan! I’m running a Deye inverter on my own roof here in Finland and have been polling it through the upstream Solarman binding, so having a release with the SG02LP1 definitions ready-made is genuinely useful.

One small tip from my setup: the daily yield channel makes a great persistence item — I push it into the database each night so I can compare production season over season. Also worth double-checking the refreshInterval unit when upgrading, since it’s in milliseconds here instead of seconds in the original binding.

Looking forward to giving this a try on the next upgrade. Thanks again for sharing the work!

The release I just uploaded spells on more places, that the default for refreshInterval is 60000. I personally use refreshInterval=500 milliseconds.

The daily production is mapped to the solar-daily-production channel, the daily consumption is mapped to the upload-daily-load-consumption channel, the daily sold energy is in the grid-daily-energy-sold channel, and daily bought energy is in the grid-daily-energy-bought channel.

The information for the available registers is taken from the sg02lp1 files at deye-inverter-mqtt/docs at main · kbialek/deye-inverter-mqtt · GitHub.

Thanks for clarifying the default, Dilyan! The 60000 vs 500 ms detail explains exactly what I was seeing on my end. I’ll double-check the channel mappings against my setup and take a look at the docs as well. Appreciate the quick follow-up!