Support of Sunspec Inverters via Modbus RTU and extended Sunspec Support

Hi all,

The Venus OS supports the integration of PV inverters via TCP Modbus if the PV inverters support Sunspec.

I have two suggestions for this that offer additional benefits and, according to my research, shouldn’t require too much development effort.

Feature Request 1
Support for Sunspec PV inverters via Modbus RTU

The logic can remain exactly the same. Only the underlying connection changes from Modbus TCP to Modbus RTU.

Feature Request 2
Support for Sunspec starting at register 50000

Currently, the Venus OS starts searching for the Sunspec header via TCP Modbus starting at register 40000. However, there are devices that implement Sunspec starting at register 50000, which is acceptable according to the Sunspec standard.

What do you think?

Thanks
Dabbelju

Feature Request 3
Make Unit ID configurable (Modbus RTU)

Currently the Modbus RTU device needs to be configured to Unit ID 126. It would be very helpfull if this could be configured in Venus OS.

Feature Request 4
Make TCP Modbus Port configurable

Currently the device talking Modbus (TCP) needs to do that on Port 502. Some inverters are not listening on the 502 standard port (e.g. Kostal on 1502) and for some reason the port can not be changed. In some cases the invereter does not support that or the port needs to be as it is for other reasons)

2 Likes

Hi Victron team,

this would most likely also help more people to add Kostal devices.

As I mentioned

here

here

and here

It is almost working and only needs some minor tweaking from you folks.

@mpvader you asked for help, didn’t you? Do you need more input?

Hey all, apologies for the long silence. And thanks for the suggestions.

I’ve noted all suggestions, including the configurable port that would make it possible to work with a Kostal PV Inverter.

Can’t make any detailed promises now, hope you understand.

1 Like

It does add more complexity and user options both. of which cause more support. And I have not regularly come across or heard of popular PV inverters which have only RTU and not TCP/WiFi.

I don’t expect we’ll be implementing this any time soon.

1 Like

Kan het zijn dat de Sunspec regeling geen rekening houdt met max grid-feedin?

Edit: Sorry for the Dutch, I added English below:

Can it be that the Sunspec management ignores max grid feedin?

What do you mean?

I had an (experimental) setup with a Sunspec-compliant inverter on AC-out. It was correctly discovered by GX.
PV management and communication was verified by me by using Node-Red (PV inverter / Power Limit) as well as playing around with the Grid setpoint.
But I noticed that the PV is not adjusted downwards to comply with my settings/ESS/Maximum feed-in. It also did not adhere to the limit (amps) set in Settings/ESS/Peak Shaving/Maximum system export current (per phase).

It was my first attempt to have a Sunspec inverter being managed by GX-device, so maybe I did something wrong?

@mpvader
Basically I do agree.

On the other hand, most TCP Modbus sticks, or even those via LAN, do nothing more than convert RTU to TCP Modbus.

I’ve seen some implementations where the STCP Modbus interfaces represented a bottleneck.

It’s certainly not Victron’s job to solve the manufacturers’ problem.

Perhaps it’s still worth considering.

Has anyone experience with connecting a Sungrow Inverter? It’s a SG10RT with WiNet-S LAN Dongle.

Hi,

i use three Kaco blueplanet nx3 inverter and since the sunspec feature was added to the Venus OS they were recognised flawlesly incluiding the power modulation feature.

Unfortunatelly i had to add a ripple control communication adapter from Kaco with another newer firmware and since then they are no longer found by the cerbo.. i’ve tested the old communication adapter and with the newer firmware it wasn’t found either.

when i asked the Kaco support if i could use older firmware with the RCN-Kit they told me that the cerbo is not supported or approved by kaco and no further help was given.

with the homeassistant sunspec-integration the kaco is found in my network with all the sensor data, so the kaco stil sends out the data, but the venusos is looking for the wrong adress data i guess.

on the Kaco website they have a sunspec specification guide

https://kaco-newenergy.com/index.php?eID=dumpFile&t=f&f=12045&token=23927bece4facd56078964bc156f9bfa7a1b694b

the problem seems to be the same with the Solarwatt Manager described here:

does anyone know a solution? is it the same register problem mentioned in the first post?

greetings

Felix

Hi @webblaster ,

  • Did you try to talk TCP Modbus directly to the stick using a Modbus Tool?
  • Which NX3 Model ar you using?
  • Which Version of the stick and which FW?

We have about 200 NX3M2 inverters in the field. For a few months now, they have had a batch of sticks that have a hardware problem, causing Modbus responses to be extremely delayed, which makes the sticks unusable for us.

Hi @dabbelju,

sorry for the delay, i didn’t manage to go on site until today (700km away from home and KacoTool didn’t work over VPN).

  • With Open ModScan TCP Search i can find the Stick IP with device id 1 & 3 and it sends data. Unfortunatelly I don’t have the skills yet to use the software further .. The HomeAssistant Sunspec Addon finds the Stick and the Inverter and finds all the usual parameters.
  • I use the 10.0 NX3 M2 and the 20.0 NX3 M2 on seperate Installations
  • The Connect-RCN stick is the KNE-NX3-RCN-G1 Model with Hardwareversion M11 and Softwareversion V610-50112-01.002. I do have the old Firmware for the “normal” communication stick that worked, but since i changed to the RCN-Kit due to legal requirements of the grid-provider i dont have the old version for this. the MyKaco Download section does not work anymore and i don’t want to mix firmwares to avoid damage..

Greetings Felix

Hi @webblaster,

try to set the Modbus Unit ID in Kaco Inverters to 126 instead of 3. You can do this in the Kaco Setup App. If you use Kaco NX Setup APP:

Operation Mode => Select the Inverter => Select Inverter => Modbus Address

I have seen Kaco NX3 M2 devices where it works with Modbus ID 3. Some others needed to be changed.

The problem with the Kaco NX3 M2 inverters is that they aren’t directly from Kaco, but rather labeled products from an Asian company. Kaco itself can’t do anything about their behavior.

Give it a try and let me know.

greetings
Christiian

The 126 adress change did the trick! Awesome, thanks for your help!

And now that i know the sollution, sorry for my offtopic posts :wink:

To give some feedback to the new configurable device id and port.

This helps to get my Kostal Plenticore Plus G2 partly working.

The inverter is being detected an I can enable limiting.
Limiting is not working out of the Box.

It works with the simple Node-Red Flow I reffered to earlier.
In essence it manualy writes the limit calculated by venus OS via Modbus to the inverter.

Not sure if that is being looked at.
Unfortuanetly my options of testing this will be quite limited due to winter.

Hope that helps.

Where, in Node Red, did you find the “limit calculated by venus OS”? I couldn’t find it myself.

Hi,

it is part of the Victron PV Inverter Node.

Hmm, not here:

Nevermind, don’t want to hijack your topic

mhhh

MQTT does not sound like sunspec modbus tcp connected inverter.

Anyhow…if limiting is supported it needs to be enabled for the inverter in question.

And also a Limit needs to be configured in ESS to make the limit calculation work.