biemond / solaredge.modbus

Homey Solaredge modbus app
GNU General Public License v3.0
8 stars 9 forks source link

Sungrow string inverter #108

Open erikfriman opened 5 days ago

erikfriman commented 5 days ago

First of all, thanks for a great app! I’m using it to connect my Sungrow hybrid inverter(SH8) + battery but also my “regular” Sungrow string inverter (SG8). Though my non-hybrid inverter is not officially supported it still reports “solar power” and “total yield”, but nothing else. My ask is to add support for regular Sungrow string inverters as well. Thanks, and keep up the great work!

biemond commented 5 days ago

hey ,

interesting. can you send me a diagnostic report also do you have a doc about your modbus registers.

thankd Edwin

erikfriman commented 5 days ago

Hi,

This is the diagnostic log that was sent from my homey pro: cf802b3b-1fbd-4676-ab6f-cea09af7d46

This is the only doc I could find, applies to a lot of diferrent models including mine. 😊

ti_20230117_communication-protocol-of--residential-and-commerical-pv-grid-connected-inverter_v1.1.53_en.pdf

biemond commented 5 days ago

nice, let me check SH8 and see which version I developed this against.

biemond commented 5 days ago

I think I need for 1 of your inverter a plain version with no batt or meters. and for the other we need to check, almost there.

can you remove your normal device so only the other is there. maybe restart the app and send me a report after x minutes. lets fix that 1 1st.

erikfriman commented 5 days ago

Removed the hybrid inverter and restarted the app, this is the diagnostic that I ran afterwards: bec340da-d681-4712-bc0b-24b36ebe2d6a

biemond commented 5 days ago

can you do the other way around and see if with batt is ok. after that will strip it and make a normal sungrow device.

erikfriman commented 5 days ago

No worries, removed the string inverter and added the hybrid and ran log again: 19af3aae-a9f7-4b8c-bb72-0bfd2a609d58

Didn’t restart the app in between, let me know if you need me to do that.

biemond commented 5 days ago

checking.

biemond commented 5 days ago

yep looks ok, so let me copy sungrow and strip out everything which is related to meters or batt.

biemond commented 5 days ago

I think I have to remove these , don't know what will be left here

error with key: battery_power
error with key: loadpower
error with key: exportpower
error with key: outputPower
error with key: active_power_limit
error with key: pvTodayEnergy
error with key: pvTotalEnergy
error with key: temperature
error with key: battsoc
error with key: bmshealth
error with key: batttemperature
error with key: today_battery_output_energy
error with key: total_battery_output_energy
error with key: today_battery_input_energy
error with key: total_battery_input_energy
error with key: today_grid_import
error with key: total_grid_import
error with key: today_grid_export
error with key: total_grid_export
error with key: Runningstate
checkRegister result
error with key: emsmodeselection
error with key: charge_discharge_command
error with key: charge_discharge_power
error with key: max_soc 
error with key: min_soc
error with key: export_power
error with key: export_power_enabled
biemond commented 5 days ago

let me check the doc for SG8

biemond commented 5 days ago

what do you like to see from this page , the 5000 registers https://github.com/mvandersteen/SungrowInverter/blob/794cb9e52fb07b062c75e58112823d6d1a211c75/sungrowinverter/configs/string.py#L134

erikfriman commented 5 days ago

A bit of guesswork on some of the below as I’m not sure what they actually do. I guess 5017 is the same as solar power in the app!?

What i originally was missing was actually just 5003 but I couldn’t resist adding more when I had the chance…

ModBusRegister(5003, "daily_energy_yield", "U16", 0.1, KILO_WATT_HOUR), ModBusRegister(5093, "daily_export_from_pv", "U32", 0.1, KILO_WATT_HOUR, valid_inverters=[0x013C,0x013E,0x013F,0x0142,0x0143,0x0147,0x0148,0x0149,0x2C0F]), ModBusRegister(5017, "total_dc_power", "U32", unit_of_measure=WATT, description="PV power that is usable (inverter after inefficiency)"), ModBusRegister(5101,"daily_direct_energy_consumption", "U32", 0.1, KILO_WATT_HOUR, valid_inverters=[0x013C,0x013E,0x013F,0x0142,0x0143,0x0147,0x0148,0x0149,0x2C0F]), ModBusRegister(5128, "monthly_energy_yield", "U32", 0.1, KILO_WATT_HOUR),

erikfriman commented 11 hours ago

Anything else I can do to assist? 😊

biemond commented 5 hours ago

No, I am fine only need to find some time probably coming week