127 lines
5.3 KiB
Plaintext
127 lines
5.3 KiB
Plaintext
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "instantActions",
|
|
"description": "JSON Schema for publishing instantActions that the AGV is to execute as soon as they arrive.",
|
|
"required": [
|
|
"headerId",
|
|
"timestamp",
|
|
"version",
|
|
"manufacturer",
|
|
"serialNumber",
|
|
"actions"
|
|
],
|
|
"subtopic": "/instantActions",
|
|
"type": "object",
|
|
"properties": {
|
|
"headerId": {
|
|
"title": "headerId",
|
|
"type": "integer",
|
|
"description": "headerId of the message. The headerId is defined per topic and incremented by 1 with each sent (but not necessarily received) message."
|
|
},
|
|
"timestamp": {
|
|
"title": "timestamp",
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Timestamp in ISO8601 format (YYYY-MM-DDTHH:mm:ss.ffZ).",
|
|
"examples": [
|
|
"1991-03-11T11:40:03.12Z"
|
|
]
|
|
},
|
|
"version": {
|
|
"title": "Version",
|
|
"type": "string",
|
|
"description": "Version of the protocol [Major].[Minor].[Patch]",
|
|
"examples": [
|
|
"1.3.2"
|
|
]
|
|
},
|
|
"manufacturer": {
|
|
"type": "string",
|
|
"description": "Manufacturer of the AGV"
|
|
},
|
|
"serialNumber": {
|
|
"type": "string",
|
|
"description": "Serial number of the AGV."
|
|
},
|
|
"actions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"description": "Describes an action that the AGV can perform.",
|
|
"required": [
|
|
"actionId",
|
|
"actionType",
|
|
"blockingType"
|
|
],
|
|
"properties": {
|
|
"actionType": {
|
|
"type": "string",
|
|
"description": "Name of action as described in the first column of \"Actions and Parameters\". Identifies the function of the action."
|
|
},
|
|
"actionId": {
|
|
"type": "string",
|
|
"description": "Unique ID to identify the action and map them to the actionState in the state. Suggestion: Use UUIDs."
|
|
},
|
|
"actionDescription": {
|
|
"type": "string",
|
|
"description": "Additional information on the action."
|
|
},
|
|
"blockingType": {
|
|
"type": "string",
|
|
"description": "Regulates if the action is allowed to be executed during movement and/or parallel to other actions.\nnone: action can happen in parallel with others, including movement.\nsoft: action can happen simultaneously with others, but not while moving.\nhard: no other actions can be performed while this action is running.",
|
|
"enum": [
|
|
"NONE",
|
|
"SOFT",
|
|
"HARD"
|
|
]
|
|
},
|
|
"actionParameters": {
|
|
"type": "array",
|
|
"description": "Array of actionParameter-objects for the indicated action e. g. deviceId, loadId, external Triggers.",
|
|
"items": {
|
|
"title": "actionParameter",
|
|
"type": "object",
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"description": "The key of the action parameter.",
|
|
"examples": [
|
|
"duration",
|
|
"direction",
|
|
"signal"
|
|
]
|
|
},
|
|
"value": {
|
|
"type": [
|
|
"array",
|
|
"boolean",
|
|
"number",
|
|
"string",
|
|
"object"
|
|
],
|
|
"description": "The value of the action parameter",
|
|
"examples": [
|
|
103.2,
|
|
"left",
|
|
true,
|
|
[
|
|
"arrays",
|
|
"are",
|
|
"also",
|
|
"valid"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|