WillCodeForCats / solaredge-modbus-multi

Modbus/TCP local polling to one or more SolarEdge inverters. For single inverters, multiple inverters, meters, and batteries.
Apache License 2.0
192 stars 16 forks source link

Complete Wrong Numbers #626

Closed DennisPh1977 closed 4 months ago

DennisPh1977 commented 4 months ago

Describe the bug

The new power value does not fit at all. The values displayed for an SE10K-RWS48BEN4 make no sense at all. The AC power is displayed as 1,309.2 W but is approx. 6,300 W because 5,000 W go into the memory. You can no longer do anything with these values. The values of the second inverter, an SE5K-RWBTEBEN4 which is set as a slave, seem to fit. So there seems to be a problem with the power value when a storage unit is connected. What should be displayed is what the inverter produces without deducting the energy that goes into the storage system.

Expected behavior

What should be displayed is what the inverter produces without deducting the energy that goes into the storage system.

Screenshots

Bildschirmfoto 2024-07-15 um 10 53 40

Diagnostic File

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.7.2", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.4", "docker": true, "arch": "x86_64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "6.6.33-haos", "supervisor": "2024.06.2", "host_os": "Home Assistant OS 12.4", "docker_version": "26.1.4", "chassis": "vm", "run_as_root": true }, "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "solaredge_modbus_multi": { "documentation": "https://github.com/WillCodeForCats/solaredge-modbus-multi/wiki", "version": "2.4.18", "requirements": [ "pymodbus>=3.6.6" ] } }, "integration_manifest": { "domain": "solaredge_modbus_multi", "name": "SolarEdge Modbus Multi", "codeowners": [ "WillCodeForCats" ], "config_flow": true, "dependencies": [], "documentation": "https://github.com/WillCodeForCats/solaredge-modbus-multi/wiki", "integration_type": "hub", "iot_class": "local_polling", "issue_tracker": "https://github.com/WillCodeForCats/solaredge-modbus-multi/issues", "loggers": [ "custom_components.solaredge_modbus_multi" ], "requirements": [ "pymodbus>=3.6.6" ], "version": "2.4.18", "is_built_in": false }, "setup_times": { "null": { "setup": 0.00012602098286151886 }, "d5bdebc94e15953f7cea46a25d289852": { "wait_import_platforms": -0.0787988849915564, "wait_base_component": -0.0018500620499253273, "config_entry_setup": 3.757920218165964 } }, "data": { "config_entry": { "data": { "name": "SolarEdge", "host": "REDACTED", "port": 1502, "number_of_inverters": 2, "device_id": 3 }, "disabled_by": null, "domain": "solaredge_modbus_multi", "entry_id": "d5bdebc94e15953f7cea46a25d289852", "minor_version": 1, "options": { "scan_interval": 10, "keep_modbus_open": false, "detect_meters": true, "detect_batteries": true, "detect_extras": true, "advanced_power_control": true, "sleep_after_write": 0, "allow_battery_energy_reset": true, "battery_energy_reset_cycles": 0, "battery_rating_adjust": 100, "adv_storage_control": true, "adv_site_limit_control": false }, "pref_disable_new_entities": false, "pref_disable_polling": false, "source": "user", "title": "SolarEdge", "unique_id": "REDACTED", "version": 1 }, "yaml": {}, "inverter_unit_id_3": { "device_info": { "identifiers": "REDACTED", "name": "Solaredge I3", "manufacturer": "SolarEdge", "model": "SE10K-RWS48BEN4", "serial_number": "", "sw_version": "0004.0020.0036", "hw_version": "" }, "global_power_control": true, "advanced_power_control": true, "site_limit_control": null, "common": { "C_SunSpec_ID": 1400204883, "C_SunSpec_DID": 1, "C_SunSpec_Length": 65, "C_Manufacturer": "SolarEdge", "C_Model": "SE10K-RWS48BEN4", "C_Option": "", "C_Version": "0004.0020.0036", "C_SerialNumber": "REDACTED", "C_Device_address": 3 }, "model": { "C_SunSpec_DID": "0x67", "C_SunSpec_Length": "0x32", "AC_Current": "0x26e", "AC_Current_A": "0xce", "AC_Current_B": "0xcf", "AC_Current_C": "0xd0", "AC_Current_SF": "-0x2", "AC_Voltage_AB": "0x1004", "AC_Voltage_BC": "0xfea", "AC_Voltage_CA": "0xff2", "AC_Voltage_AN": "0x93c", "AC_Voltage_BN": "0x932", "AC_Voltage_CN": "0x936", "AC_Voltage_SF": "-0x1", "AC_Power": "0x38be", "AC_Power_SF": "-0x1", "AC_Frequency": "0x1386", "AC_Frequency_SF": "-0x2", "AC_VA": "0x394e", "AC_VA_SF": "-0x1", "AC_var": "-0x5021", "AC_var_SF": "-0x2", "AC_PF": "-0x26ad", "AC_PF_SF": "-0x2", "AC_Energy_WH": "0x5a3d3f", "AC_Energy_WH_SF": "0x0", "I_DC_Current": "0x4644", "I_DC_Current_SF": "-0x4", "I_DC_Voltage": "0x2006", "I_DC_Voltage_SF": "-0x1", "I_DC_Power": "0x399b", "I_DC_Power_SF": "-0x1", "I_Temp_Cab": "-0x8000", "I_Temp_Sink": "0x117c", "I_Temp_Trns": "-0x8000", "I_Temp_Other": "-0x8000", "I_Temp_SF": "-0x2", "I_Status": "0x4", "I_Status_Vendor": "0x0", "I_RRCR": "0x0", "I_Power_Limit": "0x64", "I_CosPhi": "0x3f800000", "CommitPwrCtlSettings": "0x0", "RestorePwrCtlDefaults": "0x0", "PwrFrqDeratingConfig": "0x7", "ReactivePwrConfig": "0x0", "ReactPwrIterTime": "0xc8", "ActivePwrGrad": "0x1", "FixedCosPhiPhase": "0x3f800000", "FixedReactPwr": "0x0", "ReactCosPhiVsPX_0": "0x0", "ReactCosPhiVsPX_1": "0x0", "ReactCosPhiVsPX_2": "0x42480000", "ReactCosPhiVsPX_3": "0x42c80000", "ReactCosPhiVsPX_4": "0x42c80000", "ReactCosPhiVsPX_5": "0x42c80000", "ReactCosPhiVsPY_0": "0x3f800000", "ReactCosPhiVsPY_1": "0x3f800000", "ReactCosPhiVsPY_2": "0x3f800000", "ReactCosPhiVsPY_3": "0xbf666666", "ReactCosPhiVsPY_4": "0xbf666666", "ReactCosPhiVsPY_5": "0xbf666666", "ReactQVsVgX_0": "0x42480000", "ReactQVsVgX_1": "0x42ba0001", "ReactQVsVgX_2": "0x42c20000", "ReactQVsVgX_3": "0x42ce0000", "ReactQVsVgX_4": "0x42d60001", "ReactQVsVgX_5": "0x42f00001", "ReactQVsVgY_0": "0xc22e6666", "ReactQVsVgY_1": "0xc22e6666", "ReactQVsVgY_2": "0x0", "ReactQVsVgY_3": "0x0", "ReactQVsVgY_4": "0x422e6666", "ReactQVsVgY_5": "0x422e6666", "FRT_KFactor": "0x40000000", "PowerReduce": "0x42c80000", "AdvPwrCtrlEn": "0x1", "FrtEn": "0x2", "MaxWakeupFreq": "0x42486666", "MinWakeupFreq": "0x423e0000", "MaxWakeupVg": "0x437d0000", "MinWakeupVg": "0x43438000", "Vnom": "0x43660000", "Inom": "0x4167e252", "PwrVsFreqX_0": "0x4248cccd", "PwrVsFreqX_1": "0x4250cccd", "PwrVsFreqY_0": "0x42c80000", "PwrVsFreqY_1": "0x41a00000", "ResetFreq": "0x4248cccd", "MaxFreq": "0x42500000", "ReactQVsPX_0": "0x0", "ReactQVsPX_1": "0x42480000", "ReactQVsPX_2": "0x42700001", "ReactQVsPX_3": "0x42a00000", "ReactQVsPX_4": "0x42b40000", "ReactQVsPX_5": "0x42c80000", "ReactQVsPY_0": "0x0", "ReactQVsPY_1": "0x0", "ReactQVsPY_2": "0x0", "ReactQVsPY_3": "0x0", "ReactQVsPY_4": "0x0", "ReactQVsPY_5": "0x0", "PwrFrqDeratingResetTime": "0xf230", "PwrFrqDeratingGradTime": "0x975e0", "ReactCosPhiVsPVgLockInMax": "0x0", "ReactCosPhiVsPVgLockInMin": "0x40000000", "ReactCosPhiVsPVgLockOutMax": "0x0", "ReactCosPhiVsPVgLockOutMin": "0x40000000", "ReactQVsVgPLockInMax": "0x0", "ReactQVsVgPLockInMin": "0x40000000", "ReactQVsVgPLockOutMax": "0x0", "ReactQVsVgPLockOutMin": "0x40000000", "ReactQVsVgType": "0x0", "PwrSoftStartTime": "0x927c0", "MaxCurrent": "0x418003bd", "PwrVsVgX_0": "0x41200000", "PwrVsVgX_1": "0x42c80000", "PwrVsVgX_2": "0x42d60001", "PwrVsVgX_3": "0x42dc0000", "PwrVsVgX_4": "0x42e60000", "PwrVsVgX_5": "0x42fa0000", "PwrVsVgY_0": "0x42c80000", "PwrVsVgY_1": "0x42c80000", "PwrVsVgY_2": "0x42c80000", "PwrVsVgY_3": "0x42c80000", "PwrVsVgY_4": "0x42c80000", "PwrVsVgY_5": "0x42c80000", "DisconnectAtZeroPwrLim": "0x1", "I_Grid_Status": "0x0" }, "is_mmppt": false, "mmppt": null, "has_battery": true, "storage_control": { "control_mode": "0x1", "ac_charge_policy": "0x1", "ac_charge_limit": "0x0", "backup_reserve": "0x0", "default_mode": "0x0", "command_timeout": "0xe10", "command_mode": "0xffff", "charge_limit": "0x459c4000", "discharge_limit": "0x459c4000" } }, "inverter_unit_id_4": { "device_info": { "identifiers": "REDACTED", "name": "Solaredge I4", "manufacturer": "SolarEdge", "model": "SE5K-RWBTEBEN4", "serial_number": "", "sw_version": "0004.0020.0036", "hw_version": "" }, "global_power_control": true, "advanced_power_control": true, "site_limit_control": null, "common": { "C_SunSpec_ID": 1400204883, "C_SunSpec_DID": 1, "C_SunSpec_Length": 65, "C_Manufacturer": "SolarEdge", "C_Model": "SE5K-RWBTEBEN4", "C_Option": "", "C_Version": "0004.0020.0036", "C_SerialNumber": "REDACTED", "C_Device_address": 4 }, "model": { "C_SunSpec_DID": "0x67", "C_SunSpec_Length": "0x32", "AC_Current": "0x62e", "AC_Current_A": "0x20f", "AC_Current_B": "0x20f", "AC_Current_C": "0x20f", "AC_Current_SF": "-0x2", "AC_Voltage_AB": "0xfff", "AC_Voltage_BC": "0xfec", "AC_Voltage_CA": "0xfee", "AC_Voltage_AN": "0x938", "AC_Voltage_BN": "0x934", "AC_Voltage_CN": "0x933", "AC_Voltage_SF": "-0x1", "AC_Power": "0xe89", "AC_Power_SF": "0x0", "AC_Frequency": "0x1386", "AC_Frequency_SF": "-0x2", "AC_VA": "0xe90", "AC_VA_SF": "0x0", "AC_var": "-0x5d47", "AC_var_SF": "-0x2", "AC_PF": "-0x26fb", "AC_PF_SF": "-0x2", "AC_Energy_WH": "0x3b0c61", "AC_Energy_WH_SF": "0x0", "I_DC_Current": "0x13ac", "I_DC_Current_SF": "-0x3", "I_DC_Voltage": "0x1d4c", "I_DC_Voltage_SF": "-0x1", "I_DC_Power": "0xec1", "I_DC_Power_SF": "0x0", "I_Temp_Cab": "-0x8000", "I_Temp_Sink": "0x11f9", "I_Temp_Trns": "-0x8000", "I_Temp_Other": "-0x8000", "I_Temp_SF": "-0x2", "I_Status": "0x4", "I_Status_Vendor": "0x0", "I_RRCR": "0x0", "I_Power_Limit": "0x64", "I_CosPhi": "0x3f800000", "CommitPwrCtlSettings": "0x0", "RestorePwrCtlDefaults": "0x0", "PwrFrqDeratingConfig": "0x7", "ReactivePwrConfig": "0x0", "ReactPwrIterTime": "0xc8", "ActivePwrGrad": "0x1", "FixedCosPhiPhase": "0x3f800000", "FixedReactPwr": "0x0", "ReactCosPhiVsPX_0": "0x0", "ReactCosPhiVsPX_1": "0x0", "ReactCosPhiVsPX_2": "0x42480000", "ReactCosPhiVsPX_3": "0x42c80000", "ReactCosPhiVsPX_4": "0x42c80000", "ReactCosPhiVsPX_5": "0x42c80000", "ReactCosPhiVsPY_0": "0x3f800000", "ReactCosPhiVsPY_1": "0x3f800000", "ReactCosPhiVsPY_2": "0x3f800000", "ReactCosPhiVsPY_3": "0xbf666666", "ReactCosPhiVsPY_4": "0xbf666666", "ReactCosPhiVsPY_5": "0xbf666666", "ReactQVsVgX_0": "0x42480000", "ReactQVsVgX_1": "0x42ba0001", "ReactQVsVgX_2": "0x42c20000", "ReactQVsVgX_3": "0x42ce0000", "ReactQVsVgX_4": "0x42d60001", "ReactQVsVgX_5": "0x42f00001", "ReactQVsVgY_0": "0xc22e6666", "ReactQVsVgY_1": "0xc22e6666", "ReactQVsVgY_2": "0x0", "ReactQVsVgY_3": "0x0", "ReactQVsVgY_4": "0x422e6666", "ReactQVsVgY_5": "0x422e6666", "FRT_KFactor": "0x40000000", "PowerReduce": "0x42c80000", "AdvPwrCtrlEn": "0x1", "FrtEn": "0x2", "MaxWakeupFreq": "0x42486666", "MinWakeupFreq": "0x423e0000", "MaxWakeupVg": "0x437d0000", "MinWakeupVg": "0x43438000", "Vnom": "0x43660000", "Inom": "0x40e7e252", "PwrVsFreqX_0": "0x4248cccd", "PwrVsFreqX_1": "0x4250cccd", "PwrVsFreqY_0": "0x42c80000", "PwrVsFreqY_1": "0x41a00000", "ResetFreq": "0x4248cccd", "MaxFreq": "0x42500000", "ReactQVsPX_0": "0x0", "ReactQVsPX_1": "0x42480000", "ReactQVsPX_2": "0x42700001", "ReactQVsPX_3": "0x42a00000", "ReactQVsPX_4": "0x42b40000", "ReactQVsPX_5": "0x42c80000", "ReactQVsPY_0": "0x0", "ReactQVsPY_1": "0x0", "ReactQVsPY_2": "0x0", "ReactQVsPY_3": "0x0", "ReactQVsPY_4": "0x0", "ReactQVsPY_5": "0x0", "PwrFrqDeratingResetTime": "0xf230", "PwrFrqDeratingGradTime": "0x975e0", "ReactCosPhiVsPVgLockInMax": "0x0", "ReactCosPhiVsPVgLockInMin": "0x40000000", "ReactCosPhiVsPVgLockOutMax": "0x0", "ReactCosPhiVsPVgLockOutMin": "0x40000000", "ReactQVsVgPLockInMax": "0x0", "ReactQVsVgPLockInMin": "0x40000000", "ReactQVsVgPLockOutMax": "0x0", "ReactQVsVgPLockOutMin": "0x40000000", "ReactQVsVgType": "0x0", "PwrSoftStartTime": "0x927c0", "MaxCurrent": "0x40ffb098", "PwrVsVgX_0": "0x41200000", "PwrVsVgX_1": "0x42c80000", "PwrVsVgX_2": "0x42d60001", "PwrVsVgX_3": "0x42dc0000", "PwrVsVgX_4": "0x42e60000", "PwrVsVgX_5": "0x42fa0000", "PwrVsVgY_0": "0x42c80000", "PwrVsVgY_1": "0x42c80000", "PwrVsVgY_2": "0x42c80000", "PwrVsVgY_3": "0x42c80000", "PwrVsVgY_4": "0x42c80000", "PwrVsVgY_5": "0x42c80000", "DisconnectAtZeroPwrLim": "0x1", "I_Grid_Status": "0x0" }, "is_mmppt": false, "mmppt": null, "has_battery": false, "storage_control": { "control_mode": "0x0", "ac_charge_policy": "0x1", "ac_charge_limit": "0x0", "backup_reserve": "0x0", "default_mode": "0x0", "command_timeout": "0xe10", "command_mode": "0x7", "charge_limit": "0x45a8c000", "discharge_limit": "0x45a8c000" } }, "meter_id_1": { "device_info": { "identifiers": "REDACTED", "name": "Solaredge M1", "manufacturer": "SolarEdge", "model": "SE-RGMTR-1D-240C-A", "serial_number": "0", "sw_version": "0", "hw_version": "Export+Import", "via_device": [ "solaredge_modbus_multi", "SE10K-RWS48BEN4_7B051536" ] }, "inverter_unit_id": 3, "common": { "C_SunSpec_DID": 1, "C_SunSpec_Length": 65, "C_Manufacturer": "SolarEdge", "C_Model": "SE-RGMTR-1D-240C-A", "C_Option": "Export+Import", "C_Version": "0", "C_SerialNumber": "REDACTED", "C_Device_address": 2 }, "model": { "C_SunSpec_DID": "0xcb", "C_SunSpec_Length": "0x69", "AC_Current": "0x10a", "AC_Current_A": "0x64", "AC_Current_B": "0x5d", "AC_Current_C": "0x49", "AC_Current_SF": "-0x1", "AC_Voltage_LN": "0x5bfc", "AC_Voltage_AN": "0x5bfc", "AC_Voltage_BN": "0x5bea", "AC_Voltage_CN": "0x5bc2", "AC_Voltage_LL": "0x0", "AC_Voltage_AB": "0x0", "AC_Voltage_BC": "0x0", "AC_Voltage_CA": "0x0", "AC_Voltage_SF": "-0x2", "AC_Frequency": "0x1385", "AC_Frequency_SF": "-0x2", "AC_Power": "0x170a", "AC_Power_A": "0x8f9", "AC_Power_B": "0x825", "AC_Power_C": "0x5ea", "AC_Power_SF": "0x0", "AC_VA": "0x177e", "AC_VA_A": "0x8fe", "AC_VA_B": "0x851", "AC_VA_C": "0x65d", "AC_VA_SF": "0x0", "AC_var": "-0x496", "AC_var_A": "-0x8d", "AC_var_B": "-0x1af", "AC_var_C": "-0x258", "AC_var_SF": "0x0", "AC_PF": "-0x2464", "AC_PF_A": "-0x25ee", "AC_PF_B": "-0x2543", "AC_PF_C": "-0x21fc", "AC_PF_SF": "-0x2", "AC_Energy_WH_Exported": "0x306148", "AC_Energy_WH_Exported_A": "0x1feeb9", "AC_Energy_WH_Exported_B": "0x167466", "AC_Energy_WH_Exported_C": "0xd3497", "AC_Energy_WH_Imported": "0x64eebc", "AC_Energy_WH_Imported_A": "0x153d24", "AC_Energy_WH_Imported_B": "0x285fdd", "AC_Energy_WH_Imported_C": "0x3a8828", "AC_Energy_WH_SF": "0x0", "M_VAh_Exported": "0x0", "M_VAh_Exported_A": "0x0", "M_VAh_Exported_B": "0x0", "M_VAh_Exported_C": "0x0", "M_VAh_Imported": "0x0", "M_VAh_Imported_A": "0x0", "M_VAh_Imported_B": "0x0", "M_VAh_Imported_C": "0x0", "M_VAh_SF": "-0x8000", "M_varh_Import_Q1": "0x0", "M_varh_Import_Q1_A": "0x0", "M_varh_Import_Q1_B": "0x0", "M_varh_Import_Q1_C": "0x0", "M_varh_Import_Q2": "0x0", "M_varh_Import_Q2_A": "0x0", "M_varh_Import_Q2_B": "0x0", "M_varh_Import_Q2_C": "0x0", "M_varh_Export_Q3": "0x0", "M_varh_Export_Q3_A": "0x0", "M_varh_Export_Q3_B": "0x0", "M_varh_Export_Q3_C": "0x0", "M_varh_Export_Q4": "0x0", "M_varh_Export_Q4_A": "0x0", "M_varh_Export_Q4_B": "0x0", "M_varh_Export_Q4_C": "0x0", "M_varh_SF": "-0x8000", "M_Events": "0x0" } }, "battery_id_1": { "device_info": { "identifiers": "REDACTED", "name": "Solaredge B1", "manufacturer": "48V_BYD", "model": "BYD Premium LVS 20.0", "serial_number": "", "sw_version": "48V DCDC 2.2.157", "via_device": [ "solaredge_modbus_multi", "SE10K-RWS48BEN4_7B051536" ] }, "inverter_unit_id": 3, "common": { "B_Manufacturer": "48V_BYD", "B_Model": "BYD Premium LVS 20.0", "B_Version": "48V DCDC 2.2.157", "B_SerialNumber": "REDACTED", "B_Device_Address": 112, "B_RatedEnergy": 20000.0 }, "model": { "B_MaxChargePower": "0x464e4000", "B_MaxDischargePower": "0x464e4000", "B_MaxChargePeakPower": "0x4697f400", "B_MaxDischargePeakPower": "0x4697f400", "B_Temp_Average": "0x420c0000", "B_Temp_Max": "0x0", "B_DC_Voltage": "0x444c9f3d", "B_DC_Current": "0xc0c2ffac", "B_DC_Power": "0x459c2800", "B_Export_Energy_WH": "0x0", "B_Import_Energy_WH": "0xcfa", "B_Energy_Max": "0x469c4000", "B_Energy_Available": "0x469ab000", "B_SOH": "0x42c60000", "B_SOE": "0x42a40000", "B_Status": "0x3", "B_Status_Vendor": "0x3", "B_Event_Log1": "0x0", "B_Event_Log2": "0x0", "B_Event_Log3": "0x0", "B_Event_Log4": "0x0", "B_Event_Log5": "0x0", "B_Event_Log6": "0x0", "B_Event_Log7": "0x0", "B_Event_Log8": "0x0", "B_Event_Log_Vendor1": "0x0", "B_Event_Log_Vendor2": "0x0", "B_Event_Log_Vendor3": "0x0", "B_Event_Log_Vendor4": "0x0", "B_Event_Log_Vendor5": "0x0", "B_Event_Log_Vendor6": "0x0", "B_Event_Log_Vendor7": "0x0", "B_Event_Log_Vendor8": "0x0" } } } }

Debug logs

No response

Home Assistant Version

2024.7.2

solaredge-modbus-multi Version

2.4.18

Installation Type

HAOS

Read the Instructions

Additional Context

No response

WillCodeForCats commented 4 months ago

The integration does not do any calculations internally. It displays the values that the inverter gives it, and I can't control that. If you believe there is an actual bug with the inverter values you will have to bring that up with SolarEdge support.

If you need to do calculations on a value, you should create a template sensor. There are some examples in the wiki.

Negative values on a system with batteries means the battery is being charged with AC power.

You can also try this topic on the Home Assistant forums:

https://community.home-assistant.io/t/solaredge-modbus-configuration-for-single-inverter-and-battery/464084