From 3dbd256dd586352ed1f7788c3d129f8d2ef51ec4 Mon Sep 17 00:00:00 2001 From: peterbaumert Date: Fri, 7 Jan 2022 14:48:54 +0100 Subject: [PATCH] only ask unifi controller once and make use of timestart/stop --- unifi_respondd/respondd_client.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/unifi_respondd/respondd_client.py b/unifi_respondd/respondd_client.py index d710833..a4d398c 100644 --- a/unifi_respondd/respondd_client.py +++ b/unifi_respondd/respondd_client.py @@ -175,12 +175,11 @@ class ResponddClient: def __init__(self, config): self._config = config + self._aps = None + self._timeStart = time.time() + self._timeStop = time.time() self._sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) - @property - def _aps(self): - return unifi_client.get_infos() - @property def _nodeinfos(self): return self.getNodeInfos() @@ -257,12 +256,10 @@ def listenMulticast(self): return msgSplit, sourceAddress def sendUnicast(self): - timeStart = time.time() - logger.info("Using unicast method") - timeStop = time.time() - timeSleep = int(60 - (timeStop - timeStart) % 60) + + timeSleep = int(60 - (self._timeStop - self._timeStart) % 60) if self._config.verbose: logger.debug("will now sleep " + str(timeSleep) + " seconds") time.sleep(timeSleep) @@ -290,6 +287,8 @@ def start(self): msgSplit, sourceAddress = self.listenMulticast() else: self.sendUnicast() + self._timeStart = time.time() + self._aps = unifi_client.get_infos() if msgSplit[0] == "GET": # multi_request for request in msgSplit[1:]: responseStruct[request] = self.buildStruct(request) @@ -297,6 +296,7 @@ def start(self): else: # single_request responseStruct = self.buildStruct(msgSplit[0]) self.sendStruct(sourceAddress, responseStruct, False) + self._timeStop = time.time() def merge_node(self, responseStruct): """This method merges the node information of all APs to their corresponding node_id."""