Files
Uni-Lab-OS/unilabos/registry/devices/virtual_device.yaml
Xuwznln c001f6a151 v0.10.19
fast registry load

minor fix on skill & registry

stripe ros2 schema desc
add create-device-skill

new registry system backwards to yaml

remove not exist resource

new registry sys
exp. support with add device

add ai conventions

correct raise create resource error

ret info fix revert

ret info fix

fix prcxi check

add create_resource schema

re signal host ready event

add websocket connection timeout and improve reconnection logic

add open_timeout parameter to websocket connection
add TimeoutError and InvalidStatus exception handling
implement exponential backoff for reconnection attempts
simplify reconnection logic flow

add gzip

change pose extra to any

add isFlapY
2026-03-22 04:25:07 +08:00

5896 lines
169 KiB
YAML

virtual_centrifuge:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
centrifuge:
feedback:
current_speed: current_speed
current_status: current_status
current_temp: current_temp
progress: progress
goal:
speed: speed
temp: temp
time: time
vessel: vessel
goal_default:
speed: 0.0
temp: 0.0
time: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
current_status:
type: string
current_temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: Centrifuge_Feedback
type: object
goal:
additionalProperties: false
properties:
speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
time:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: Centrifuge_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: Centrifuge_Result
type: object
required:
- goal
title: Centrifuge
type: object
type: Centrifuge
module: unilabos.devices.virtual.virtual_centrifuge:VirtualCentrifuge
status_types:
centrifuge_state: str
current_speed: float
current_temp: float
max_speed: float
max_temp: float
message: str
min_temp: float
progress: float
status: str
target_speed: float
target_temp: float
time_remaining: float
type: python
config_info: []
description: Virtual Centrifuge for CentrifugeProtocol Testing
handles:
- data_key: vessel
data_source: handle
data_type: transport
description: 需要离心的样品容器
handler_key: centrifuge
io_type: target
label: centrifuge
side: NORTH
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
centrifuge_state:
type: string
current_speed:
type: number
current_temp:
type: number
max_speed:
type: number
max_temp:
type: number
message:
type: string
min_temp:
type: number
progress:
type: number
status:
type: string
target_speed:
type: number
target_temp:
type: number
time_remaining:
type: number
required:
- centrifuge_state
- current_speed
- current_temp
- max_speed
- max_temp
- message
- min_temp
- progress
- status
- target_speed
- target_temp
- time_remaining
type: object
version: 1.0.0
virtual_column:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
run_column:
feedback:
progress: progress
status: status
goal:
column: column
from_vessel: from_vessel
pct1: pct1
pct2: pct2
ratio: ratio
rf: rf
solvent1: solvent1
solvent2: solvent2
to_vessel: to_vessel
goal_default:
column: ''
from_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
pct1: ''
pct2: ''
ratio: ''
rf: ''
solvent1: ''
solvent2: ''
to_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
status:
type: string
title: RunColumn_Feedback
type: object
goal:
additionalProperties: false
properties:
column:
type: string
from_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: from_vessel
type: object
pct1:
type: string
pct2:
type: string
ratio:
type: string
rf:
type: string
solvent1:
type: string
solvent2:
type: string
to_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: to_vessel
type: object
title: RunColumn_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: RunColumn_Result
type: object
required:
- goal
title: RunColumn
type: object
type: RunColumn
module: unilabos.devices.virtual.virtual_column:VirtualColumn
status_types:
column_diameter: float
column_length: float
column_state: str
current_flow_rate: float
current_phase: str
current_status: str
final_volume: float
max_flow_rate: float
processed_volume: float
progress: float
status: str
type: python
config_info: []
description: Virtual Column Chromatography Device for RunColumn Protocol Testing
handles:
- data_key: from_vessel
data_source: handle
data_type: transport
description: 样品输入口
handler_key: columnin
io_type: target
label: columnin
side: WEST
- data_key: to_vessel
data_source: handle
data_type: transport
description: 产物输出口
handler_key: columnout
io_type: source
label: columnout
side: EAST
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
column_diameter:
type: number
column_length:
type: number
column_state:
type: string
current_flow_rate:
type: number
current_phase:
type: string
current_status:
type: string
final_volume:
type: number
max_flow_rate:
type: number
processed_volume:
type: number
progress:
type: number
status:
type: string
required:
- column_diameter
- column_length
- column_state
- current_flow_rate
- current_phase
- current_status
- final_volume
- max_flow_rate
- processed_volume
- progress
- status
type: object
version: 1.0.0
virtual_filter:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
filter:
feedback:
current_status: current_status
current_temp: current_temp
filtered_volume: filtered_volume
progress: progress
goal:
continue_heatchill: continue_heatchill
filtrate_vessel: filtrate_vessel
stir: stir
stir_speed: stir_speed
temp: temp
vessel: vessel
volume: volume
goal_default:
continue_heatchill: false
filtrate_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
stir: false
stir_speed: 0.0
temp: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
volume: 0.0
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_status:
type: string
current_temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
filtered_volume:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: Filter_Feedback
type: object
goal:
additionalProperties: false
properties:
continue_heatchill:
type: boolean
filtrate_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: filtrate_vessel
type: object
stir:
type: boolean
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
volume:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: Filter_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: Filter_Result
type: object
required:
- goal
title: Filter
type: object
type: Filter
module: unilabos.devices.virtual.virtual_filter:VirtualFilter
status_types:
current_status: str
current_temp: float
filtered_volume: float
max_stir_speed: float
max_temp: float
max_volume: float
message: str
progress: float
status: str
type: python
config_info: []
description: Virtual Filter for FilterProtocol Testing
handles:
- data_key: vessel_in
data_source: handle
data_type: transport
description: 需要过滤的样品容器
handler_key: filterin
io_type: target
label: filter_in
side: NORTH
- data_key: filtrate_out
data_source: handle
data_type: transport
description: 滤液出口
handler_key: filtrateout
io_type: source
label: filtrate_out
side: SOUTH
- data_key: retentate_out
data_source: handle
data_type: transport
description: 滤渣/固体出口
handler_key: retentateout
io_type: source
label: retentate_out
side: EAST
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_status:
type: string
current_temp:
type: number
filtered_volume:
type: number
max_stir_speed:
type: number
max_temp:
type: number
max_volume:
type: number
message:
type: string
progress:
type: number
status:
type: string
required:
- current_status
- current_temp
- filtered_volume
- max_stir_speed
- max_temp
- max_volume
- message
- progress
- status
type: object
version: 1.0.0
virtual_gas_source:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_closed:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_closed的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_open的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open参数
type: object
type: UniLabJsonCommand
close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result:
return_info: return_info
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: EmptyIn_Feedback
type: object
goal:
additionalProperties: true
title: EmptyIn_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result:
return_info: return_info
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: EmptyIn_Feedback
type: object
goal:
additionalProperties: true
title: EmptyIn_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
set_status:
feedback: {}
goal:
string: string
goal_default:
string: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: StrSingleInput_Feedback
type: object
goal:
additionalProperties: false
properties:
string:
type: string
title: StrSingleInput_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: StrSingleInput_Result
type: object
required:
- goal
title: StrSingleInput
type: object
type: StrSingleInput
module: unilabos.devices.virtual.virtual_gas_source:VirtualGasSource
status_types:
status: str
type: python
config_info: []
description: Virtual gas source
handles:
- data_key: fluid_out
data_source: executor
data_type: fluid
description: 气源出气口
handler_key: gassource
io_type: source
label: gassource
side: SOUTH
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0
virtual_heatchill:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
heat_chill:
feedback:
status: status
goal:
pressure: pressure
purpose: purpose
reflux_solvent: reflux_solvent
stir: stir
stir_speed: stir_speed
temp: temp
temp_spec: temp_spec
time: time
time_spec: time_spec
vessel: vessel
goal_default:
pressure: ''
purpose: ''
reflux_solvent: ''
stir: false
stir_speed: 0.0
temp: 0.0
temp_spec: ''
time: ''
time_spec: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: HeatChill_Feedback
type: object
goal:
additionalProperties: false
properties:
pressure:
type: string
purpose:
type: string
reflux_solvent:
type: string
stir:
type: boolean
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
temp_spec:
type: string
time:
type: string
time_spec:
type: string
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: HeatChill_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: HeatChill_Result
type: object
required:
- goal
title: HeatChill
type: object
type: HeatChill
heat_chill_start:
feedback:
status: status
goal:
purpose: purpose
temp: temp
vessel: vessel
goal_default:
purpose: ''
temp: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: HeatChillStart_Feedback
type: object
goal:
additionalProperties: false
properties:
purpose:
type: string
temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: HeatChillStart_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: HeatChillStart_Result
type: object
required:
- goal
title: HeatChillStart
type: object
type: HeatChillStart
heat_chill_stop:
feedback:
status: status
goal:
vessel: vessel
goal_default:
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: HeatChillStop_Feedback
type: object
goal:
additionalProperties: false
properties:
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: HeatChillStop_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: HeatChillStop_Result
type: object
required:
- goal
title: HeatChillStop
type: object
type: HeatChillStop
module: unilabos.devices.virtual.virtual_heatchill:VirtualHeatChill
status_types:
is_stirring: bool
max_stir_speed: float
max_temp: float
min_temp: float
operation_mode: str
progress: float
remaining_time: float
status: str
stir_speed: float
type: python
config_info: []
description: Virtual HeatChill for HeatChillProtocol Testing
handles:
- data_key: vessel
data_source: handle
data_type: mechanical
description: 加热/冷却器的物理连接口
handler_key: heatchill
io_type: source
label: heatchill
side: NORTH
icon: Heater.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
is_stirring:
type: boolean
max_stir_speed:
type: number
max_temp:
type: number
min_temp:
type: number
operation_mode:
type: string
progress:
type: number
remaining_time:
type: number
status:
type: string
stir_speed:
type: number
required:
- is_stirring
- max_stir_speed
- max_temp
- min_temp
- operation_mode
- progress
- remaining_time
- status
- stir_speed
type: object
version: 1.0.0
virtual_multiway_valve:
category:
- virtual_device
class:
action_value_mappings:
auto-close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: close的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close参数
type: object
type: UniLabJsonCommand
auto-is_at_port:
feedback: {}
goal: {}
goal_default:
port_number: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_at_port的参数schema
properties:
feedback: {}
goal:
properties:
port_number:
type: integer
required:
- port_number
type: object
result:
type: boolean
required:
- goal
title: is_at_port参数
type: object
type: UniLabJsonCommand
auto-is_at_position:
feedback: {}
goal: {}
goal_default:
position: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_at_position的参数schema
properties:
feedback: {}
goal:
properties:
position:
type: integer
required:
- position
type: object
result:
type: boolean
required:
- goal
title: is_at_position参数
type: object
type: UniLabJsonCommand
auto-is_at_pump_position:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_at_pump_position的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: is_at_pump_position参数
type: object
type: UniLabJsonCommand
auto-open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: open参数
type: object
type: UniLabJsonCommand
auto-reset:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: reset的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: reset参数
type: object
type: UniLabJsonCommand
auto-set_to_port:
feedback: {}
goal: {}
goal_default:
port_number: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: set_to_port的参数schema
properties:
feedback: {}
goal:
properties:
port_number:
type: integer
required:
- port_number
type: object
result: {}
required:
- goal
title: set_to_port参数
type: object
type: UniLabJsonCommand
auto-set_to_pump_position:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: set_to_pump_position的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: set_to_pump_position参数
type: object
type: UniLabJsonCommand
auto-switch_between_pump_and_port:
feedback: {}
goal: {}
goal_default:
port_number: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: switch_between_pump_and_port的参数schema
properties:
feedback: {}
goal:
properties:
port_number:
type: integer
required:
- port_number
type: object
result: {}
required:
- goal
title: switch_between_pump_and_port参数
type: object
type: UniLabJsonCommand
set_position:
feedback:
status: status
goal:
command: command
goal_default:
command: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: SendCmd_Feedback
type: object
goal:
additionalProperties: false
properties:
command:
type: string
title: SendCmd_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
set_valve_position:
feedback:
status: status
goal:
command: command
goal_default:
command: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: SendCmd_Feedback
type: object
goal:
additionalProperties: false
properties:
command:
type: string
title: SendCmd_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
module: unilabos.devices.virtual.virtual_multiway_valve:VirtualMultiwayValve
status_types:
current_port: str
current_position: int
flow_path: str
status: str
target_position: int
valve_position: int
valve_state: str
type: python
config_info: []
description: Virtual 8-Way Valve for flow direction control
handles:
- data_key: fluid_in
data_source: handle
data_type: fluid
description: 八通阀门进液口
handler_key: transferpump
io_type: target
label: transferpump
side: NORTH
- data_key: fluid_port_1
data_source: executor
data_type: fluid
description: 八通阀门端口1
handler_key: '1'
io_type: source
label: '1'
side: NORTH
- data_key: fluid_port_2
data_source: executor
data_type: fluid
description: 八通阀门端口2
handler_key: '2'
io_type: source
label: '2'
side: EAST
- data_key: fluid_port_3
data_source: executor
data_type: fluid
description: 八通阀门端口3
handler_key: '3'
io_type: source
label: '3'
side: EAST
- data_key: fluid_port_4
data_source: executor
data_type: fluid
description: 八通阀门端口4
handler_key: '4'
io_type: source
label: '4'
side: SOUTH
- data_key: fluid_port_5
data_source: executor
data_type: fluid
description: 八通阀门端口5
handler_key: '5'
io_type: source
label: '5'
side: SOUTH
- data_key: fluid_port_6
data_source: executor
data_type: fluid
description: 八通阀门端口6
handler_key: '6'
io_type: source
label: '6'
side: WEST
- data_key: fluid_port_7
data_source: executor
data_type: fluid
description: 八通阀门端口7
handler_key: '7'
io_type: source
label: '7'
side: WEST
- data_key: fluid_port_8
data_source: executor
data_type: fluid
description: 八通阀门端口8-特殊输入
handler_key: '8'
io_type: target
label: '8'
side: WEST
- data_key: fluid_port_8
data_source: executor
data_type: fluid
description: 八通阀门端口8
handler_key: '8'
io_type: source
label: '8'
side: NORTH
icon: EightPipeline.webp
init_param_schema:
config:
properties:
port:
default: VIRTUAL
type: string
positions:
default: 8
type: integer
required: []
type: object
data:
properties:
current_port:
type: string
current_position:
type: integer
flow_path:
type: string
status:
type: string
target_position:
type: integer
valve_position:
type: integer
valve_state:
type: string
required:
- current_port
- current_position
- flow_path
- status
- target_position
- valve_position
- valve_state
type: object
version: 1.0.0
virtual_rotavap:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
evaporate:
feedback:
current_device: current_device
status: status
time_remaining: time_remaining
time_spent: time_spent
goal:
pressure: pressure
solvent: solvent
stir_speed: stir_speed
temp: temp
time: time
vessel: vessel
goal_default:
pressure: 0.0
solvent: ''
stir_speed: 0.0
temp: 0.0
time: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_device:
type: string
status:
type: string
time_remaining:
additionalProperties: false
properties:
nanosec:
maximum: 4294967295
minimum: 0
type: integer
sec:
maximum: 2147483647
minimum: -2147483648
type: integer
required:
- sec
- nanosec
title: time_remaining
type: object
time_spent:
additionalProperties: false
properties:
nanosec:
maximum: 4294967295
minimum: 0
type: integer
sec:
maximum: 2147483647
minimum: -2147483648
type: integer
required:
- sec
- nanosec
title: time_spent
type: object
title: Evaporate_Feedback
type: object
goal:
additionalProperties: false
properties:
pressure:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
solvent:
type: string
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
temp:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
time:
type: string
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: Evaporate_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: Evaporate_Result
type: object
required:
- goal
title: Evaporate
type: object
type: Evaporate
module: unilabos.devices.virtual.virtual_rotavap:VirtualRotavap
status_types:
current_temp: float
evaporated_volume: float
max_rotation_speed: float
max_temp: float
message: str
progress: float
remaining_time: float
rotation_speed: float
rotavap_state: str
status: str
vacuum_pressure: float
type: python
config_info: []
description: Virtual Rotary Evaporator for EvaporateProtocol Testing
handles:
- data_key: vessel_in
data_source: handle
data_type: fluid
description: 样品连接口
handler_key: samplein
io_type: target
label: sample_in
side: NORTH
- data_key: product_out
data_source: handle
data_type: fluid
description: 浓缩产物出口
handler_key: productout
io_type: source
label: product_out
side: SOUTH
- data_key: solvent_out
data_source: handle
data_type: fluid
description: 冷凝溶剂出口
handler_key: solventout
io_type: source
label: solvent_out
side: EAST
icon: Rotaryevaporator.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_temp:
type: number
evaporated_volume:
type: number
max_rotation_speed:
type: number
max_temp:
type: number
message:
type: string
progress:
type: number
remaining_time:
type: number
rotation_speed:
type: number
rotavap_state:
type: string
status:
type: string
vacuum_pressure:
type: number
required:
- current_temp
- evaporated_volume
- max_rotation_speed
- max_temp
- message
- progress
- remaining_time
- rotation_speed
- rotavap_state
- status
- vacuum_pressure
type: object
version: 1.0.0
virtual_separator:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
separate:
feedback:
progress: progress
status: status
goal:
from_vessel: from_vessel
product_phase: product_phase
product_vessel: product_vessel
purpose: purpose
repeats: repeats
separation_vessel: separation_vessel
settling_time: settling_time
solvent: solvent
solvent_volume: solvent_volume
stir_speed: stir_speed
stir_time: stir_time
through: through
to_vessel: to_vessel
vessel: vessel
volume: volume
waste_phase_to_vessel: waste_phase_to_vessel
waste_vessel: waste_vessel
goal_default:
from_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
product_phase: ''
product_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
purpose: ''
repeats: 0
separation_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
settling_time: 0.0
solvent: ''
solvent_volume: ''
stir_speed: 0.0
stir_time: 0.0
through: ''
to_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
volume: ''
waste_phase_to_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
waste_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
status:
type: string
title: Separate_Feedback
type: object
goal:
additionalProperties: false
properties:
from_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: from_vessel
type: object
product_phase:
type: string
product_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: product_vessel
type: object
purpose:
type: string
repeats:
maximum: 2147483647
minimum: -2147483648
type: integer
separation_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: separation_vessel
type: object
settling_time:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
solvent:
type: string
solvent_volume:
type: string
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
stir_time:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
through:
type: string
to_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: to_vessel
type: object
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
volume:
type: string
waste_phase_to_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: waste_phase_to_vessel
type: object
waste_vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: waste_vessel
type: object
title: Separate_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: Separate_Result
type: object
required:
- goal
title: Separate
type: object
type: Separate
module: unilabos.devices.virtual.virtual_separator:VirtualSeparator
status_types:
has_phases: bool
message: str
phase_separation: bool
progress: float
separator_state: str
settling_time: float
status: str
stir_speed: float
volume: float
type: python
config_info: []
description: Virtual Separator for SeparateProtocol Testing
handles:
- data_key: from_vessel
data_source: handle
data_type: fluid
description: 需要分离的混合液体输入口
handler_key: separatorin
io_type: target
label: separator_in
side: NORTH
- data_key: bottom_outlet
data_source: executor
data_type: fluid
description: 下相(重相)液体输出口
handler_key: bottomphaseout
io_type: source
label: bottom_phase_out
side: SOUTH
- data_key: mechanical_port
data_source: handle
data_type: mechanical
description: 用于连接搅拌器等机械设备的接口
handler_key: bind
io_type: target
label: bind
side: WEST
icon: Separator.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
has_phases:
type: boolean
message:
type: string
phase_separation:
type: boolean
progress:
type: number
separator_state:
type: string
settling_time:
type: number
status:
type: string
stir_speed:
type: number
volume:
type: number
required:
- has_phases
- message
- phase_separation
- progress
- separator_state
- settling_time
- status
- stir_speed
- volume
type: object
version: 1.0.0
virtual_solenoid_valve:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_closed:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_closed的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-reset:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: reset的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: reset参数
type: object
type: UniLabJsonCommandAsync
auto-toggle:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: toggle的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: toggle参数
type: object
type: UniLabJsonCommand
close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result:
return_info: return_info
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: EmptyIn_Feedback
type: object
goal:
additionalProperties: true
title: EmptyIn_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result:
return_info: return_info
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: EmptyIn_Feedback
type: object
goal:
additionalProperties: true
title: EmptyIn_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
set_status:
feedback: {}
goal:
string: string
goal_default:
string: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: StrSingleInput_Feedback
type: object
goal:
additionalProperties: false
properties:
string:
type: string
title: StrSingleInput_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: StrSingleInput_Result
type: object
required:
- goal
title: StrSingleInput
type: object
type: StrSingleInput
set_valve_position:
feedback:
status: status
goal:
command: command
goal_default:
command: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: SendCmd_Feedback
type: object
goal:
additionalProperties: false
properties:
command:
type: string
title: SendCmd_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
module: unilabos.devices.virtual.virtual_solenoid_valve:VirtualSolenoidValve
status_types:
is_open: bool
status: str
valve_position: str
valve_state: str
type: python
config_info: []
description: Virtual Solenoid Valve for simple on/off flow control
handles:
- data_key: fluid_port_in
data_source: handle
data_type: fluid
description: 电磁阀的进液口
handler_key: in
io_type: target
label: in
side: NORTH
- data_key: fluid_port_out
data_source: handle
data_type: fluid
description: 电磁阀的出液口
handler_key: out
io_type: source
label: out
side: SOUTH
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
is_open:
type: boolean
status:
type: string
valve_position:
type: string
valve_state:
type: string
required:
- is_open
- status
- valve_position
- valve_state
type: object
version: 1.0.0
virtual_solid_dispenser:
category:
- virtual_device
class:
action_value_mappings:
add_solid:
feedback:
current_status: current_status
progress: progress
goal:
amount: amount
equiv: equiv
event: event
mass: mass
mol: mol
purpose: purpose
rate_spec: rate_spec
ratio: ratio
reagent: reagent
stir: stir
stir_speed: stir_speed
time: time
vessel: vessel
viscous: viscous
volume: volume
goal_default:
amount: ''
equiv: ''
event: ''
mass: ''
mol: ''
purpose: ''
rate_spec: ''
ratio: ''
reagent: ''
stir: false
stir_speed: 0.0
time: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
viscous: false
volume: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_status:
type: string
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: Add_Feedback
type: object
goal:
additionalProperties: false
properties:
amount:
type: string
equiv:
type: string
event:
type: string
mass:
type: string
mol:
type: string
purpose:
type: string
rate_spec:
type: string
ratio:
type: string
reagent:
type: string
stir:
type: boolean
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
time:
type: string
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
viscous:
type: boolean
volume:
type: string
title: Add_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: Add_Result
type: object
required:
- goal
title: Add
type: object
type: Add
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-find_solid_reagent_bottle:
feedback: {}
goal: {}
goal_default:
reagent_name: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
reagent_name:
type: string
required:
- reagent_name
type: object
result:
type: string
required:
- goal
title: find_solid_reagent_bottle参数
type: object
type: UniLabJsonCommand
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-parse_mass_string:
feedback: {}
goal: {}
goal_default:
mass_str: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
mass_str:
type: string
required:
- mass_str
type: object
result:
type: number
required:
- goal
title: parse_mass_string参数
type: object
type: UniLabJsonCommand
auto-parse_mol_string:
feedback: {}
goal: {}
goal_default:
mol_str: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
mol_str:
type: string
required:
- mol_str
type: object
result:
type: number
required:
- goal
title: parse_mol_string参数
type: object
type: UniLabJsonCommand
module: unilabos.devices.virtual.virtual_solid_dispenser:VirtualSolidDispenser
status_types:
current_reagent: str
dispensed_amount: float
status: str
total_operations: int
type: python
config_info: []
description: Virtual Solid Dispenser for Add Protocol Testing - supports mass and
molar additions
handles:
- data_key: solid_out
data_source: executor
data_type: resource
description: 固体试剂输出口
handler_key: SolidOut
io_type: source
label: SolidOut
side: SOUTH
- data_key: solid_in
data_source: handle
data_type: resource
description: 固体试剂输入口(连接试剂瓶)
handler_key: SolidIn
io_type: target
label: SolidIn
side: NORTH
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_reagent:
type: string
dispensed_amount:
type: number
status:
type: string
total_operations:
type: integer
required:
- current_reagent
- dispensed_amount
- status
- total_operations
type: object
version: 1.0.0
virtual_stirrer:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
start_stir:
feedback:
current_speed: current_speed
current_status: current_status
progress: progress
goal:
purpose: purpose
stir_speed: stir_speed
vessel: vessel
goal_default:
purpose: ''
stir_speed: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
current_status:
type: string
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: StartStir_Feedback
type: object
goal:
additionalProperties: false
properties:
purpose:
type: string
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: StartStir_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: StartStir_Result
type: object
required:
- goal
title: StartStir
type: object
type: StartStir
stir:
feedback:
status: status
goal:
event: event
settling_time: settling_time
stir_speed: stir_speed
stir_time: stir_time
time: time
time_spec: time_spec
vessel: vessel
goal_default:
event: ''
settling_time: ''
stir_speed: 0.0
stir_time: 0.0
time: ''
time_spec: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
status:
type: string
title: Stir_Feedback
type: object
goal:
additionalProperties: false
properties:
event:
type: string
settling_time:
type: string
stir_speed:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
stir_time:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
time:
type: string
time_spec:
type: string
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: Stir_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: Stir_Result
type: object
required:
- goal
title: Stir
type: object
type: Stir
stop_stir:
feedback:
current_status: current_status
progress: progress
goal:
vessel: vessel
goal_default:
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_status:
type: string
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: StopStir_Feedback
type: object
goal:
additionalProperties: false
properties:
vessel:
additionalProperties: false
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
additionalProperties: false
properties:
orientation:
additionalProperties: false
properties:
w:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
additionalProperties: false
properties:
x:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
y:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
z:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
title: StopStir_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: StopStir_Result
type: object
required:
- goal
title: StopStir
type: object
type: StopStir
module: unilabos.devices.virtual.virtual_stirrer:VirtualStirrer
status_types:
current_speed: float
current_vessel: str
device_info: Dict[str, Any]
is_stirring: bool
max_speed: float
min_speed: float
operation_mode: str
remaining_time: float
status: str
type: python
config_info: []
description: Virtual Stirrer for StirProtocol Testing
handles:
- data_key: vessel
data_source: handle
data_type: mechanical
description: 搅拌器的机械连接口
handler_key: stirrer
io_type: source
label: stirrer
side: NORTH
icon: Stirrer.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_speed:
type: number
current_vessel:
type: string
device_info:
type: object
is_stirring:
type: boolean
max_speed:
type: number
min_speed:
type: number
operation_mode:
type: string
remaining_time:
type: number
status:
type: string
required:
- current_speed
- current_vessel
- device_info
- is_stirring
- max_speed
- min_speed
- operation_mode
- remaining_time
- status
type: object
version: 1.0.0
virtual_transfer_pump:
category:
- virtual_device
class:
action_value_mappings:
auto-aspirate:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: aspirate的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: aspirate参数
type: object
type: UniLabJsonCommandAsync
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-dispense:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: dispense的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: dispense参数
type: object
type: UniLabJsonCommandAsync
auto-empty_syringe:
feedback: {}
goal: {}
goal_default:
velocity: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: empty_syringe的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
required: []
type: object
result: {}
required:
- goal
title: empty_syringe参数
type: object
type: UniLabJsonCommandAsync
auto-fill_syringe:
feedback: {}
goal: {}
goal_default:
velocity: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: fill_syringe的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
required: []
type: object
result: {}
required:
- goal
title: fill_syringe参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_empty:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_empty的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: is_empty参数
type: object
type: UniLabJsonCommand
auto-is_full:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_full的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: is_full参数
type: object
type: UniLabJsonCommand
auto-pull_plunger:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: pull_plunger的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: pull_plunger参数
type: object
type: UniLabJsonCommandAsync
auto-push_plunger:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: push_plunger的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: push_plunger参数
type: object
type: UniLabJsonCommandAsync
auto-set_max_velocity:
feedback: {}
goal: {}
goal_default:
velocity: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: set_max_velocity的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
required:
- velocity
type: object
result: {}
required:
- goal
title: set_max_velocity参数
type: object
type: UniLabJsonCommand
auto-stop_operation:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: stop_operation的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: stop_operation参数
type: object
type: UniLabJsonCommandAsync
set_position:
feedback:
current_position: current_position
progress: progress
status: status
goal:
max_velocity: max_velocity
position: position
goal_default:
max_velocity: 0.0
position: 0.0
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_position:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
status:
type: string
title: SetPumpPosition_Feedback
type: object
goal:
additionalProperties: false
properties:
max_velocity:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
position:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: SetPumpPosition_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: SetPumpPosition_Result
type: object
required:
- goal
title: SetPumpPosition
type: object
type: SetPumpPosition
transfer:
feedback:
current_status: current_status
progress: progress
transferred_volume: transferred_volume
goal:
amount: amount
aspirate_velocity: aspirate_velocity
dispense_velocity: dispense_velocity
from_vessel: from_vessel
rinsing_repeats: rinsing_repeats
rinsing_solvent: rinsing_solvent
rinsing_volume: rinsing_volume
solid: solid
time: time
to_vessel: to_vessel
viscous: viscous
volume: volume
goal_default:
amount: ''
from_vessel: ''
rinsing_repeats: 0
rinsing_solvent: ''
rinsing_volume: 0.0
solid: false
time: 0.0
to_vessel: ''
viscous: false
volume: 0.0
handles: {}
placeholder_keys: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: false
properties:
current_status:
type: string
progress:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
transferred_volume:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: Transfer_Feedback
type: object
goal:
additionalProperties: false
properties:
amount:
type: string
from_vessel:
type: string
rinsing_repeats:
maximum: 2147483647
minimum: -2147483648
type: integer
rinsing_solvent:
type: string
rinsing_volume:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
solid:
type: boolean
time:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
to_vessel:
type: string
viscous:
type: boolean
volume:
maximum: 1.7976931348623157e+308
minimum: -1.7976931348623157e+308
type: number
title: Transfer_Goal
type: object
result:
additionalProperties: false
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
title: Transfer_Result
type: object
required:
- goal
title: Transfer
type: object
type: Transfer
module: unilabos.devices.virtual.virtual_transferpump:VirtualTransferPump
status_types:
current_volume: float
max_velocity: float
position: float
remaining_capacity: float
status: str
transfer_rate: float
type: python
config_info: []
description: Virtual Transfer Pump for TransferProtocol Testing (Syringe-style)
handles:
- data_key: fluid_port
data_source: handle
data_type: fluid
description: 注射器式转移泵的连接口
handler_key: transferpump
io_type: source
label: transferpump
side: SOUTH
icon: Pump.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_volume:
type: number
max_velocity:
type: number
position:
type: number
remaining_capacity:
type: number
status:
type: string
transfer_rate:
type: number
required:
- current_volume
- max_velocity
- position
- remaining_capacity
- status
- transfer_rate
type: object
version: 1.0.0
virtual_vacuum_pump:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
type: boolean
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_closed:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_closed的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_open的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open参数
type: object
type: UniLabJsonCommand
close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result:
return_info: return_info
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: EmptyIn_Feedback
type: object
goal:
additionalProperties: true
title: EmptyIn_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result:
return_info: return_info
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: EmptyIn_Feedback
type: object
goal:
additionalProperties: true
title: EmptyIn_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
set_status:
feedback: {}
goal:
string: string
goal_default:
string: ''
handles: {}
placeholder_keys: {}
result:
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
additionalProperties: true
title: StrSingleInput_Feedback
type: object
goal:
additionalProperties: false
properties:
string:
type: string
title: StrSingleInput_Goal
type: object
result:
additionalProperties: false
properties:
return_info:
type: string
success:
type: boolean
title: StrSingleInput_Result
type: object
required:
- goal
title: StrSingleInput
type: object
type: StrSingleInput
module: unilabos.devices.virtual.virtual_vacuum_pump:VirtualVacuumPump
status_types:
status: str
type: python
config_info: []
description: Virtual vacuum pump
handles:
- data_key: fluid_in
data_source: handle
data_type: fluid
description: 真空泵进气口
handler_key: vacuumpump
io_type: source
label: vacuumpump
side: SOUTH
icon: Vacuum.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0