From 8c597bb18ff6a3bc231273f6cb5dd1f19fd504d4 Mon Sep 17 00:00:00 2001 From: sibowler Date: Mon, 17 Oct 2022 07:18:06 +1100 Subject: [PATCH] Fix for AttributeError: 'TuyaMessage' object has no attribute 'release' error --- custom_components/localtuya/pytuya/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/custom_components/localtuya/pytuya/__init__.py b/custom_components/localtuya/pytuya/__init__.py index d36cd5e..9c3bd45 100644 --- a/custom_components/localtuya/pytuya/__init__.py +++ b/custom_components/localtuya/pytuya/__init__.py @@ -303,8 +303,11 @@ class MessageDispatcher(ContextualLogger): if msg.seqno in self.listeners: self.debug("Dispatching sequence number %d", msg.seqno) sem = self.listeners[msg.seqno] - self.listeners[msg.seqno] = msg - sem.release() + if isinstance(sem, asyncio.Semaphore): + self.listeners[msg.seqno] = msg + sem.release() + else: + self.debug("Got additional message without request - skipping: %s", sem) elif msg.cmd == 0x09: self.debug("Got heartbeat response") if self.HEARTBEAT_SEQNO in self.listeners: