fix protocol node

This commit is contained in:
Xuwznln
2025-08-12 17:08:59 +08:00
parent f791c1a342
commit e8c1f76dbb
3 changed files with 24 additions and 5 deletions

View File

@@ -217,6 +217,11 @@ class VirtualFilter:
"""Filter.action feedback 字段 🌡️""" """Filter.action feedback 字段 🌡️"""
return self.data.get("current_temp", 25.0) return self.data.get("current_temp", 25.0)
@property
def current_status(self) -> str:
"""Filter.action feedback 字段 📋"""
return self.data.get("current_status", "")
@property @property
def filtered_volume(self) -> float: def filtered_volume(self) -> float:
"""Filter.action feedback 字段 💧""" """Filter.action feedback 字段 💧"""

View File

@@ -843,6 +843,15 @@ class HostNode(BaseROS2DeviceNode):
success = bool(r) success = bool(r)
response.success = success response.success = success
if success:
from unilabos.resources.graphio import physical_setup_graph
for resource in resources:
if resource.get("id") not in physical_setup_graph.nodes:
physical_setup_graph.add_node(resource["id"], **resource)
else:
physical_setup_graph.nodes[resource["id"]]["data"].update(resource["data"])
self.lab_logger().info(f"[Host Node-Resource] Add request completed, success: {success}") self.lab_logger().info(f"[Host Node-Resource] Add request completed, success: {success}")
return response return response

View File

@@ -223,9 +223,14 @@ class ROS2ProtocolNode(BaseROS2DeviceNode):
self.lab_logger().info(f"Working on physical setup: {physical_setup_graph}") self.lab_logger().info(f"Working on physical setup: {physical_setup_graph}")
protocol_steps = protocol_steps_generator(G=physical_setup_graph, **protocol_kwargs) protocol_steps = protocol_steps_generator(G=physical_setup_graph, **protocol_kwargs)
logs = []
for step in protocol_steps:
if isinstance(step, dict) and "log_message" in step.get("action_kwargs", {}):
logs.append(step)
elif isinstance(step, list):
logs.append(step)
self.lab_logger().info(f"Goal received: {protocol_kwargs}, running steps: " self.lab_logger().info(f"Goal received: {protocol_kwargs}, running steps: "
f"{json.dumps([step for step in protocol_steps if 'log_message' not in step['action_kwargs']], indent=4)}") f"{json.dumps(logs, indent=4, ensure_ascii=False)}")
time_start = time.time() time_start = time.time()
time_overall = 100 time_overall = 100