From 54f59ac72cf5918715add06fbb65c81f7386aa87 Mon Sep 17 00:00:00 2001 From: Jeff Steinbok Date: Thu, 29 Jun 2023 01:03:38 -0700 Subject: [PATCH] Improve WebSocket logging and error handling --- custom_components/dreo/pydreo/__init__.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/custom_components/dreo/pydreo/__init__.py b/custom_components/dreo/pydreo/__init__.py index eeef8ff..a2bd1b5 100644 --- a/custom_components/dreo/pydreo/__init__.py +++ b/custom_components/dreo/pydreo/__init__.py @@ -303,8 +303,14 @@ async def _ws_ping_handler(self, ws) : def _ws_consume_message(self, message) : messageDeviceSn = message["devicesn"] - device : PyDreoBaseDevice = self._deviceListBySn[messageDeviceSn] - device.handle_server_update_base(message) + + if (messageDeviceSn in self._deviceListBySn): + device = self._deviceListBySn[messageDeviceSn] + device.handle_server_update_base(message) + else: + # Message is to an unknown device, log it out just in case... + _LOGGER.debug("Received message for unknown or unsupported device. SN: {0}".format(messageDeviceSn)) + _LOGGER.debug("Message: {0}".format(message)) def send_command(self, device : PyDreoBaseDevice, params): fullParams = {