better handle unknown converter
This commit is contained in:
parent
2cadccf59c
commit
768ded37a6
@ -74,14 +74,14 @@ class HoldingRegisterDatapoint(AbstractModbusDatapoint):
|
|||||||
self.writeCount += 1
|
self.writeCount += 1
|
||||||
values = None
|
values = None
|
||||||
logger.debug("{0}: raw: {1!s}".format(self.label, self.writeRequestValue))
|
logger.debug("{0}: raw: {1!s}".format(self.label, self.writeRequestValue))
|
||||||
if self.converter and Converters.Converters[self.converter]['out']:
|
|
||||||
try:
|
try:
|
||||||
|
if self.converter and Converters.Converters[self.converter]['out']:
|
||||||
values = Converters.Converters[self.converter]['out'](self.writeRequestValue)
|
values = Converters.Converters[self.converter]['out'](self.writeRequestValue)
|
||||||
logger.debug("{0}: converted: {1!s}".format(self.label, values))
|
logger.debug("{0}: converted: {1!s}".format(self.label, values))
|
||||||
except Exception as e:
|
|
||||||
raise DatapointException("Exception caught when trying to converter modbus data: {0!s}".format(e))
|
|
||||||
else:
|
else:
|
||||||
values = [int(self.writeRequestValue)]
|
values = [int(self.writeRequestValue)]
|
||||||
|
except Exception as e:
|
||||||
|
raise DatapointException("Exception caught when trying to converter modbus data: {0!s}".format(e))
|
||||||
result = client.write_registers(address=self.address,
|
result = client.write_registers(address=self.address,
|
||||||
unit=self.unit,
|
unit=self.unit,
|
||||||
values=values)
|
values=values)
|
||||||
@ -99,14 +99,14 @@ class HoldingRegisterDatapoint(AbstractModbusDatapoint):
|
|||||||
raise DatapointException(result)
|
raise DatapointException(result)
|
||||||
logger.debug("{0}: {1!s}".format(self.label, result.registers))
|
logger.debug("{0}: {1!s}".format(self.label, result.registers))
|
||||||
value = None
|
value = None
|
||||||
if self.converter and Converters.Converters[self.converter]['in']:
|
|
||||||
try:
|
try:
|
||||||
|
if self.converter and Converters.Converters[self.converter]['in']:
|
||||||
value = Converters.Converters[self.converter]['in'](result.registers)
|
value = Converters.Converters[self.converter]['in'](result.registers)
|
||||||
logger.debug("{0}: converted: {1!s}".format(self.label, value))
|
logger.debug("{0}: converted: {1!s}".format(self.label, value))
|
||||||
except Exception as e:
|
|
||||||
raise DatapointException("Exception caught when trying to converter modbus data: {0!s}".format(e))
|
|
||||||
else:
|
else:
|
||||||
value = result.registers
|
value = result.registers
|
||||||
|
except Exception as e:
|
||||||
|
raise DatapointException("Exception caught when trying to converter modbus data: {0!s}".format(e))
|
||||||
if self.publishTopic:
|
if self.publishTopic:
|
||||||
pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(value)))
|
pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(value)))
|
||||||
self.lastContact = datetime.datetime.now()
|
self.lastContact = datetime.datetime.now()
|
||||||
@ -210,14 +210,14 @@ class InputRegisterDatapoint(ReadOnlyDatapoint):
|
|||||||
self.lastValue = result.registers
|
self.lastValue = result.registers
|
||||||
logger.debug("{0}: raw: {1!s}".format(self.label, result.registers))
|
logger.debug("{0}: raw: {1!s}".format(self.label, result.registers))
|
||||||
value = None
|
value = None
|
||||||
if self.converter and Converters.Converters[self.converter]['in']:
|
|
||||||
try:
|
try:
|
||||||
|
if self.converter and Converters.Converters[self.converter]['in']:
|
||||||
value = Converters.Converters[self.converter]['in'](result.registers)
|
value = Converters.Converters[self.converter]['in'](result.registers)
|
||||||
logger.debug("{0}: converted: {1!s}".format(self.label, value))
|
logger.debug("{0}: converted: {1!s}".format(self.label, value))
|
||||||
except Exception as e:
|
|
||||||
raise DatapointException("Exception caught when trying to converter modbus data: {0!s}".format(e))
|
|
||||||
else:
|
else:
|
||||||
value = result.registers
|
value = result.registers
|
||||||
|
except Exception as e:
|
||||||
|
raise DatapointException("Exception caught when trying to converter modbus data: {0!s}".format(e))
|
||||||
if self.publishTopic:
|
if self.publishTopic:
|
||||||
pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(value)))
|
pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(value)))
|
||||||
self.lastContact = datetime.datetime.now()
|
self.lastContact = datetime.datetime.now()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user