Custom Component: Generic SunSpec modbus TCP monitoring (inverter, meter etc)

How is it possible to customize the sensors? Is it done via the “read models” setting in the integration configuration?
Just wanting to be sure I don´t miss any sensors as I do not see any sensors regarding my batteries connected to the inverter.

Read models in config lets you select what data registers you want to use, so there is a chance that your battery data is available and can be enabled in there, you can always try to enable all of them and see if anything interesting shows up (should be models above at least 400 i think).
Some vendors can also have separate slave id’s for different data, if you can find documentation for your device it might tell you if that is the case.
Good luck!

The night mode was turned off. So that could not be the problem.

image

Hi,
I’m also struggling with the connection.
I used ‘QModMaster’ as earlier in the discussion.
image
my inverter is ABB PVI 3.6 OUTD met VSN300 wifi logger
How can i get this working in HA.
In the log from HA I see :
2021-10-13 11:07:21 ERROR (MainThread) [custom_components.abb_powerone_pvi_sunspec] Reading data failed! Inverter is unreachable on ID=247
2021-10-13 11:07:24 ERROR (MainThread) [custom_components.abb_powerone_pvi_sunspec] Reading data failed! Inverter is unreachable on ID=247

I have changed to ID=2 and startadres 70.
I get these errors :
2021-10-13 13:41:45 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up abb_powerone_pvi_sunspec platform for sensor
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 249, in _async_setup_platform
await asyncio.shield(task)
File “/config/custom_components/abb_powerone_pvi_sunspec/sensor.py”, line 20, in async_setup_entry
hub.read_modbus_data_inverter()
File “/config/custom_components/abb_powerone_pvi_sunspec/init.py”, line 253, in read_modbus_data_inverter
comm_manufact = decoder.decode_string(size=32).decode(“ascii”)
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xff in position 4: ordinal not in range(128)

THX

It’s ok
after extra reading i have set the regitry on 0 and everything comes in.

The thread for my component is here: Custom Component: ABB/Power-One/FIMER PV Inverters - SunSpec Modbus TCP

You’ll find the instructions to configure the VSN300 in the first post. I use the VSN300.

I was about to start developing a general sunspec plugin when I found this thread.
Good work. Will test the plugin in future thoroughly.
We should continue to develop this plugin with combined force and replace the other Modbus Sunspec inverter plugins like solaredge-modbus
Maybe @erikarenhill is also interested in this?

1 Like

Hi, very promising plugin, congratulations.

I just started but at the beginning I do have 2 questions:

  1. It looks like my data are not always correct
    image
    Maybe I read it wrong but I am pretty sure that I do not have 11.6 kW and so very stable.
    Should I change something?

  2. Is there a possibility to write data?

Thanks, the integration is pretty much complete, there seem to be some issues with scaling factor in the pySunSpec2 library that this integration utilizes but other than it should be OK.
Ideas for new features are always welcome :slight_smile:

Hello and thank you!

That data doesn’t look quite right, does other sensors look OK?
It could be a scaling factor issue, what inverter model do you have?

No wrting is currently supported, i could have a look at that if there’s a need for it, do you have an example of a value you would like to be able to change?

It would be nice to get total increasing values out of measurement sensors by using the Riemann integral, so that they can be used for the energy dashboard.
Example: Setup E3DC PV Inverter in new Energy Management (HA 2021.8)

Some sensors are ok (Vref, Inverter Hz, Phase Voltage…) some definitelly not (VAMax, WMax, Inverter Amps, /Pase x). Looks like ok are those which are universal.

This is Fronius Symo 8.2. In regosters as IG+ 150V. What is for me strange but this same is when checking manually due to Fronius instructions and moreover in their instructions example IG+ 150V exist as well.
May be helpful - Basic Settings and Nameplate sets looks similar.

About writing - I found this project when looking for a solution of putting data from a smart-meter (other than Fronius) to the Inverter. So I would like to have the possibility to write data as energy consumption, from grid, to grid…

Seems like this stopped working after HA updated to 2021.11. When I try to add a device it shows all the sunspec models. When I click on the dropdown, I can select the models I want to support but it doesn’t work. Seems like a problem with the dropdown.

I downgraded to HA core 2021.10.7 and added the Sunspec device. After this I upgraded back to HA core 2021.11.4.

Thanks, I’ll take a look at this ASAP!
To increase the chance of me seeing bug reports it’s good to create an issue at the Github repo:

I will, thanks for this great Sunspec integration!

1 Like

I am trying to use “DC Energy Injected” and “DC Energy Absorbed” from Sunspec model 714 (DER DC Measurement) for the Energy monitor but when I add my device those entities are not being added to HA. I started looking at the code of this integration and also the Sunspec model_714.json file. Sunspec model_714.json file does not include a “units” value for any of its values and that seems to be the problem. I tried to find the model_714.json file to edit it manually but I could not find it. Anybody knows if this can be done? Thanks again

It looks like the SunSpec folks have missed to add units to the model specification file. This file (model_714.json) is used by the pySunSpec2 library which my integration relies on.
I have created an issue with them to get this fixed, you can upvote it here:

Thanks again. Do you know if the file can be modified locally in the mean time?

I was able to modify the model_714.json file. I found it somewhere in /mnt/data/docker/overlay2 by running the command: find /mnt/data/docker -name model_714.json. Now the entities in 714 are added correctly.

1 Like