question

jency avatar image
jency asked

SMA sunny tripower core2 not communicating

Hello,


I am trying to readout data from 2 sma pv inverter. one being sma sunny tripower 10.0 and sma sunny tripower core2 (110kva inverter) both are connected to the network.

In the past i had no problem connecting smaller types sma inverter following this guide online.

https://www.victronenergy.com/live/ccgx:ccgx_sma


I have read in a different post that something has change to the sunspec protocol of sma and that this could be the problem?

How can i work around this? could i be making some scrips myself to import this pv data.

I have seen a vide from the offgridgarage importing data direcly from some type of shelly dongles.

https://www.youtube.com/watch?v=u-R7bJeNVx0


could i use the same way t do this with sma inverter or any inverter for that matter?

I have read you can make you own driver but i have no experience in doing this.


My final solution would be adding extra powermeter to the system.


thanks in advance.

cerbo gx
2 |3000

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

2 Answers
matt1309 avatar image
matt1309 answered ·

Hi @Jency


The SMA inverters are integrated into the gx system using C++ drivers. They're available on github:

GitHub - victronenergy/dbus-fronius: Venus OS driver for Fronius PV Inverters as well as other Sunspec ModbusTCP compliant inverters


However you're right you can make your own custom driver. And a common one to use is shelly. There's plenty of community made drivers already. They tend to be written in python. Here's one as an example:

GitHub - fabian-lauer/dbus-shelly-3em-smartmeter: Integrate Shelly 3EM smart meter into Victron Energies Venus OS


However you can make your own. There's a pretty decent guide on victrons github page, with an example dummy script. You can even use the dummy script to make a virtual meter and just pass the meter data in via mqtt if you want.

howto add a driver to Venus · victronenergy/venus Wiki · GitHub


It's worth noting that going this route of an additional device like a shelly or even an energy meter ET112 for example you may lose some communication features. You can see more detail of that on the dbus fronius github page.

You could even work out what the change is in your inverter protocol and make a modded version of the dbus fronius driver (which is what is used for SMA i believe) then compile and install on your system if you're familiar with C++. Ngl one of my favourite things victron does, the openness of their code.


Hope this helps at least point you in the direction of some useful resources if nothing else.

4 comments
2 |3000

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

jency avatar image jency commented ·
Hi Matt1309,


Thank you for your feedback, I will look through these links for sure.

I will not be using these shelly modules or et112 as i am working with bigger power than these meters allow. i would need to read the information directly from the pv inverter.

I am really looking to get it working without installing extra power meters.

Is this something you would be willing in helping me with?

Could we talk directly to work something out ?


Kind regards

0 Likes 0 ·
matt1309 avatar image matt1309 jency commented ·

ET112 is 100amp isn't it? You've got a hefty setup.

I'm not the best of programmers but happy to help where I can.


Have you got a link of what the api looks like for your inverter. I can probably find a decent custom driver to use as a base for setting this up if you do.

If it's a subtle change we can maybe just tweak the driver that it's using currently. The issue with this over python is you'd have to check post updates that nothing gets broken/recompile if it does.

If you need really fast responses then maybe c++ is the better route but more challenging. I'm far from pro c++ programming and I dont have experience installing custom compiled code on venus, however probably the best option for speed if that's critical.

There's far more python examples. For example if it's http api i would suggest using the shelly drivers as a base and just editing the functions that query the data. (these have refresh rate of 500ms which seems reasonable for http requests).

If it's modbus tcp we can probably copy the Carlo galvazzi EM24 meter code (also python) or tweaking the c++ driver that fronius and other sunspec modbus meters.



EDIT: I tried googling for the api/modbus registers but it says it uses sunspec modbus which I believe is what the fronius driver uses. So thought the link you shared would work. Are you able to see the modbus data using an external modbus monitoring program or ping the pv inverter like the guide mentions?


0 Likes 0 ·
jency avatar image jency matt1309 commented ·
The SMA inverters do use the sunspec protocol over Modbus TCP, pinging the inverter is no problem i get response from that. Python code would be fine i guess, i only want the data to visualize it in the vrm portal it can take 1 second of time to get the data.
0 Likes 0 ·
matt1309 avatar image matt1309 jency commented ·

Hi @Jency


Have you found any threads that describe the change in protocol/modbus registers? If you do i can try make something. I wont be able to test it but if i get to the stage where all you have to do is use a modbus scanner to check the modbus registers on your inverter then you can just tweak those in a register variables in the python script.

You could use this and just edit the registers and decode function accordinly?

dbus-modbus-client/carlo_gavazzi.py at master · victronenergy/dbus-modbus-client · GitHub

0 Likes 0 ·
matt1309 avatar image
matt1309 answered ·

Hi @Jency


I noticed in the release notes for venus os v3.14 that the "support for new SMA TriPower X PV-inverters"

Is mentioned. Not sure if that's your model but maybe worth upgrade to 3.14 or high just to see if that solves your problems.

2 |3000

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