diff --git a/src/pydase/server/server.py b/src/pydase/server/server.py index 7046603..924ebd2 100644 --- a/src/pydase/server/server.py +++ b/src/pydase/server/server.py @@ -311,8 +311,13 @@ class Server: get_nested_dict_by_path(self._state_manager.cache, full_access_path) ) serialized_value = dump(value) + + if cached_value_dict["type"] != "method": + cached_value_dict["type"] = serialized_value["type"] + else: + logger.debug("Got method") + cached_value_dict["value"] = serialized_value["value"] - cached_value_dict["type"] = serialized_value["type"] async def notify() -> None: try: diff --git a/src/pydase/utils/serializer.py b/src/pydase/utils/serializer.py index ece26c4..d217718 100644 --- a/src/pydase/utils/serializer.py +++ b/src/pydase/utils/serializer.py @@ -259,8 +259,9 @@ def set_nested_value_by_path( # setting the new value serialized_value = dump(value) if "readonly" in current_dict: + if current_dict["type"] != "method": + current_dict["type"] = serialized_value["type"] current_dict["value"] = serialized_value["value"] - current_dict["type"] = serialized_value["type"] else: current_dict.update(serialized_value)