From 5bb832c587ee9827fe909b2f4b8251a1221e8201 Mon Sep 17 00:00:00 2001 From: Paul Daumlechner Date: Sun, 14 Mar 2021 17:19:36 +0100 Subject: [PATCH 1/4] Disable house status monitor before disconnecting --- pyvlx/api/__init__.py | 2 +- pyvlx/api/house_status_monitor.py | 3 +++ pyvlx/pyvlx.py | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pyvlx/api/__init__.py b/pyvlx/api/__init__.py index 37fab54d..ee0b9875 100644 --- a/pyvlx/api/__init__.py +++ b/pyvlx/api/__init__.py @@ -1,7 +1,7 @@ """Module for all KLF 200 API frames.""" # flake8: noqa -from .house_status_monitor import (house_status_monitor_enable) +from .house_status_monitor import (house_status_monitor_enable, house_status_monitor_disable) from .command_send import (CommandSend) from .get_local_time import (FrameGetLocalTimeRequest, FrameGetLocalTimeConfirmation) from .get_state import (GetState) diff --git a/pyvlx/api/house_status_monitor.py b/pyvlx/api/house_status_monitor.py index 1afe76a3..52b5fc3e 100644 --- a/pyvlx/api/house_status_monitor.py +++ b/pyvlx/api/house_status_monitor.py @@ -1,5 +1,6 @@ """Module for house status monitor.""" from pyvlx.exception import PyVLXException +from pyvlx.log import PYVLXLOG from .api_event import ApiEvent from .frames import ( FrameHouseStatusMonitorDisableConfirmation, @@ -21,6 +22,7 @@ async def handle_frame(self, frame): if not isinstance(frame, FrameHouseStatusMonitorEnableConfirmation): return False self.success = True + PYVLXLOG.debug("House status monitor enabled") return True def request_frame(self): @@ -41,6 +43,7 @@ async def handle_frame(self, frame): if not isinstance(frame, FrameHouseStatusMonitorDisableConfirmation): return False self.success = True + PYVLXLOG.debug("House status monitor disabled") return True def request_frame(self): diff --git a/pyvlx/pyvlx.py b/pyvlx/pyvlx.py index 8b7af524..32cd177c 100644 --- a/pyvlx/pyvlx.py +++ b/pyvlx/pyvlx.py @@ -8,7 +8,7 @@ import asyncio -from .api import house_status_monitor_enable +from .api import house_status_monitor_enable, house_status_monitor_disable from .config import Config from .connection import Connection from .heartbeat import Heartbeat @@ -68,6 +68,7 @@ async def send_frame(self, frame): async def disconnect(self): """Disconnect from KLF 200.""" + await house_status_monitor_disable(pyvlx=self) await self.heartbeat.stop() self.connection.disconnect() From 8c83fb4b20b1495e63078cf5653168ae3cfcb2a2 Mon Sep 17 00:00:00 2001 From: Paul Daumlechner Date: Sun, 14 Mar 2021 17:57:53 +0100 Subject: [PATCH 2/4] Remove unnessary logs, can be seen in frames --- pyvlx/api/house_status_monitor.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pyvlx/api/house_status_monitor.py b/pyvlx/api/house_status_monitor.py index 52b5fc3e..8da39884 100644 --- a/pyvlx/api/house_status_monitor.py +++ b/pyvlx/api/house_status_monitor.py @@ -22,7 +22,6 @@ async def handle_frame(self, frame): if not isinstance(frame, FrameHouseStatusMonitorEnableConfirmation): return False self.success = True - PYVLXLOG.debug("House status monitor enabled") return True def request_frame(self): @@ -43,7 +42,6 @@ async def handle_frame(self, frame): if not isinstance(frame, FrameHouseStatusMonitorDisableConfirmation): return False self.success = True - PYVLXLOG.debug("House status monitor disabled") return True def request_frame(self): From cb72d431805d3d0a1aa92b1b1b5fd7485f19f0b6 Mon Sep 17 00:00:00 2001 From: Paul Daumlechner Date: Sun, 14 Mar 2021 18:01:14 +0100 Subject: [PATCH 3/4] Remove log import --- pyvlx/api/house_status_monitor.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pyvlx/api/house_status_monitor.py b/pyvlx/api/house_status_monitor.py index 8da39884..1afe76a3 100644 --- a/pyvlx/api/house_status_monitor.py +++ b/pyvlx/api/house_status_monitor.py @@ -1,6 +1,5 @@ """Module for house status monitor.""" from pyvlx.exception import PyVLXException -from pyvlx.log import PYVLXLOG from .api_event import ApiEvent from .frames import ( FrameHouseStatusMonitorDisableConfirmation, From 5f26a64ee9c040ae94ac38dbd3e643d0ff8ef774 Mon Sep 17 00:00:00 2001 From: Paul Daumlechner Date: Sun, 14 Mar 2021 22:23:10 +0100 Subject: [PATCH 4/4] Add comment --- pyvlx/pyvlx.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyvlx/pyvlx.py b/pyvlx/pyvlx.py index 32cd177c..23712a28 100644 --- a/pyvlx/pyvlx.py +++ b/pyvlx/pyvlx.py @@ -68,6 +68,7 @@ async def send_frame(self, frame): async def disconnect(self): """Disconnect from KLF 200.""" + # If the connection will be closed while house status monitor is enabled, a reconnection will fail on SSL handshake. await house_status_monitor_disable(pyvlx=self) await self.heartbeat.stop() self.connection.disconnect()