Skip to content

Commit 7d47ff7

Browse files
committed
fix error handling
1 parent 278a1bb commit 7d47ff7

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

classes/transports/modbus_base.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -462,8 +462,11 @@ def read_modbus_registers(self, ranges : list[tuple] = None, start : int = 0, en
462462
isError = True #other erorrs. ie Failed to connect[ModbusSerialClient(rtu baud[9600])]
463463

464464

465-
if isError: #register.isError() or
466-
self._log.error(register.__str__)
465+
if isinstance(register, bytes) or register.isError() or isError: #sometimes weird errors are handled incorrectly and response is a ascii error string
466+
if isinstance(register, bytes):
467+
self._log.error(register.decode('utf-8'))
468+
else:
469+
self._log.error(register.__str__)
467470
self.modbus_delay += self.modbus_delay_increament #increase delay, error is likely due to modbus being busy
468471

469472
if self.modbus_delay > 60: #max delay. 60 seconds between requests should be way over kill if it happens

0 commit comments

Comments
 (0)