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/pyvlx.py b/pyvlx/pyvlx.py index 8b7af524..23712a28 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,8 @@ 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()