GithubHelp home page GithubHelp logo

Comments (5)

AndreiLux avatar AndreiLux commented on August 11, 2024

Here's also a bit more context as to what those "pgrid" registers are:


timestamp: 				 Timestamp = 2023-11-19 14:26:47 
vpv1: 				 PV1 Voltage = 726.5 V
ipv1: 				 PV1 Current = 1.9 A
ppv1: 				 PV1 Power = 728 W
vpv2: 				 PV2 Voltage = 726.5 V
ipv2: 				 PV2 Current = 0.0 A
ppv2: 				 PV2 Power = 487 W
vpv3: 				 PV3 Voltage = 693.6 V
ipv3: 				 PV3 Current = 1.7 A
ppv3: 				 PV3 Power = 0 W
ppv: 				 PV Power = 1215 W
pv3_mode: 				 PV3 Mode code = 0 
pv3_mode_label: 				 PV3 Mode = PV panels not connected 
pv2_mode: 				 PV2 Mode code = 2 
pv2_mode_label: 				 PV2 Mode = PV panels connected, producing power 
pv1_mode: 				 PV1 Mode code = 2 
pv1_mode_label: 				 PV1 Mode = PV panels connected, producing power 
vgrid: 				 On-grid L1 Voltage = 232.5 V
igrid: 				 On-grid L1 Current = 2.3 A
fgrid: 				 On-grid L1 Frequency = 49.96 Hz
pgrid: 				 On-grid L1 Power = 438 W
vgrid2: 				 On-grid L2 Voltage = 233.6 V
igrid2: 				 On-grid L2 Current = 1.5 A
fgrid2: 				 On-grid L2 Frequency = 49.95 Hz
pgrid2: 				 On-grid L2 Power = 243 W
vgrid3: 				 On-grid L3 Voltage = 233.3 V
igrid3: 				 On-grid L3 Current = 3.4 A
fgrid3: 				 On-grid L3 Frequency = 49.96 Hz
pgrid3: 				 On-grid L3 Power = 653 W
grid_mode: 				 Grid Mode code = 1 
grid_mode_label: 				 Grid Mode = Connected to grid 
total_inverter_power: 				 Total Power = 1334 W
active_power: 				 Active Power = 823 W
grid_in_out: 				 On-grid Mode code = 1 
grid_in_out_label: 				 On-grid Mode = Exporting 
reactive_power: 				 Reactive Power = 1004 var
apparent_power: 				 Apparent Power = 1677 VA
backup_v1: 				 Back-up L1 Voltage = 231.1 V
backup_i1: 				 Back-up L1 Current = 2.9 A
backup_f1: 				 Back-up L1 Frequency = 49.96 Hz
load_mode1: 				 Load Mode L1 = 0 
backup_p1: 				 Back-up L1 Power = 35 W
backup_v2: 				 Back-up L2 Voltage = 232.6 V
backup_i2: 				 Back-up L2 Current = 1.6 A
backup_f2: 				 Back-up L2 Frequency = 49.95 Hz
load_mode2: 				 Load Mode L2 = 0 
backup_p2: 				 Back-up L2 Power = 9 W
backup_v3: 				 Back-up L3 Voltage = 232.3 V
backup_i3: 				 Back-up L3 Current = 3.2 A
backup_f3: 				 Back-up L3 Frequency = 49.97 Hz
load_mode3: 				 Load Mode L3 = 0 
backup_p3: 				 Back-up L3 Power = 338 W
load_p1: 				 Load L1 = 49 W
load_p2: 				 Load L2 = 17 W
load_p3: 				 Load L3 = 361 W
backup_ptotal: 				 Back-up Load = 389 W
load_ptotal: 				 Load = 122 W
ups_load: 				 Ups Load = 7 %
temperature_air: 				 Inverter Temperature (Air) = 43.4 C
temperature_module: 				 Inverter Temperature (Module) = 0.0 C
temperature: 				 Inverter Temperature (Radiator) = 38.8 C
function_bit: 				 Function Bit = 0 
bus_voltage: 				 Bus Voltage = 760.4 V
nbus_voltage: 				 NBus Voltage = 380.2 V
vbattery1: 				 Battery Voltage = 213.9 V
ibattery1: 				 Battery Current = -0.1 A
pbattery1: 				 Battery Power = -21 W
battery_mode: 				 Battery Mode code = 2 
battery_mode_label: 				 Battery Mode = Discharge 
warning_code: 				 Warning code = 0 
safety_country: 				 Safety Country code = 32 
safety_country_label: 				 Safety Country = 50Hz Grid Default 
work_mode: 				 Work Mode code = 1 
work_mode_label: 				 Work Mode = Normal (On-Grid) 
operation_mode: 				 Operation Mode code = 0 
error_codes: 				 Error Codes = 0 
errors: 				 Errors =  
e_total: 				 Total PV Generation = 28.1 kWh
e_day: 				 Today's PV Generation = 17.8 kWh
e_total_exp: 				 Total Energy (export) = 19.7 kWh
h_total: 				 Hours Total = 52 h
e_day_exp: 				 Today Energy (export) = 6.0 kWh
e_total_imp: 				 Total Energy (import) = 2.6 kWh
e_day_imp: 				 Today Energy (import) = 0.6 kWh
e_load_total: 				 Total Load = 8.3 kWh
e_load_day: 				 Today Load = 0.6 kWh
e_bat_charge_total: 				 Total Battery Charge = 15.4 kWh
e_bat_charge_day: 				 Today Battery Charge = 12.1 kWh
e_bat_discharge_total: 				 Total Battery Discharge = 4.7 kWh
e_bat_discharge_day: 				 Today Battery Discharge = 0.0 kWh
diagnose_result: 				 Diag Status Code = 33816768 
diagnose_result_label: 				 Diag Status = Discharge Driver On, BMS: Discharge current low, BMS: Charge disabled, PF value set 
house_consumption: 				 House Consumption = 371 W
battery_bms: 				 Battery BMS = 255 
battery_index: 				 Battery Index = 311 
battery_status: 				 Battery Status = 1 
battery_temperature: 				 Battery Temperature = 25.0 C
battery_charge_limit: 				 Battery Charge Limit = 0 A
battery_discharge_limit: 				 Battery Discharge Limit = 40 A
battery_error_l: 				 Battery Error L = 0 
battery_soc: 				 Battery State of Charge = 100 %
battery_soh: 				 Battery State of Health = 100 %
battery_modules: 				 Battery Modules = 4 
battery_warning_l: 				 Battery Warning L = 0 
battery_protocol: 				 Battery Protocol = 261 
battery_error_h: 				 Battery Error H = 0 
battery_error: 				 Battery Error =  
battery_warning_h: 				 Battery Warning H = 790 
battery_warning: 				 Battery Warning = err17, err18, err20, err24, err25 
battery_sw_version: 				 Battery Software Version = 0 
battery_hw_version: 				 Battery Hardware Version = 0 
battery_max_cell_temp_id: 				 Battery Max Cell Temperature ID = 0 
battery_min_cell_temp_id: 				 Battery Min Cell Temperature ID = 0 
battery_max_cell_voltage_id: 				 Battery Max Cell Voltage ID = 0 
battery_min_cell_voltage_id: 				 Battery Min Cell Voltage ID = 0 
battery_max_cell_temp: 				 Battery Max Cell Temperature = 0.0 C
battery_min_cell_temp: 				 Battery Min Cell Temperature = 0.0 C
battery_max_cell_voltage: 				 Battery Max Cell Voltage = 0.0 V
battery_min_cell_voltage: 				 Battery Min Cell Voltage = 0.0 V
commode: 				 Commode = 2 
rssi: 				 RSSI = 100 
manufacture_code: 				 Manufacture Code = 10 
meter_test_status: 				 Meter Test Status = 273 
meter_comm_status: 				 Meter Communication Status = 1 
active_power1: 				 Active Power L1 = 388 W
active_power2: 				 Active Power L2 = 222 W
active_power3: 				 Active Power L3 = 288 W
active_power_total: 				 Active Power Total = 899 W
reactive_power_total: 				 Reactive Power Total = 317 var
meter_power_factor1: 				 Meter Power Factor L1 = 23.064 
meter_power_factor2: 				 Meter Power Factor L2 = -6.136 
meter_power_factor3: 				 Meter Power Factor L3 = 7.464 
meter_power_factor: 				 Meter Power Factor = 8.964 
meter_freq: 				 Meter Frequency = 49.97 Hz
meter_e_total_exp: 				 Meter Total Energy (export) = 0.0 kWh
meter_e_total_imp: 				 Meter Total Energy (import) = 0.0 kWh
meter_active_power1: 				 Meter Active Power L1 = 388 W
meter_active_power2: 				 Meter Active Power L2 = 222 W
meter_active_power3: 				 Meter Active Power L3 = 288 W
meter_active_power_total: 				 Meter Active Power Total = 899 W
meter_reactive_power1: 				 Meter Reactive Power L1 = 46 var
meter_reactive_power2: 				 Meter Reactive Power L2 = 177 var
meter_reactive_power3: 				 Meter Reactive Power L2 = 93 var
meter_reactive_power_total: 				 Meter Reactive Power Total = 317 var
meter_apparent_power1: 				 Meter Apparent Power L1 = 440 VA
meter_apparent_power2: 				 Meter Apparent Power L2 = 371 VA
meter_apparent_power3: 				 Meter Apparent Power L3 = 391 VA
meter_apparent_power_total: 				 Meter Apparent Power Total = 1203 VA
meter_type: 				 Meter Type = 2 
meter_sw_version: 				 Meter Software Version = 5 

On these ETT series, they are not on-grid outputs but rather they are the sum of the AC output generated by the inverter through PV and battery, wherever they might go. SolarGo is also wrongly labelling these metrics in the app as "on-grid" which can be a bit confusing. I also remember that when these values go negative is when the inverter has to ingest power from the grid connectors, but I need to check again during the night and when the battery is discharged.

In the above snippet, PV is generating 1907W (ppv), the battery is generating 404W (pbattery1), the inverter total AC generation is 2462W (total_inverter_power ~= sum of pgrid/2/3), with a consumption hanging off the backup load of 2386W (backup_ptotal). In this scenario load_p1/2/3 ~= backup_p1/2/3. It's ingesting 27W from the grid side connectors (active_power).

active_power +- equals the meter_active_power_total in my scenario as I have basically nothing connected to non-backup except the distribution panel itself and whatever losses might happen in there between the CTs and the actual inverter.

active_power goes positive when injecting into the grid connector, and goes negative when ingesting through it.

Also with the above behaviour, "house_consumption" calculation as it is currently is wrong and off by a bit as it doesn't end up matching the actual load, a simpler way to generate a more accurate figure is to just do "total_inverter_power - active_power".

I'll add more comments once I manage to correlate the numbers in different scenarios.

from goodwe.

AndreiLux avatar AndreiLux commented on August 11, 2024

However, SolarGo is showing 3.5kW into the house, which I know to be inaccurate, and I also noted that SolarGo always overestimates the house power by a large amount which seems to correlate with the calculated vs mdobus power sum difference.

Update: This behaviour has now been fixed as of DSP V06 SVN 6017 (November 24 release) on ETT models, and now the calculated reported modbus V/A on the strings matches the MPPT power entries. The labelling mismatch still exists (V/A entries == string #'s, P entries == MPPT #'s).

from goodwe.

AndreiLux avatar AndreiLux commented on August 11, 2024

Please find attached a complete revamped modbus register mapping for the ES G2 and ETT/ET-15-30 inverters.

Somebody simply just had to ask GoodWe for it and we got it.

ARM 745, ESG2,ET30 MODBUS Protocol Map 20221231 - v1.pdf

Credit to "NorthPV": https://www.photovoltaikforum.com/thread/186135-goodwe-gw10k-et-sammelthread/?postID=3488118#post3488118

Due the extensive differences here, it makes sense to split off those inverter series into a different mapping file and not attempt to include it into the current et.py. I will look into if I have any spare time, but hopefully this allows the community to advance at greater pace.

also ping @mletenay as this solves all ET-15-30k related issues on https://github.com/mletenay/home-assistant-goodwe-inverter/issues

from goodwe.

mletenay avatar mletenay commented on August 11, 2024

That's great. AFAIK Goodwe was not really willing to share such data without NDA in the past, so this is definitely progress.
I will study it and incorporate it in the code sometime this week ...

from goodwe.

mletenay avatar mletenay commented on August 11, 2024

The code was enhanced with ETT specific registers besides support for 2nd battery it now provides values for PV5-16 strings and power and current values for MPPT 1-8.

from goodwe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.