build model name for solarman logger
This commit is contained in:
@@ -304,11 +304,14 @@ class SolarmanV5(Message):
|
|||||||
|
|
||||||
def __process_data(self, ftype):
|
def __process_data(self, ftype):
|
||||||
inv_update = False
|
inv_update = False
|
||||||
|
ctrl_update = False
|
||||||
msg_type = self.control >> 8
|
msg_type = self.control >> 8
|
||||||
for key, update in self.db.parse(self._recv_buffer, msg_type, ftype):
|
for key, update in self.db.parse(self._recv_buffer, msg_type, ftype):
|
||||||
if update:
|
if update:
|
||||||
if key == 'inverter':
|
if key == 'inverter':
|
||||||
inv_update = True
|
inv_update = True
|
||||||
|
if key == 'controller':
|
||||||
|
ctrl_update = True
|
||||||
self.new_data[key] = True
|
self.new_data[key] = True
|
||||||
|
|
||||||
if inv_update:
|
if inv_update:
|
||||||
@@ -327,6 +330,13 @@ class SolarmanV5(Message):
|
|||||||
logger.info(f'Model: {Model}')
|
logger.info(f'Model: {Model}')
|
||||||
self.db.set_db_def_value(Register.EQUIPMENT_MODEL, Model)
|
self.db.set_db_def_value(Register.EQUIPMENT_MODEL, Model)
|
||||||
|
|
||||||
|
if ctrl_update:
|
||||||
|
db = self.db
|
||||||
|
Version = db.get_db_value(Register.COLLECTOR_FW_VERSION, 0)
|
||||||
|
if isinstance(Version, str):
|
||||||
|
Model = Version.split('_')[0]
|
||||||
|
self.db.set_db_def_value(Register.CHIP_MODEL, Model)
|
||||||
|
|
||||||
def msg_data_rsp(self):
|
def msg_data_rsp(self):
|
||||||
self.msg_response()
|
self.msg_response()
|
||||||
|
|
||||||
|
|||||||
@@ -768,3 +768,14 @@ def test_build_modell_2000(ConfigTsunAllowAll, InverterIndMsg2000):
|
|||||||
assert 2000 == m.db.get_db_value(Register.RATED_POWER, 0)
|
assert 2000 == m.db.get_db_value(Register.RATED_POWER, 0)
|
||||||
assert 'TSOL-MS2000' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0)
|
assert 'TSOL-MS2000' == m.db.get_db_value(Register.EQUIPMENT_MODEL, 0)
|
||||||
m.close()
|
m.close()
|
||||||
|
|
||||||
|
def test_build_logger_modell(ConfigTsunAllowAll, DeviceIndMsg):
|
||||||
|
ConfigTsunAllowAll
|
||||||
|
m = MemoryStream(DeviceIndMsg, (0,))
|
||||||
|
assert 0 == m.db.get_db_value(Register.COLLECTOR_FW_VERSION, 0)
|
||||||
|
assert 'IGEN TECH' == m.db.get_db_value(Register.CHIP_TYPE, None)
|
||||||
|
assert None == m.db.get_db_value(Register.CHIP_MODEL, None)
|
||||||
|
m.read() # read complete msg, and dispatch msg
|
||||||
|
assert 'LSW5BLE_17_02B0_1.05' == m.db.get_db_value(Register.COLLECTOR_FW_VERSION, 0).rstrip('\00')
|
||||||
|
assert 'LSW5BLE' == m.db.get_db_value(Register.CHIP_MODEL, 0)
|
||||||
|
m.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user