From ac47ff0ebee45644eb879b2a014283805481eec1 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 17 Jul 2019 15:06:28 +0100 Subject: [PATCH] fix in converter and json handling --- src/Converters.py | 2 +- src/RegisterDatapoint.py | 3 ++- src/registers.json | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Converters.py b/src/Converters.py index 9ca0ea6..05319a8 100644 --- a/src/Converters.py +++ b/src/Converters.py @@ -13,6 +13,6 @@ Converters = { }, "uint32": { "in": lambda x : unpack('L', pack('HH', *x))[0], - "out": lambda x : unpack('HH', pack('L', x)) + "out": lambda x : unpack('HH', pack('L', int(x))) } } diff --git a/src/RegisterDatapoint.py b/src/RegisterDatapoint.py index 4c7a4ef..ee5fad6 100644 --- a/src/RegisterDatapoint.py +++ b/src/RegisterDatapoint.py @@ -10,7 +10,7 @@ class DatapointException(Exception): pass class AbstractModbusDatapoint(object): def __init__(self, label=None, unit=None, address=None, count=None, scanRate=None, converter=None): - self.argList = ['label', 'unit', 'address', 'count', 'scanRate'] + self.argList = ['label', 'unit', 'address', 'count', 'scanRate', 'converter'] self.label = label self.unit = unit self.address = address @@ -167,6 +167,7 @@ class DiscreteInputDatapoint(ReadOnlyDatapoint): def __init__(self, label=None, unit=None, address=None, count=None, scanRate=None, updateOnly=None, publishTopic=None, converter=None, bitCount=8): super().__init__(label, unit, address, count, scanRate, updateOnly, publishTopic, converter) + self.argList = self.argList + ['bitCount'] self.type = 'discrete input' self.bitCount = bitCount diff --git a/src/registers.json b/src/registers.json index 2ab81ec..1c56667 100644 --- a/src/registers.json +++ b/src/registers.json @@ -6,7 +6,7 @@ "label": "Temperature", "converter": "dht20TOFloat", "publishTopic": "Pub/Temperature", - "scanRate": 1.0, + "scanRate": 10.0, "unit": 5, "updateOnly": false }, @@ -45,7 +45,7 @@ "label": "Counter1", "converter": "uint32", "publishTopic": "Pub/Counter1", - "scanRate": null, + "scanRate": 1.0, "subscribeTopic": "Sub/Counter1", "unit": 4 }, @@ -56,8 +56,8 @@ "address": 40012, "count": 2, "feedbackTopic": "FB/Counter2", - "label": "Counter2", "converter": "uint32", + "label": "Counter2", "publishTopic": "Pub/Counter2", "scanRate": null, "subscribeTopic": "Pub/Counter2", @@ -70,8 +70,8 @@ "address": 40014, "count": 2, "feedbackTopic": "FB/Counter3", - "label": "Counter3", "converter": "uint32", + "label": "Counter3", "publishTopic": "Pub/Counter3", "scanRate": null, "subscribeTopic": "FB/Counter3", @@ -84,13 +84,13 @@ "address": 40016, "count": 2, "feedbackTopic": "FB/Counter4", - "label": "Counter4", "converter": "uint32", + "label": "Counter4", "publishTopic": "Pub/Counter4", "scanRate": 1.0, "subscribeTopic": "Sub/Counter4", "unit": 4 }, "type": "HoldingRegisterDatapoint" - }, + } ]