[APP][Pro] SolarEdge + Growatt TCP modbus

I guess it is not needed, let me make a build for you

 if (type == 'limitcontrolmode') {
        // 0 – Disabled
        // 1 – Export Control
        // 2 – Production Control
        // 11 – Minimum Import Control
        if (value == 1) {
          const limitcontrolmodeeRes = await client.writeSingleRegister(0xe000, Number(1));
          console.log('limitcontrolmode', limitcontrolmodeeRes);
          // side = 0
          const limitcontrolsideRes = await client.writeSingleRegister(0xe001, Number(0));
          console.log('limitcontrolside', limitcontrolsideRes);
          // 3000
          const limitcontrolWattRes = await client.writeMultipleRegisters(0xe002, [ 32768, 17723]);
          console.log('limitcontrolwatt', limitcontrolWattRes);
        } else if (value == 11) {
          const limitcontrolmodeeRes = await client.writeSingleRegister(0xe000, Number(2049));
          console.log('limitcontrolmode', limitcontrolmodeeRes);
          // 500
          const limitcontrolWattRes = await client.writeMultipleRegisters(0xe002, [0, 17402]);
          console.log('limitcontrolwatt', limitcontrolWattRes);
        } else {
          const limitcontrolmodeeRes = await client.writeSingleRegister(0xe000, Number(0));
          console.log('limitcontrolmode', limitcontrolmodeeRes);
        }
      }

@Koelman here we go , can you test this one with normal solaredge inverter SolarEdge + Growatt TCP modbus | Homey

only annoying thing is, I cannot skip this 1st page with actions and go straight to sensors.



Hi Edwin,

Installed the solar edge inverter (also installed the battery controller?). Then I fixed the advanced flow.

Some results:

b1b0cb69-36ca-4881-a62d-78181170be30

can you do export mode again and send me a report 30 seconds after, only see min 46 and no export limit action.

ec8224a9-dd51-45ad-8ad1-06b9c7bd76d6

1 Like

should I delete the batt device? perhaps settings are interfering?

looks ok, it writes at least

Client closed
{
  host: '10.10.0.15',
  port: 1502,
  unitId: 1,
  timeout: 15,
  autoReconnect: false,
  logLabel: 'solaredge Inverter',
  logLevel: 'error',
  logEnabled: true
}
Connected ...
limitcontrolwatt {
  metrics: UserRequestMetrics {
    createdAt: 2023-03-26T09:57:10.016Z,
    startedAt: 2023-03-26T09:57:10.016Z,
    receivedAt: 2023-03-26T09:57:11.362Z
  },
  request: ModbusTCPRequest {
    _id: 1,
    _protocol: 0,
    _length: 11,
    _unitId: 1,
    _body: WriteMultipleRegistersRequestBody {
      _fc: 16,
      _address: 57346,
      _values: [Array],
      _valuesAsArray: [Array],
      _byteCount: 10,
      _numberOfBytes: 4,
      _quantity: 2,
      _valuesAsBuffer: 
    }
  },
  response: ModbusTCPResponse {
    _id: 1,
    _protocol: 0,
    _bodyLength: 6,
    _unitId: 1,
    _body: WriteMultipleRegistersResponseBody {
      _fc: 16,
      _start: 57346,
      _quantity: 2
    }
  }
}
disconnect

yes, even I am not blocking , it requires more retries to do things

@Koelman does it work? because I see on the docs you need to have meters installed (not P1) and feed that data back to the inverter. else it cannot calculate your own consumption .

Or find a way to shutdown / disable your inverter


I guess it seems to remember the im/export control limit setting (like 50W), but the limit mode itself flips back from export control to disabled within a few seconds. Meanwhile I don’t see a Power drop.

So there is no way the inverter can use power usage data fed by Homey? And without it, it will not activate anything like a power cap? I see it can work with a SE meter, an S0 meter and a (so called) “smart energy manager”. All feeding information over RS485. Any ideas on the most economic option form here?

One more idea… Is there a way to alter the actual max power limit of the inverter? I guess I’ve seen a main setting on the inverter, not the one within the “limit mode” option. Or… can I completely “disable” the inverter remotely? This would also work for now.

I’m not sure if can reply to your next post that fast from now, got a message from the forum about a new-user-post-limit. :zipper_mouth_face:

you can do direct to me or mail me at biemond at gmail

so I will revert this change for now.

this is very nice impl how to use p1 with solaredge GitHub - nmakel/solaredge_meterproxy: Modbus proxy for SolarEdge inverters and unsupported kWh meters
with
tGW-715 or ★Elfin-EE10&Elfin-EE11 as hardware

Maybe from this app I can feed the p1 data back to the inverter.

Now, add a meter:

Set the Protocol to Modbus (Multi-Device).
Choose Add Modbus Device.
Choose Meter.
Select the newly added Meter 1.
Set Meter Function to the functionality of the meter you will be proxying.
Set Meter Protocol to SolarEdge.
Set Device ID to 2, or another unused Modbus ID if you have multiple devices connected.
Set the appropriate CT Rating and Grid Topology depending on your situation.

I enabled modbus on my solaredge 2 hours ago, and added my inverter to homey, but tjeres no data comming trough, i did the steps in your troubleshooting, but still nothing. Is there something else i might try?

Hey,

I guess you can do ip and port scan to see if the port is open. mostly it is a wrong ip or port (mostly 502 or 1502). plus check your modbus device id, mostly it is 1

can you also send me a diagnostic report.

thanks

I just rechecked the ipadres and its the same, tried port 502 and 1502 but same result. Device id is 1. I sent you the diagnostic report:

901ec24b-b637-4b6d-9cb8-29b1c66dca4b

yes from homey it cannot find your ip. Can you check that 1 in your router, check firewall rules and do some port scanning.

1 Like

Ill try tomorrow, thanks for the effort

1 Like

I have a Growatt SPH-3000 installed by a company, it is equipped with a shine-wifi and the modbus is connected to an Eastron SDM230 Modbus meter. I wish to use the solaredge app on my homey but got confused by my own installation.

The ShineWifi module allows me to adjust settings remotly, this has to stay although I do not like the idea of sharing data to China or whatever. I will take a closer look and test some blocks in my draytek router.

The Eastron SDM230 is installed next to the mains, but not sure why. Does this has anything to do with injection of solarenergy back to the grid and allow the provider to read the input? If anyone knows, please let me know.

The Eastron has a RS485 output for Modbus RTU, is this what I need to connect the Modbus TCP KM tronic?

Thanks for any help here, the installation is in Spain so I need to prepare everything remote.

@lucje Can you also help Phil.

but I think Eastron SDM230 Modbus meter is just to measure your own consumption and giving power back to the grid or measure import. It gives it back to the inverter.
For me this is used, how much should come to the battery or you can control export and import to the grid some country have some restrictions.

So this is probably not enough and still you need to do this Dropbox - Setup Growatt.pdf - Simplify your life

thanks

@Edwin_Biemond, Thank you. I know I need the KM converter but how to connect to the existing Modbus Eastron?

In the manual of the KM converter a setup diagram is shown (see below), it not a wire sample. Since I’m not familiar with MODbus it is unclear howto connect to the existing situation. Anyone able to tell me if the KM converter is connected parallel to the wires coming from the Growatt inverter OR should I use the RS485 output of the Modbus RTU;

The meter provides a RS485 port for remote communication. Modbus RTU is the protocol applied. For Modbus RTU, the following RS485 communication parameters can be configured from the Set-up menu.

Baud rate: 1200, 2400, 4800, 9600
Parity: NONE/EVEN/ODD
Stop bits:1 or 2
Modbus Address: 1 to 247

I think you need to use RS485 ports to put them in serie or both on the inverter. probably inverter can pass on your meter data. don’t know if the device or inverter can be a master or a slave device.

most important that you assign an unique modbus address to the all devices if you can. for me it is 1 on the inverter, 2 on the meters etc.

I guess maybe you can ask KM or on some forum.