diff --git a/bec_widgets/cli/client_utils.py b/bec_widgets/cli/client_utils.py index c58e241a..af4185af 100644 --- a/bec_widgets/cli/client_utils.py +++ b/bec_widgets/cli/client_utils.py @@ -12,15 +12,16 @@ import uuid from functools import wraps from typing import TYPE_CHECKING -from bec_lib.device import DeviceBase from bec_lib.endpoints import MessageEndpoints from bec_lib.service_config import ServiceConfig -from bec_lib.utils.import_utils import lazy_import, lazy_import_from +from bec_lib.utils.import_utils import isinstance_based_on_class_name, lazy_import, lazy_import_from from qtpy.QtCore import QCoreApplication import bec_widgets.cli.client as client if TYPE_CHECKING: + from bec_lib.device import DeviceBase + from bec_widgets.cli.client import BECDockArea, BECFigure messages = lazy_import("bec_lib.messages") @@ -85,7 +86,7 @@ class BECGuiClientMixin: @selected_device.setter def selected_device(self, device: str | DeviceBase): - if isinstance(device, DeviceBase): + if isinstance_based_on_class_name(device, "bec_lib.device.DeviceBase"): self._selected_device = device.name elif isinstance(device, str): self._selected_device = device