From 97c85d9757e1d59addcf6129176db96c9f6a1eb4 Mon Sep 17 00:00:00 2001 From: Benjamin Braatz Date: Wed, 2 Aug 2023 10:44:18 +0200 Subject: [PATCH] Fix up and down filters. --- controlpi_plugins/wsclient.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/controlpi_plugins/wsclient.py b/controlpi_plugins/wsclient.py index 686e3ee..639e81a 100644 --- a/controlpi_plugins/wsclient.py +++ b/controlpi_plugins/wsclient.py @@ -167,19 +167,11 @@ class WSClient(BasePlugin): {'const': 'connection configured'}})) sends.append(MessageTemplate({'event': {'const': 'connection closed'}})) - self._down_filter = [] for template in self.conf['down filter']: sends.append(MessageTemplate(template)) - trans_template = translate_template(template, - self._client, self.name) - self._down_filter.append(MessageTemplate(trans_template)) receives = [] - self._up_filter = [] for template in self.conf['up filter']: receives.append(MessageTemplate(template)) - trans_template = translate_template(template, - self._client, self.name) - self._up_filter.append(MessageTemplate(trans_template)) self.bus.register(self.name, 'WSClient', sends, [(receives, self._receive)]) @@ -214,8 +206,18 @@ class WSClient(BasePlugin): self._client = f"{address}:{port}" if 'interface' in self.conf: conf_command['mac'] = self._mac - conf_command['up filter'] = self._up_filter - conf_command['down filter'] = self._down_filter + up_filter = [] + for template in self.conf['up filter']: + template = translate_template(template, + self._client, self.name) + up_filter.append(MessageTemplate(template)) + down_filter = [] + for template in self.conf['down filter']: + template = translate_template(template, + self._client, self.name) + down_filter.append(MessageTemplate(template)) + conf_command['up filter'] = up_filter + conf_command['down filter'] = down_filter json_command = json.dumps(conf_command) await websocket.send(json_command) print(f"WSClient '{self.name}': Connection configured" -- 2.34.1