fix container value

add parent_name to edge device id
This commit is contained in:
Xuwznln
2025-06-16 12:45:26 +08:00
parent e193bc493c
commit 6c471553c4
3 changed files with 8 additions and 7 deletions

View File

@@ -486,20 +486,17 @@
"name": "气源",
"children": [],
"parent": "ComprehensiveProtocolStation",
"type": "device",
"type": "container",
"class": "container",
"position": {
"x": 650,
"y": 150,
"z": 0
},
"config": {
"config": {},
"data": {
"gas_type": "nitrogen",
"max_pressure": 5.0
},
"data": {
"status": "Off",
"current_pressure": 0.0
}
},
{

View File

@@ -543,7 +543,6 @@ virtual_transfer_pump:
current_volume: Float64
max_volume: Float64
transfer_rate: Float64
from_vessel: String
action_value_mappings:
transfer:
type: Transfer

View File

@@ -193,15 +193,20 @@ class HostNode(BaseROS2DeviceNode):
)
resource_with_parent_name = []
resource_ids_to_instance = {i["id"]: i for i in resources_config}
resource_name_to_with_parent_name = {}
for res in resources_config:
if res.get("parent") and res.get("type") == "device" and res.get("class"):
parent_id = res.get("parent")
parent_res = resource_ids_to_instance[parent_id]
if parent_res.get("type") == "device" and parent_res.get("class"):
resource_with_parent_name.append(copy.deepcopy(res))
resource_name_to_with_parent_name[resource_with_parent_name[-1]["id"]] = f"{parent_res['id']}/{res['id']}"
resource_with_parent_name[-1]["id"] = f"{parent_res['id']}/{res['id']}"
continue
resource_with_parent_name.append(copy.deepcopy(res))
for edge in self.resources_edge_config:
edge["source"] = resource_name_to_with_parent_name.get(edge.get("source"), edge.get("source"))
edge["target"] = resource_name_to_with_parent_name.get(edge.get("target"), edge.get("target"))
try:
for bridge in self.bridges:
if hasattr(bridge, "resource_add"):