diff --git a/custom_components/localtuya/common.py b/custom_components/localtuya/common.py index 5c8886f..d2f52d3 100644 --- a/custom_components/localtuya/common.py +++ b/custom_components/localtuya/common.py @@ -195,7 +195,9 @@ class TuyaDevice(pytuya.TuyaListener): @callback def disconnected(self, exc): """Device disconnected.""" - _LOGGER.debug("Disconnected from %s: %s", self.id, exc) + _LOGGER.debug( + "Disconnected from %s: %s", self._config_entry[CONF_DEVICE_ID], exc + ) signal = f"localtuya_{self._config_entry[CONF_DEVICE_ID]}" async_dispatcher_send(self._hass, signal, None) diff --git a/custom_components/localtuya/pytuya/__init__.py b/custom_components/localtuya/pytuya/__init__.py index 3b866e4..0abc507 100644 --- a/custom_components/localtuya/pytuya/__init__.py +++ b/custom_components/localtuya/pytuya/__init__.py @@ -191,7 +191,10 @@ class MessageDispatcher: for key in self.listeners: sem = self.listeners[key] self.listeners[key] = None - sem.release() + + # TODO: Received data and semahore should be stored separately + if isinstance(sem, asyncio.Semaphore): + sem.release() async def wait_for(self, seqno, timeout=5): """Wait for response to a sequence number to be received and return it."""