Skip to content

Commit

Permalink
Simplify diag status messages
Browse files Browse the repository at this point in the history
Simplify diag status messages
  • Loading branch information
mletenay committed Sep 8, 2021
1 parent 68e7b61 commit 2d8d2e7
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 22 deletions.
24 changes: 12 additions & 12 deletions goodwe/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,20 +196,20 @@
}

DIAG_STATUS_CODES: Dict[int, str] = {
0: "Battery does not discharge: Battery Voltage Low",
1: "Battery does not discharge: Battery SOC Low",
2: "Battery does not discharge: Battery SOC In Back",
3: "Battery does not discharge: BMS Discharge Disable",
4: "Battery does not discharge: Discharge Time On",
5: "Battery does not discharge: Charge Time On",
6: "Battery does not discharge: Discharge Drive On",
0: "Battery Voltage Low",
1: "Battery SOC Low",
2: "Battery SOC In Back",
3: "BMS Discharge Disable",
4: "Discharge Time On",
5: "Charge Time On",
6: "Discharge Drive On",
7: "Effect battery discharge: discharge current limited by BMS is low",
8: "Effect battery discharge: discharge current limited on APP setting is low",
9: "Battery does not discharge: Meter communication Loss",
10: "Battery does not discharge: Meter Connect Reverse",
11: "Battery does not discharge: Self Use Load Light",
12: "Battery does not discharge: EMS Discharge current is zero",
13: "Battery does not discharge: Discharge BUS High",
9: "Meter communication Loss",
10: "Meter Connect Reverse",
11: "Self Use Load Light",
12: "EMS Discharge current is zero",
13: "Discharge BUS High",
14: "Battery does not charge: Battery Disconnect",
15: "Battery does not charge: Battery Overcharge",
16: "Battery does not charge: BMS Over Temperature",
Expand Down
3 changes: 1 addition & 2 deletions goodwe/et.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class ET(Inverter):
Temp("temperature_air", 148, "Inverter Temperature (Air))", Kind.AC),
Temp("temperature_module", 150, "Inverter Temperature (Module)"),
Temp("temperature", 152, "Inverter Temperature (Radiator)", Kind.AC),
Integer("xx154", 154, "Unknown sensor@154"),
Integer("function_bit", 154, "Function Bit"),
Voltage("bus_voltage", 156, "Bus Voltage", None),
Voltage("nbus_voltage", 158, "NBus Voltage", None),
Voltage("vbattery1", 160, "Battery Voltage", Kind.BAT), # modbus 35180
Expand Down Expand Up @@ -236,7 +236,6 @@ def __init__(self, host: str, comm_addr: int = 0, timeout: int = 1, retries: int
self._READ_RUNNING_DATA: ProtocolCommand = ModbusReadCommand(self.comm_addr, 0x891c, 0x007d)
self._READ_METER_DATA: ProtocolCommand = ModbusReadCommand(self.comm_addr, 0x8ca0, 0x2d)
self._READ_BATTERY_INFO: ProtocolCommand = ModbusReadCommand(self.comm_addr, 0x9088, 0x0018)
self._GET_WORK_MODE: ProtocolCommand = ModbusReadCommand(self.comm_addr, 0xb798, 0x0001)
self._has_battery: bool = True
self._is_single_phase: bool = False
self._sensors = self.__all_sensors
Expand Down
8 changes: 4 additions & 4 deletions tests/test_es.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def test_GW5048_EM_runtime_data(self):
self.assertSensor('meter_power_factor', 0.01, '', data)
self.assertSensor('xx85', 0, '', data)
self.assertSensor('xx87', -3, '', data)
self.assertSensor('diagnose_result', 'Battery does not discharge: Discharge Drive On', '', data)
self.assertSensor('diagnose_result', 'Discharge Drive On', '', data)
self.assertSensor('e_total_exp', 512.9, 'kWh', data)
self.assertSensor('e_total_imp', 33653839.0, 'kWh', data)
self.assertSensor('vgrid_uo', 0, 'V', data)
Expand Down Expand Up @@ -186,7 +186,7 @@ def test_GW5048_EM_no_batt_runtime_data(self):
self.assertSensor('meter_power_factor', 0.01, '', data)
self.assertSensor('xx85', 0, '', data)
self.assertSensor('xx87', -35, '', data)
self.assertSensor('diagnose_result', 'Battery does not discharge: Battery Voltage Low, Battery does not discharge: Battery SOC In Back, Battery does not discharge: Discharge Drive On, Battery does not discharge: Self Use Load Light, Battery does not charge: Battery Disconnect', '', data)
self.assertSensor('diagnose_result', 'Battery Voltage Low, Battery SOC In Back, Discharge Drive On, Self Use Load Light, Battery does not charge: Battery Disconnect', '', data)
self.assertSensor('e_total_exp', 512.9, 'kWh', data)
self.assertSensor('e_total_imp', 33653889.9, 'kWh', data)
self.assertSensor('vgrid_uo', 0, 'V', data)
Expand Down Expand Up @@ -264,7 +264,7 @@ def test_GW5048D_ES_runtime_data(self):
self.assertSensor('meter_power_factor', 0.01, '', data)
self.assertSensor('xx85', 0, '', data)
self.assertSensor('xx87', 5, '', data)
self.assertSensor('diagnose_result', 'Battery does not discharge: Discharge Drive On, Feed Power Limit, PF Value Set, Real Power Limit', '', data)
self.assertSensor('diagnose_result', 'Discharge Drive On, Feed Power Limit, PF Value Set, Real Power Limit', '', data)
self.assertSensor('e_total_exp', 0, 'kWh', data)
self.assertSensor('e_total_imp', 0, 'kWh', data)
self.assertSensor('vgrid_uo', 0, 'V', data)
Expand Down Expand Up @@ -342,7 +342,7 @@ def test_GW5000S_BP_runtime_data(self):
self.assertSensor('meter_power_factor', 0.01, '', data)
self.assertSensor('xx85', 0, '', data)
self.assertSensor('xx87', 211, '', data)
self.assertSensor('diagnose_result', 'Battery does not discharge: Charge Time On, Self Use Off', '', data)
self.assertSensor('diagnose_result', 'Charge Time On, Self Use Off', '', data)
self.assertSensor('e_total_exp', 538.4, 'kWh', data)
self.assertSensor('e_total_imp', 48713267.2, 'kWh', data)
self.assertSensor('vgrid_uo', 0, 'V', data)
Expand Down
8 changes: 4 additions & 4 deletions tests/test_et.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def test_GW10K_ET_runtime_data(self):
self.assertSensor('temperature_air', 51.0, 'C', data)
self.assertSensor('temperature_module', 0, 'C', data)
self.assertSensor('temperature', 58.7, 'C', data)
self.assertSensor('xx154', 0, '', data)
self.assertSensor('function_bit', 0, '', data)
self.assertSensor('bus_voltage', 803.6, 'V', data)
self.assertSensor('nbus_voltage', 401.8, 'V', data)
self.assertSensor('vbattery1', 254.2, 'V', data)
Expand Down Expand Up @@ -144,7 +144,7 @@ def test_GW10K_ET_runtime_data(self):
self.assertSensor("e_bat_discharge_total", 2442.1, 'kWh', data)
self.assertSensor("e_bat_discharge_day", 2.9, 'kWh', data)
self.assertSensor('diagnose_result',
'Battery does not discharge: Self Use Load Light, Feed Power Limit, PF Value Set, Real Power Limit',
'Self Use Load Light, Feed Power Limit, PF Value Set, Real Power Limit',
'', data)
self.assertSensor('house_consumption', 968, 'W', data)
self.assertSensor('battery_bms', 255, '', data)
Expand Down Expand Up @@ -270,7 +270,7 @@ def test_GW6000_EH_runtime_data(self):
self.assertSensor('temperature_air', 60.4, 'C', data)
self.assertSensor('temperature_module', 3276.7, 'C', data)
self.assertSensor('temperature', 38.6, 'C', data)
self.assertSensor('xx154', 256, '', data)
self.assertSensor('function_bit', 256, '', data)
self.assertSensor('bus_voltage', 380.6, 'V', data)
self.assertSensor('nbus_voltage', -0.1, 'V', data)
self.assertSensor('vbattery1', 0.0, 'V', data)
Expand Down Expand Up @@ -300,6 +300,6 @@ def test_GW6000_EH_runtime_data(self):
self.assertSensor("e_bat_discharge_total", 0.0, 'kWh', data)
self.assertSensor("e_bat_discharge_day", 0.0, 'kWh', data)
self.assertSensor('diagnose_result',
'Battery does not discharge: Battery Voltage Low, Battery does not discharge: Battery SOC Low, Battery does not discharge: Battery SOC In Back, Battery does not discharge: Discharge Drive On, Battery does not discharge: Self Use Load Light, Battery does not charge: Battery Disconnect, Self Use Off, Feed Power Limit, PF Value Set, Real Power Limit',
'Battery Voltage Low, Battery SOC Low, Battery SOC In Back, Discharge Drive On, Self Use Load Light, Battery does not charge: Battery Disconnect, Self Use Off, Feed Power Limit, PF Value Set, Real Power Limit',
'', data)
self.assertSensor('house_consumption', 1711, 'W', data)

0 comments on commit 2d8d2e7

Please sign in to comment.