Custom Component: SolarEdge Modbus TCP

Hi, yes sensor.solaredge_modbus exists in HA and is updated with values correctly (Hz, V, temp etc) … it’s just my import/export meter which isn’t sending anything to HA.

@jaminben have you tried this solution posted earlier in the thread? (and also set read meter parameter in configuration?) Custom Component: SolarEdge Modbus TCP

You may have to play with the Communication settings of the SetApp. With mine, RS485-1 Protocol is set to Modbus. On the same page, click “Add Modbus Device”. After I have set Meter Function to “Export+Import”, then the data started to poll.

OK, I’ll have a play with the inverter and I have set the parameter to true in the config… Unfortunately I have the LCD panel version which is rather clunky. Hopefully it won’t stop the SolarEdge App from receiving the same data.

@erikarenhill @timolol

I ventured in to loft and tried the suggestions but still nothing… I have modbus data coming into HA just not the Import\Export data. I’ve attached a screenshot of my inverters display in the hope someone may spot something.

Edit: I add a couple screenshots of my HA states.

Thanks for this component!
I got it to work quite easily. We have a kaco blueplanet. At first I thought it didn’t work. But I was testing at nighttime. In the morning I suddenly found it working:)

@Moreincubus
Do you mind sharing your setup to get kaco blueplanet working or at least share some hints? I’m quite new to this whole HA thing and integrating kaco is something I’m trying to achieve as well.

I think the component will work out of the box…
I did have to setup modbus on the Kaco display:
settings->network-> modbus.
enable it, and set the port to match the port from the HA config.

solaredge_modbus:
    name: 'Blueplanet Modbus'
    host: x.x.x.x
    port: 502 #default modbus port
    scan_interval: 5 #Optional: time in seconds between readings. Recommended value is at fastest 2-3 sec, default 5
    read_meter1: false #Optional: set this to true if you have an external modbus meter connected with RS485 for reading self consumption

And i did change a line (line 78) in the sensor.py file:
'reading = self._client.read_holding_registers(40070, 39)'
I don’t know if that made the difference…

I tried to enable the Modbus stuff again today, but as soon as I set it to Modbus, I get a red banner with 3x6E communication error. I cleared it and put it back to SolarEdge Slave and the problem went away. But no love for the broadcast messages.

@Moreincubus
Thanks for the information. But no luck to get it working properly. Modbus is enabled and initially I received this morning some wired numbers (1+e215) for the sensor. Was testing it with the original and modified sensor.py afterwards. Now I don’t receive any values for the sensor at all anymore.

Using the default scan_interval (5 seconds) also killed the whole performance of HA in general.

@m5677 Maybe a difference in the setup?
We have:
blueplanet 5.0 TL3 5,00 kW nominal power, three-phase
RS485 address: 1
SW: 3.34

@Moreincubus mine has just more power, rest is the same.
blueplanet 9.0 TL3 9,00 kW nominal power, three-phase
RS485 address: 1
SW: 3.34
Will do some more testing over the weekend. Thanks.

Looks like I got it working now. Removed all the modbus components and started this integration from scratch again. Made the necessary adjustment and now the results are looking fine. Thanks for the assistance.

I have a generic Modbus error as supposedly pyModbusTCP module has not been found. Any way to fix this?
@membersound I tried adding a generic modbus entry to my configuration.yaml with no success

modbus:
  name: solaredgemodbustest
  type: tcp
  host: 192.168.2.230
  port: 1502
Logger: homeassistant.loader
Source: custom_components/solaredge_modbus/__init__.py:5 
First occurred: 8:44:35 PM (6 occurrences) 
Last logged: 8:59:56 PM

Error loading custom_components.solaredge_modbus. Make sure all dependencies are installed
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 387, in _load_file
    module = importlib.import_module(path)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/config/custom_components/solaredge_modbus/__init__.py", line 5, in <module>
    from pyModbusTCP.client import ModbusClient
ModuleNotFoundError: No module named 'pyModbusTCP'

I think you had to install (unzip) the modbus module, and then first restart hassio without adding the modbus configuration. Then, after a clean restart, add the configuration and restart again.

This is indeed poorly documented, but I think it worked that way.

1 Like

When you say modbus module, is that the solar edge one or the generic home Assistant one?

It’s the custom component from the repository that we’re talking about.

Hi,

I have my SolarEdge reporting meter readings now (needed a firmware update) but I thought I might have a little more information from the meter than I have.

ac_current: 0
ac_current_phase_a: 0
ac_current_phase_b: 0
ac_current_phase_c: 0
ac_voltage_phase_ll: 162.35
ac_voltage_phase_ab: 243.52
ac_voltage_phase_bc: 0
ac_voltage_phase_ca: 243.52
ac_voltage_phase_ln: 243.52
ac_voltage_phase_an: 243.52
ac_voltage_phase_bn: 0
ac_voltage_phase_cn: 0
ac_frequency: 50.11
ac_power_output: 521
ac_va: 623
ac_var: 65193
ac_pf: 570.5
exported: 1467937
imported: 14178739
exported_va: 0
imported_va: 0
imported_var_q1: 0
imported_var_q2: 0
exported_var_q3: 0
exported_var_q4: 0
events: 0
unit_of_measurement: W
friendly_name: SolarEdge Modbus Meter #1
icon: mdi:power-plug

Does this look correct?

I was expecting to be able to tell how much power I’m importing or exporting from\to the grid in more or less realtime (it’s availble by the SolarEdge App but not in realtime so assumed it would be here).

Thanks
Ben

Hi,

I’m trying to install this custom_component.
But I always get the message " Component error: solaredge_modbus - Integration ‘solaredge_modbus’ not found.

I’ve copied it in custom_components where I hav e couple of other components like Youless.
Edited the configuration.yaml but still the same error.

What is wrong?

Yes, you should put the files in custom_components, such as

custom_component/solaredge_modbus

this directory should contain the same files as found under https://github.com/erikarenhill/solaredge-modbus-hass/tree/master/custom_components/solaredge_modbus

you can also just clone the repo and put symlinks (ln -s) instead if you want to.