don't frwd received modbus req directly

- use always the fifoto sent valid req to the inverter
- code cleanup
This commit is contained in:
Stefan Allius
2024-05-19 13:42:29 +02:00
parent 476c5f0006
commit f30aa07431

View File

@@ -392,11 +392,11 @@ class Talent(Message):
self.header_len+self.data_len] self.header_len+self.data_len]
if self.ctrl.is_req(): if self.ctrl.is_req():
if not self.remoteStream.mb.recv_req(data[hdr_len:], if self.remoteStream.mb.recv_req(data[hdr_len:],
self.msg_forward): self.msg_forward):
self.inc_counter('Invalid_Msg_Format') self.remoteStream.inc_counter('Modbus_Command')
else: else:
self.inc_counter('Modbus_Command') self.remoteStream.inc_counter('Invalid_Msg_Format')
elif self.ctrl.is_ind(): elif self.ctrl.is_ind():
# logger.debug(f'Modbus Ind MsgLen: {modbus_len}') # logger.debug(f'Modbus Ind MsgLen: {modbus_len}')
self.modbus_elms = 0 self.modbus_elms = 0
@@ -406,11 +406,10 @@ class Talent(Message):
if update: if update:
self.new_data[key] = True self.new_data[key] = True
self.modbus_elms += 1 # count for unit tests self.modbus_elms += 1 # count for unit tests
return
else: else:
logger.warning('Unknown Ctrl') logger.warning('Unknown Ctrl')
self.inc_counter('Unknown_Ctrl') self.inc_counter('Unknown_Ctrl')
self.forward(self._recv_buffer, self.header_len+self.data_len) self.forward(self._recv_buffer, self.header_len+self.data_len)
def msg_forward(self): def msg_forward(self):
self.forward(self._recv_buffer, self.header_len+self.data_len) self.forward(self._recv_buffer, self.header_len+self.data_len)