From 34766a0d32402677e482feab1dbe444a4c561734 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sat, 13 Jul 2019 21:08:07 +0100 Subject: [PATCH] logging and updata registers file --- src/RegisterDatapoint.py | 20 +++++++++++--------- src/master.py | 4 ++-- src/registers.pkl | Bin 1384 -> 1404 bytes src/updateRegisterFile.py | 9 +++++++++ 4 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 src/updateRegisterFile.py diff --git a/src/RegisterDatapoint.py b/src/RegisterDatapoint.py index 1147e80..10a4f48 100644 --- a/src/RegisterDatapoint.py +++ b/src/RegisterDatapoint.py @@ -4,7 +4,6 @@ from pymodbus.exceptions import ModbusIOException import MqttProcessor import logging -logger = logging.getLogger() class DatapointException(Exception): pass @@ -44,6 +43,7 @@ class HoldingRegisterDatapoint(AbstractModbusDatapoint): self.feedbackTopic = feedbackTopic self.writeRequestValue = None self.type = 'holding register' + self.logger = logging.getLogger('HoldingRegisterDatapoint') def __str__(self): return ("[{0!s}, publishTopic: {1}, subscribeTopic: {2}, feedbackTopic: {3}, " @@ -54,11 +54,11 @@ class HoldingRegisterDatapoint(AbstractModbusDatapoint): def process(self, client, pubQueue): if self.writeRequestValue: # perform write operation - print("Holding register, perform write operation") + self.logger.debug("Holding register, perform write operation") self.writeRequestValue = None else: # perform read operation - print("Holding register, perform read operation") + self.logger.debug("Holding register, perform read operation") self.processCount += 1 result = client.read_holding_registers(address=self.address, count=self.count, @@ -66,7 +66,7 @@ class HoldingRegisterDatapoint(AbstractModbusDatapoint): if type(result) in [ExceptionResponse, ModbusIOException]: self.errorCount += 1 raise DatapointException(result) - print("{0}: {1!s}".format(self.label, result.registers)) + self.logger.debug("{0}: {1!s}".format(self.label, result.registers)) pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(result.registers))) self.lastContact = datetime.datetime.now() @@ -92,10 +92,11 @@ class InputRegisterDatapoint(ReadOnlyDatapoint): def __init__(self, label, unit, address, count, scanRate, updateOnly, publishTopic): super().__init__(label, unit, address, count, scanRate, updateOnly, publishTopic) self.type = 'input register' + self.logger = logging.getLogger('InputRegisterDatapoint') def process(self, client, pubQueue): # perform read operation - print("Input register, perform read operation") + self.logger.debug("Input register, perform read operation") self.processCount += 1 result = client.read_input_registers(address=self.address, count=self.count, @@ -105,7 +106,7 @@ class InputRegisterDatapoint(ReadOnlyDatapoint): raise DatapointException(result) if not self.updateOnly or (result.registers != self.lastValue): self.lastValue = result.registers - print("{0}: {1!s}".format(self.label, result.registers)) + self.logger.debug("{0}: {1!s}".format(self.label, result.registers)) pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(result.registers))) self.lastContact = datetime.datetime.now() @@ -114,10 +115,11 @@ class DiscreteInputDatapoint(ReadOnlyDatapoint): def __init__(self, label, unit, address, count, scanRate, updateOnly, publishTopic): super().__init__(label, unit, address, count, scanRate, updateOnly, publishTopic) self.type = 'discrete input' + self.logger = logging.getLogger('DiscreteInputDatapoint') def process(self, client, pubQueue): # perform read operation - print("Discrete input, perform read operation") + self.logger.debug("Discrete input, perform read operation") self.processCount += 1 result = client.read_discrete_inputs(address=self.address, count=self.count, @@ -127,7 +129,7 @@ class DiscreteInputDatapoint(ReadOnlyDatapoint): raise DatapointException(result) if not self.updateOnly or (result.bits != self.lastValue): self.lastValue = result.bits - print("{0}: {1!s}".format(self.label, result.bits)) + self.logger.debug("{0}: {1!s}".format(self.label, result.bits)) pubQueue.put(MqttProcessor.PublishItem(self.publishTopic, str(result.bits))) self.lastContact = datetime.datetime.now() @@ -141,7 +143,7 @@ def checkRegisterList(registers, reset=False): r.errorCount = 0 r.processCount = 0 r.enqueued = False - logger.debug("Datapoint loaded: {0!s}".format(r)) + logging.getLogger('checkRegisterList').debug("Datapoint loaded: {0!s}".format(r)) diff --git a/src/master.py b/src/master.py index d2abb7f..6405407 100644 --- a/src/master.py +++ b/src/master.py @@ -17,7 +17,7 @@ import logging if __name__ == "__main__": config = Config.Config() - logger = logging.getLogger(config.appName) + logger = logging.getLogger() logger.setLevel(logging.DEBUG) fh = logging.FileHandler(config.logFile) fh.setLevel(logging.DEBUG) @@ -57,4 +57,4 @@ if __name__ == "__main__": cs = CmdServer.CmdServer(config, nf, datapoints) cs.start() - logger.debug('CmdServer started') \ No newline at end of file + logger.debug('CmdServer started') diff --git a/src/registers.pkl b/src/registers.pkl index ff7ea93077aad709327224db400ac0f5bd0830f6..21dd65dd3638e25a816a17bafee022b4943e89ae 100644 GIT binary patch literal 1404 zcma)*OH&g;6on@|^WcpSe53dXK0pCQQ9%V27>L@Sjtdv_XzeM(Bxj~aWRWUeq?DaM zz<=O>v8;0A#wx3{%7r_ZE-deK#*k5uKZKUG8Gq~slKXR}G>Zk- zlj#Mo7|MUkNDRL~QwhykqeIiQVrb>vK&%#uu8kI>n@YDsYjl;b6}fN9(C271TB({h zEuKf4k)h|>-S$cwzhLtqm@R~!L{blpG`$uU9aHjKUVa0qO;zE(U+^n0rS+7NQhft? z&&-D$nTP1mf0;&-szu)|_^#YQr=C#9+p2RHt=ehZbR3_KLpQBkXe~F296d%CJ-U(X zK|i(wy{aAe5b}^a=zFEsfo*z>*wAlBh|*o->FCShd1a9wC-VEey!IP#fF|gI3+6lX6)9qi{JNr8`>8J0oyNo>ydqYb^*6%A}e^#_8*CMCq z!!_55lpYXmimh506iHnZsZEilA2R3Q@~4C;$Phs`h;F?}^oU;3w<-E_g3!c(sGOV0 zOeQivp5ag#Lkx#Qt3f#C+`#s^NhNWSscSK{X#g&oPEZx|_Kl;LzkDf5NA z<9d%9B>fDD87pDDR*VWC_s?J=7E>*p70Ko4gwabGTBqo7#wjy@vUx5SO+f`L2rcr? zwRq*uOy-PE`pYBE9m}+zREpQ&OF7%nR5-OGz_ zYV~K5Uq9kf8J8KRDMFE^nG&uv&@_gt^_s?TjWkUqM1@{V=0q)+_?uytVJ>D^s%OYt z{)y{l++esFGt8H;(12kai}eiS(3P+M%do_-95dwV8B%XQBUi>P2D&!NhdU*(1`HEe rsb`qLDlyE&J|r6XK$mE17Izu$#SFLW7&?;QKj3~D2E&8U;v>HSA;q1O literal 1384 zcmaiz+fvg|6o%8%Hl^h#;1LxMXi)??C&@s?Dkx{hhH%!=&> ztW`#A>@(s;bmWwzAPAPK5eo?=%b&N&zDqon1s*|C$#5lb4V94%+d4$5tfaX@Yy>1A z2E@v5Usr9J-$7aruQGF=WWq0lSWL~JQxc?ylJFH78Cj)^7jOg3GJU%3xTcOSrI$;a zfi~ILyE~$>RG;M?o2fcO&vEg37xd;c;x93qof}UYKhRe~zl>8#f)`|mF2R7(!ynCX z3L{>1Iv7+sxfqt-QLTVrXcwoYziMR7^-RYz*&)tIu?ni^=*0K)PGB>fm4s*{#Pb}l zBAw$>*ec15kjkC7>Po1oEeOA!W%{0tPySr!t