Skip to content

Issue following update to Tapo Control 7.1.24 #1370

Description

@Grui

Description

Since the update to Tapo control 7.1.24, the integration is no longer working.

System Home Assistant OS
Core 2026.7.1
Supervisor 2026.06.2
Operating System 18.1
UI 20260624.4
Tapo control 7.1.24

Logs attached

Reproduction Steps

  • Update tapo control to 7.1.24 version
  • Restart Home Assistant

Expected behavior

Tapo Control is loading without any issue

If applicable, add error logs.

Logger: homeassistant.setup
Source: setup.py:341
Première occurrence: 07:28:23 (1 occurrence)
Dernier enregistrement: 07:28:23

Setup failed for custom integration 'tapo_control': Unable to import component: Exception importing custom_components.tapo_control
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1091, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 201, in protected_loop_func
return func(*args, **kwargs)
File "/usr/local/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/config/custom_components/tapo_control/init.py", line 70, in
from .utils import (
...<22 lines>...
)
File "/config/custom_components/tapo_control/utils.py", line 18, in
from pytapo.media_stream.downloader import Downloader
File "/usr/local/lib/python3.14/site-packages/pytapo/init.py", line 7, in
from .transport.transport import Transport
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/transport.py", line 7, in
from .pytapo.pytapo import pyTapo
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/pytapo/pytapo.py", line 9, in
from Crypto.Cipher import AES
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/AES.py", line 26, in
from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
VoidPointer, SmartPointer,
c_size_t, c_uint8_ptr)
File "/usr/local/lib/python3.14/site-packages/Crypto/Util/_raw_api.py", line 87, in
ffi = FFI()
File "/usr/local/lib/python3.14/site-packages/cffi/api.py", line 47, in init
raise Exception("Version mismatch: this is the 'cffi' package version %s, located in %r. When we import the top-level '_cffi_backend' extension module, we get version %s, located in %r. The two versions should be equal; check your installation." % (
version, file,
backend.version, backend.file))
Exception: Version mismatch: this is the 'cffi' package version 2.1.0, located in '/usr/local/lib/python3.14/site-packages/cffi/api.py'. When we import the top-level '_cffi_backend' extension module, we get version 2.0.0, located in '/usr/local/lib/python3.14/site-packages/_cffi_backend.cpython-314-x86_64-linux-musl.so'. The two versions should be equal; check your installation.

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

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1031, in async_get_component
comp = await self.hass.async_add_import_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self._get_component, True
^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 86, in run
result = ctx.run(self.task)
File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 73, in run
return fn(*args, **kwargs)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1102, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing custom_components.tapo_control

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1091, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 201, in protected_loop_func
return func(*args, **kwargs)
File "/usr/local/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/config/custom_components/tapo_control/init.py", line 70, in
from .utils import (
...<22 lines>...
)
File "/config/custom_components/tapo_control/utils.py", line 18, in
from pytapo.media_stream.downloader import Downloader
File "/usr/local/lib/python3.14/site-packages/pytapo/init.py", line 7, in
from .transport.transport import Transport
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/transport.py", line 7, in
from .pytapo.pytapo import pyTapo
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/pytapo/pytapo.py", line 9, in
from Crypto.Cipher import AES
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/AES.py", line 26, in
from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
VoidPointer, SmartPointer,
c_size_t, c_uint8_ptr)
File "/usr/local/lib/python3.14/site-packages/Crypto/Util/_raw_api.py", line 87, in
ffi = FFI()
File "/usr/local/lib/python3.14/site-packages/cffi/api.py", line 47, in init
raise Exception("Version mismatch: this is the 'cffi' package version %s, located in %r. When we import the top-level '_cffi_backend' extension module, we get version %s, located in %r. The two versions should be equal; check your installation." % (
version, file,
backend.version, backend.file))
Exception: Version mismatch: this is the 'cffi' package version 2.1.0, located in '/usr/local/lib/python3.14/site-packages/cffi/api.py'. When we import the top-level '_cffi_backend' extension module, we get version 2.0.0, located in '/usr/local/lib/python3.14/site-packages/_cffi_backend.cpython-314-x86_64-linux-musl.so'. The two versions should be equal; check your installation.

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

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 341, in _async_setup_component
component = await integration.async_get_component()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1051, in async_get_component
self._component_future.result()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1043, in async_get_component
comp = self._get_component()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1102, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing custom_components.tapo_control

Device Firmware

not applicable

Integration Version

7.1.24

Last known working integration version

Previous one

Using stream component

Yes

Does camera work via official integrations?

Yes

HASS Environment

BareMetal generic x86

Search for similar issues

Yes

Additional information

No response

Debug Logs (Required)

No way to activate debug logs
Only this issue is visible

Logger: homeassistant.setup
Source: setup.py:341
Première occurrence: 07:28:23 (1 occurrence)
Dernier enregistrement: 07:28:23

Setup failed for custom integration 'tapo_control': Unable to import component: Exception importing custom_components.tapo_control
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1091, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 201, in protected_loop_func
return func(*args, **kwargs)
File "/usr/local/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/config/custom_components/tapo_control/init.py", line 70, in
from .utils import (
...<22 lines>...
)
File "/config/custom_components/tapo_control/utils.py", line 18, in
from pytapo.media_stream.downloader import Downloader
File "/usr/local/lib/python3.14/site-packages/pytapo/init.py", line 7, in
from .transport.transport import Transport
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/transport.py", line 7, in
from .pytapo.pytapo import pyTapo
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/pytapo/pytapo.py", line 9, in
from Crypto.Cipher import AES
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/AES.py", line 26, in
from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
VoidPointer, SmartPointer,
c_size_t, c_uint8_ptr)
File "/usr/local/lib/python3.14/site-packages/Crypto/Util/_raw_api.py", line 87, in
ffi = FFI()
File "/usr/local/lib/python3.14/site-packages/cffi/api.py", line 47, in init
raise Exception("Version mismatch: this is the 'cffi' package version %s, located in %r. When we import the top-level '_cffi_backend' extension module, we get version %s, located in %r. The two versions should be equal; check your installation." % (
version, file,
backend.version, backend.file))
Exception: Version mismatch: this is the 'cffi' package version 2.1.0, located in '/usr/local/lib/python3.14/site-packages/cffi/api.py'. When we import the top-level '_cffi_backend' extension module, we get version 2.0.0, located in '/usr/local/lib/python3.14/site-packages/_cffi_backend.cpython-314-x86_64-linux-musl.so'. The two versions should be equal; check your installation.

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

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1031, in async_get_component
comp = await self.hass.async_add_import_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self._get_component, True
^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 86, in run
result = ctx.run(self.task)
File "/usr/local/lib/python3.14/concurrent/futures/thread.py", line 73, in run
return fn(*args, **kwargs)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1102, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing custom_components.tapo_control

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1091, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 201, in protected_loop_func
return func(*args, **kwargs)
File "/usr/local/lib/python3.14/importlib/init.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1406, in _gcd_import
File "", line 1371, in _find_and_load
File "", line 1342, in _find_and_load_unlocked
File "", line 938, in _load_unlocked
File "", line 759, in exec_module
File "", line 491, in _call_with_frames_removed
File "/config/custom_components/tapo_control/init.py", line 70, in
from .utils import (
...<22 lines>...
)
File "/config/custom_components/tapo_control/utils.py", line 18, in
from pytapo.media_stream.downloader import Downloader
File "/usr/local/lib/python3.14/site-packages/pytapo/init.py", line 7, in
from .transport.transport import Transport
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/transport.py", line 7, in
from .pytapo.pytapo import pyTapo
File "/usr/local/lib/python3.14/site-packages/pytapo/transport/pytapo/pytapo.py", line 9, in
from Crypto.Cipher import AES
File "/usr/local/lib/python3.14/site-packages/Crypto/Cipher/AES.py", line 26, in
from Crypto.Util._raw_api import (load_pycryptodome_raw_lib,
VoidPointer, SmartPointer,
c_size_t, c_uint8_ptr)
File "/usr/local/lib/python3.14/site-packages/Crypto/Util/_raw_api.py", line 87, in
ffi = FFI()
File "/usr/local/lib/python3.14/site-packages/cffi/api.py", line 47, in init
raise Exception("Version mismatch: this is the 'cffi' package version %s, located in %r. When we import the top-level '_cffi_backend' extension module, we get version %s, located in %r. The two versions should be equal; check your installation." % (
version, file,
backend.version, backend.file))
Exception: Version mismatch: this is the 'cffi' package version 2.1.0, located in '/usr/local/lib/python3.14/site-packages/cffi/api.py'. When we import the top-level '_cffi_backend' extension module, we get version 2.0.0, located in '/usr/local/lib/python3.14/site-packages/_cffi_backend.cpython-314-x86_64-linux-musl.so'. The two versions should be equal; check your installation.

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

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 341, in _async_setup_component
component = await integration.async_get_component()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1051, in async_get_component
self._component_future.result()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1043, in async_get_component
comp = self._get_component()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1102, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing custom_components.tapo_control

Metadata

Metadata

Assignees

No one assigned

    Labels

    InvalidBug/Enhancement not related to integration or already available.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions