question

mariusz-czarnomski avatar image
mariusz-czarnomski asked

SolarEdge + ModBusTCP + Meter Import/Export

Issue is related to ModbusTCP connection from CerboGX to SolarEdge.


I have used SolarEdge ModbusTCP over LAN, in my local management system integration, to read various PM data from SolarEdge.


Now I have got Victron MultiPlus with CerboGX and its "/opt/victronenergy/dbus-fronius/dbus-fronius" is constantly connected to my two SolarEdges inverters through modbus sunspec as well. It works perfectly well.


Problem is SolarEdge allows only one concurrent connection through modbus-tcp. I have reconfigured my local management system to read data from what Victron dbus and mosquito broker (mqtt) can output on pvinverters topic of 20 and 21, what corresponds to both SolarEdge inverters.


Unfortunately Victron reads only basic inverter modbus data without meters import/export power and energy. According to SolarEdge meters data are bit further from 40000 modbus address:

1st meter: 40000 + 121, 2nd meter: 40000+295, 3rd meter: 40000+496



Were you able somehow to force Victron cerbo to read SolarEdge meter data as well through modbus? Any help/hint would be very much appreciated.


BR,

Mariusz

Energy MeterModbus TCPpower metersolaredge
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

6 Answers
mariusz-czarnomski avatar image
mariusz-czarnomski answered ·

Update: looks like SolarEdge's meter riding is not implemented in Victron's dbus-fronius. At the same time SolarEdge confirmed there is no possibility to have second client through same or different interface (LAN,WiFi).

What about installation of modbus-proxy on cerboGX?

I was able to install modbus-proxy on Ubuntu and proxy CerboGX modbus successfully.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

mariusz-czarnomski avatar image
mariusz-czarnomski answered ·

I have installed modbus-proxy on my ubuntu node on proxmox and now Victron CerboGX and HomeAssistant are connected to SolarEdge's ModbusTCP through configured modpus-proxy. It works.. On CerboGX you cannot specify sunspec port. It has hardcode as 502. You can only "proxy" to one SolarEdge.



2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

belmont avatar image
belmont answered ·

Hi, i am interested this modbus proxy setup as I have SolarEdge and also Home Assistant that reads SolarEdge over modbus. As for setup, do you have the SolarEdge on the Victron AC out? What does the SolarEdge energy meter measure in your case? Grid point export/import meter or consumption meter? As for the Victron side, do you use physical meters ET112 to measure the SolarEdge production? Or only Modbus? I wonder one can eliminate buying ET112 this case when using only Modbus. Can you please share info how to install and configure modbus proxy on Ubuntu?

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

lasse-2 avatar image
lasse-2 answered ·

Intresting discussion regarding SolarEdge and Modbus, i have also being working with this at home, not with Victron, i have manage ro read out from head unit lots of values, but noting related to SolarEdge Batteries, like charging/discharging, percentage (%) etc...

anyone can shed some light on that?

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Harold Halewijn avatar image
Harold Halewijn answered ·

I had some problems too but were able to solve this by using Home Assistant with a running Modbus Proxy on it. I cleared all the modbus connections in VenusOS and pointed them to the new Modbus proxy. The proxy is then communicating with 2 SolarEdge inverters, one is connected to the SolarEdge Smart Meter. I can now read all registers and also write to registers. I have connected the beta DynamicESS through Nodered to the SolarEdge inverters to control export limits. I made a Youtube video about itand you can find the nodered flows on my website: www.haroldhalewijn.nl. Unfortunately it is done and written in Dutch but perhaps it can help you.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

dubsan avatar image
dubsan answered ·

Hi,

I can share a code that I developped to overcome this issue.

My config is Multiplus II GX with 3 x Pylontec US2000C and 3KW Solaredge PV on the AC input of the Multiplus. I had the Solaredge PV installed with a Solaredge grid meter before. When installing the Victron+BESS, I did not want to duplicate the grid meter and I have done some adjustment to the python code that Victron provides to establish Modbus TCP communication to the Carlo Gavazzi meters and other meters. Now the Multiplus reads permanently both the solaredge inverter and grid meter data and write them into the dbus so the values are available on the VRM and via modbus tcp on the Multiplus. The meter value provided by the solaredge meter is used directly by the ESS loop. I still need to do some fine tuning because the cumulated grid import and export energies on the VRM are wrong but this is due to the setup of the paths where I store values in dbus. However the power values are correct and ESS works fine. Sometimes, roughly once a day, the Solaredge reset the modbus TCP but I managed to have the Multiplus reestablishing the communication automatically so it does not go to passthru mode. This has been working for 4 months without any issue. If anyone is interested, I am happy to provide the code of the modules and some instructions how to use them. Just let me know.

Kind regards

JM

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Related Resources

Additional resources still need to be added for this topic

Energy Meter Selection Guide

Modbus TCP Basics