xZetsubou / hass-localtuya

🔹 A Home Assistant integration to handle Tuya devices locally "fork from localtuya"
https://xzetsubou.github.io/hass-localtuya/
GNU General Public License v3.0
284 stars 30 forks source link

[Bug]: Error doing job: Task exception was never retrieved (None) #275

Open milandzuris opened 2 weeks ago

milandzuris commented 2 weeks ago

LocalTuya Version

2024.6.0

Home Assistant Version

2024.6.2

Environment

What happened?

A bug happened!

Steps to reproduce.

*

Relevant log output

This error originated from a custom integration.

Logger: homeassistant
Source: custom_components/localtuya/core/pytuya/__init__.py:618
integration: LocalTuya (documentation, issues)
First occurred: June 11, 2024 at 22:37:41 (195 occurrences)
Last logged: 02:49:03

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 386, in acquire
    await fut
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 613, in wait_for
    await asyncio.wait_for(self.listeners[seqno].acquire(), timeout=timeout)
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/localtuya/coordinator.py", line 393, in _async_refresh
    await self._interface.update_dps(cid=self._node_id)
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1146, in update_dps
    await self.detect_available_dps(cid=cid)
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1197, in detect_available_dps
    data = await self.status(cid=cid)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1108, in status
    status: dict = await self.exchange(command=DP_QUERY, nodeID=cid, delay=False)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1082, in exchange
    msg = await self.dispatcher.wait_for(seqno, payload.cmd)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 618, in wait_for
    del self.listeners[seqno]
        ~~~~~~~~~~~~~~^^^^^^^
KeyError: 23623

This error originated from a custom integration.

Logger: homeassistant
Source: custom_components/localtuya/core/pytuya/__init__.py:1093
integration: LocalTuya (documentation, issues)
First occurred: June 11, 2024 at 22:49:39 (44 occurrences)
Last logged: 02:34:35

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/config/custom_components/localtuya/coordinator.py", line 393, in _async_refresh
    await self._interface.update_dps(cid=self._node_id)
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1146, in update_dps
    await self.detect_available_dps(cid=cid)
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1197, in detect_available_dps
    data = await self.status(cid=cid)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1108, in status
    status: dict = await self.exchange(command=DP_QUERY, nodeID=cid, delay=False)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/localtuya/core/pytuya/__init__.py", line 1093, in exchange
    payload = self._decode_payload(msg.payload)
                                   ^^^^^^^^^^^
AttributeError: 'Semaphore' object has no attribute 'payload'

Diagnostics information.

No response

milandzuris commented 2 weeks ago

https://github.com/xZetsubou/hass-localtuya/issues/233#event-12938377748

xZetsubou commented 2 weeks ago

It seems this occurred on a device that has "update interval" and it calls the update even tho it's not connected.

Post the entry diagnostics