don't scan sensor list type 0x02b0
This commit is contained in:
@@ -139,7 +139,8 @@ class SolarmanV5(Message):
|
|||||||
self.sensor_list = 0x0000
|
self.sensor_list = 0x0000
|
||||||
self.mb_start_reg = 0x0001 # 0x7001
|
self.mb_start_reg = 0x0001 # 0x7001
|
||||||
self.mb_incr_reg = 0x100 # 4
|
self.mb_incr_reg = 0x100 # 4
|
||||||
self.mb_inv_no = 126 # 3
|
self.mb_inv_no = 140 # 3
|
||||||
|
self.mb_scan_len = 4
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Our puplic methods
|
Our puplic methods
|
||||||
@@ -177,10 +178,11 @@ class SolarmanV5(Message):
|
|||||||
|
|
||||||
if self.sensor_list != 0x02b0:
|
if self.sensor_list != 0x02b0:
|
||||||
self._send_modbus_cmd(self.mb_inv_no, Modbus.READ_REGS,
|
self._send_modbus_cmd(self.mb_inv_no, Modbus.READ_REGS,
|
||||||
self.mb_start_reg, 4, logging.INFO)
|
self.mb_start_reg, self.mb_scan_len,
|
||||||
|
logging.INFO)
|
||||||
else:
|
else:
|
||||||
self.mb_inv_no = Modbus.INV_ADDR
|
self.mb_inv_no = Modbus.INV_ADDR
|
||||||
self._send_modbus_cmd(Modbus.INV_ADDR, Modbus.READ_REGS, 0x3000,
|
self._send_modbus_cmd(self.mb_inv_no, Modbus.READ_REGS, 0x3000,
|
||||||
48, logging.DEBUG)
|
48, logging.DEBUG)
|
||||||
|
|
||||||
self.mb_timer.start(self.mb_timeout)
|
self.mb_timer.start(self.mb_timeout)
|
||||||
@@ -428,7 +430,7 @@ class SolarmanV5(Message):
|
|||||||
|
|
||||||
def mb_timout_cb(self, exp_cnt):
|
def mb_timout_cb(self, exp_cnt):
|
||||||
self.mb_timer.start(self.mb_timeout)
|
self.mb_timer.start(self.mb_timeout)
|
||||||
if self.sensor_list != 0: # 0x02b0
|
if self.sensor_list != 0x02b0:
|
||||||
self.mb_start_reg += self.mb_incr_reg
|
self.mb_start_reg += self.mb_incr_reg
|
||||||
if self.mb_start_reg > 0xffff:
|
if self.mb_start_reg > 0xffff:
|
||||||
self.mb_start_reg = self.mb_start_reg & 0xffff
|
self.mb_start_reg = self.mb_start_reg & 0xffff
|
||||||
@@ -439,13 +441,16 @@ class SolarmanV5(Message):
|
|||||||
logging.info(f"Scan info: inv:{self.mb_inv_no}"
|
logging.info(f"Scan info: inv:{self.mb_inv_no}"
|
||||||
f" reg:{self.mb_start_reg:04x}")
|
f" reg:{self.mb_start_reg:04x}")
|
||||||
self._send_modbus_cmd(self.mb_inv_no, Modbus.READ_REGS,
|
self._send_modbus_cmd(self.mb_inv_no, Modbus.READ_REGS,
|
||||||
self.mb_start_reg, 4, logging.INFO)
|
self.mb_start_reg, self.mb_scan_len,
|
||||||
|
logging.INFO)
|
||||||
else:
|
else:
|
||||||
self._send_modbus_cmd(Modbus.INV_ADDR, Modbus.READ_REGS, 0x3000,
|
self._send_modbus_cmd(Modbus.INV_ADDR, Modbus.READ_REGS, 0x3000,
|
||||||
48, logging.DEBUG)
|
48, logging.DEBUG)
|
||||||
|
|
||||||
if 1 == (exp_cnt % 30):
|
if 1 == (exp_cnt % 30):
|
||||||
# logging.info("Regular Modbus Status request")
|
# logging.info("Regular Modbus Status request")
|
||||||
|
self._send_modbus_cmd(Modbus.INV_ADDR, Modbus.READ_REGS,
|
||||||
|
0x5000, 8, logging.DEBUG)
|
||||||
self._send_modbus_cmd(Modbus.INV_ADDR, Modbus.READ_REGS,
|
self._send_modbus_cmd(Modbus.INV_ADDR, Modbus.READ_REGS,
|
||||||
0x2000, 96, logging.DEBUG)
|
0x2000, 96, logging.DEBUG)
|
||||||
|
|
||||||
@@ -649,7 +654,7 @@ class SolarmanV5(Message):
|
|||||||
# logger.info(f'first byte modbus:{data[14]}')
|
# logger.info(f'first byte modbus:{data[14]}')
|
||||||
inv_update = False
|
inv_update = False
|
||||||
self.modbus_elms = 0
|
self.modbus_elms = 0
|
||||||
if (self.sensor_list != 0x0 and data[15] != 0):
|
if (self.sensor_list != 0x02b0 and data[15] != 0):
|
||||||
logging.info('Valid MODBUS data '
|
logging.info('Valid MODBUS data '
|
||||||
f'(inv:{self.mb_inv_no} '
|
f'(inv:{self.mb_inv_no} '
|
||||||
f'reg: 0x{self.mb.last_reg:04x}):')
|
f'reg: 0x{self.mb.last_reg:04x}):')
|
||||||
|
|||||||
Reference in New Issue
Block a user