From b4ee7865cabe9010b49e928d4aa5f6107afd2df4 Mon Sep 17 00:00:00 2001 From: wakonig_k Date: Mon, 1 Jul 2024 21:37:49 +0200 Subject: [PATCH] fix(device_server): fixed readout of objects that are neither devices nor signals --- bec_server/bec_server/device_server/rpc_mixin.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/bec_server/bec_server/device_server/rpc_mixin.py b/bec_server/bec_server/device_server/rpc_mixin.py index 2ee6b3b8..39c6009b 100644 --- a/bec_server/bec_server/device_server/rpc_mixin.py +++ b/bec_server/bec_server/device_server/rpc_mixin.py @@ -103,18 +103,14 @@ class RPCMixin: self.device_manager.devices[device_root].obj, instr_params.get("func").split(".read")[0], ) - if isinstance(obj, ophyd.Device): - return self._rpc_read_and_return(instr) - if isinstance(obj, ophyd.Signal): + if hasattr(obj, "kind"): if obj.kind not in [ophyd.Kind.omitted, ophyd.Kind.config]: return self._rpc_read_and_return(instr) if obj.kind == ophyd.Kind.config: return self._rpc_read_configuration_and_return(instr) if obj.kind == ophyd.Kind.omitted: return obj.read() - raise ValueError( - f"Cannot read from object {obj}. The object is not a valid ophyd object (Device or Signal)." - ) + return self._rpc_read_and_return(instr) def _handle_rpc_property_set(self, instr: messages.DeviceInstructionMessage) -> None: instr_params = instr.content.get("parameter")