diff --git a/app/src/gen3plus/infos_g3p.py b/app/src/gen3plus/infos_g3p.py index 470c695..086dcd3 100644 --- a/app/src/gen3plus/infos_g3p.py +++ b/app/src/gen3plus/infos_g3p.py @@ -216,7 +216,7 @@ class InfosG3P(Infos): self.set_db_def_value(Register.MANUFACTURER, 'TSUN') self.set_db_def_value(Register.EQUIPMENT_MODEL, 'TSOL-MSxx00') self.set_db_def_value(Register.CHIP_TYPE, 'IGEN TECH') - self.set_db_def_value(Register.NO_INPUTS, 4) + self.set_db_def_value(Register.NO_INPUTS, 2) def __hide_topic(self, row: dict) -> bool: if 'dep' in row: diff --git a/app/src/gen3plus/solarman_v5.py b/app/src/gen3plus/solarman_v5.py index 011f104..355890b 100755 --- a/app/src/gen3plus/solarman_v5.py +++ b/app/src/gen3plus/solarman_v5.py @@ -562,14 +562,15 @@ class SolarmanV5(SolarmanBase): rated = db.get_db_value(Register.RATED_POWER, 0) model = None if max_pow == 2000: + db.set_db_def_value(Register.NO_INPUTS, 4) if rated == 800 or rated == 600: model = f'TSOL-MS{max_pow}({rated})' else: model = f'TSOL-MS{max_pow}' elif max_pow == 1800 or max_pow == 1600: + db.set_db_def_value(Register.NO_INPUTS, 4) model = f'TSOL-MS{max_pow}' elif max_pow <= 800: - self.db.set_db_def_value(Register.NO_INPUTS, 2) model = f'TSOL-MS{max_pow}' if model: diff --git a/app/tests/test_infos_g3p.py b/app/tests/test_infos_g3p.py index 0596044..95e24a8 100644 --- a/app/tests/test_infos_g3p.py +++ b/app/tests/test_infos_g3p.py @@ -109,7 +109,7 @@ def test_default_db(): i = InfosG3P(client_mode=False) assert json.dumps(i.db) == json.dumps({ - "inverter": {"Manufacturer": "TSUN", "Equipment_Model": "TSOL-MSxx00", "No_Inputs": 4}, + "inverter": {"Manufacturer": "TSUN", "Equipment_Model": "TSOL-MSxx00", "No_Inputs": 2}, "collector": {"Chip_Type": "IGEN TECH"}, }) @@ -271,7 +271,7 @@ def test_build_ha_conf1(): elif id == 'inv_count_456': assert False - assert tests==7 + assert tests==5 def test_build_ha_conf2(): i = InfosG3P(client_mode=False) @@ -346,7 +346,7 @@ def test_build_ha_conf3(): elif id == 'inv_count_456': assert False - assert tests==7 + assert tests==5 def test_build_ha_conf4(): i = InfosG3P(client_mode=True) diff --git a/app/tests/test_solarman.py b/app/tests/test_solarman.py index fa625af..8cb36b1 100755 --- a/app/tests/test_solarman.py +++ b/app/tests/test_solarman.py @@ -1468,6 +1468,7 @@ async def test_build_modell_600(my_loop, config_tsun_allow_all, inverter_ind_msg m.read() # read complete msg, and dispatch msg assert 2000 == m.db.get_db_value(Register.MAX_DESIGNED_POWER, 0) assert 600 == m.db.get_db_value(Register.RATED_POWER, 0) + assert 4 == m.db.get_db_value(Register.NO_INPUTS, 0) assert 'TSOL-MS2000(600)' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0) assert '02b0' == m.db.get_db_value(Register.SENSOR_LIST, None) assert 0 == m.sensor_list # must not been set by an inverter data ind @@ -1487,6 +1488,7 @@ async def test_build_modell_1600(my_loop, config_tsun_allow_all, inverter_ind_ms m.read() # read complete msg, and dispatch msg assert 1600 == m.db.get_db_value(Register.MAX_DESIGNED_POWER, 0) assert 1600 == m.db.get_db_value(Register.RATED_POWER, 0) + assert 4 == m.db.get_db_value(Register.NO_INPUTS, 0) assert 'TSOL-MS1600' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0) m.close() @@ -1500,6 +1502,7 @@ async def test_build_modell_1800(my_loop, config_tsun_allow_all, inverter_ind_ms m.read() # read complete msg, and dispatch msg assert 1800 == m.db.get_db_value(Register.MAX_DESIGNED_POWER, 0) assert 1800 == m.db.get_db_value(Register.RATED_POWER, 0) + assert 4 == m.db.get_db_value(Register.NO_INPUTS, 0) assert 'TSOL-MS1800' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0) m.close() @@ -1513,6 +1516,7 @@ async def test_build_modell_2000(my_loop, config_tsun_allow_all, inverter_ind_ms m.read() # read complete msg, and dispatch msg assert 2000 == m.db.get_db_value(Register.MAX_DESIGNED_POWER, 0) assert 2000 == m.db.get_db_value(Register.RATED_POWER, 0) + assert 4 == m.db.get_db_value(Register.NO_INPUTS, 0) assert 'TSOL-MS2000' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0) m.close() @@ -1526,6 +1530,7 @@ async def test_build_modell_800(my_loop, config_tsun_allow_all, inverter_ind_msg m.read() # read complete msg, and dispatch msg assert 800 == m.db.get_db_value(Register.MAX_DESIGNED_POWER, 0) assert 800 == m.db.get_db_value(Register.RATED_POWER, 0) + assert 2 == m.db.get_db_value(Register.NO_INPUTS, 0) assert 'TSOL-MS800' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0) m.close() @@ -1539,6 +1544,7 @@ async def test_build_modell_900(my_loop, config_tsun_allow_all, inverter_ind_msg m.read() # read complete msg, and dispatch msg assert 900 == m.db.get_db_value(Register.MAX_DESIGNED_POWER, 0) assert 900 == m.db.get_db_value(Register.RATED_POWER, 0) + assert 2 == m.db.get_db_value(Register.NO_INPUTS, 0) assert 'TSOL-MSxx00' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0) m.close() @@ -2588,6 +2594,7 @@ async def test_proxy_dcu_cmd(my_loop, config_tsun_dcu1, patch_open_connection, d assert l.db.stat['proxy']['AT_Command'] == 0 assert l.db.stat['proxy']['AT_Command_Blocked'] == 0 assert l.db.stat['proxy']['Modbus_Command'] == 0 + assert 2 == l.db.get_db_value(Register.NO_INPUTS, 0) l.append_msg(dcu_command_rsp_msg) l.read() # read at resp