{ "$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" ] ] } } } } } } } } }