{ "$schema": "http://json-schema.org/draft-07/schema#", "oneOf": [ { "description": "Schema for a single Cloud/Edge/Embedded/Custom Node Workflow Version", "type": "object", "properties": { "id": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "flowVersionId": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "flowId": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "applicationId": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "creationDate": { "type": "string", "format": "date-time" }, "lastUpdated": { "type": "string", "format": "date-time" }, "version": { "type": "string", "minLength": 1, "maxLength": 255 }, "flowClass": { "type": "string", "enum": [ "cloud", "edge", "embedded", "customNode" ] }, "notes": { "type": "string", "maxLength": 32767 }, "enabled": { "type": "boolean" }, "triggers": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "customNodeStart", "deviceCommand", "deviceIdConnect", "deviceTagConnect", "deviceIdDisconnect", "deviceTagDisconnect", "integration", "notebook", "onBoot", "onConnect", "onDisconnect", "udp", "webhook", "resourceJobIteration", "resourceJobIterationTimeout", "resourceJobComplete" ] }, "config": { "type": "object", "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "customNodeStart", "deviceCommand", "deviceIdsTagsConnect", "deviceIdsTagsDisconnect", "eeaInit", "flowError", "azureEventHub", "googlePubSub", "mqtt", "notebook", "onBoot", "onConnect", "onDisconnect", "particle", "sqs", "udp", "webhook", "resourceJobIteration", "resourceJobIterationTimeout", "resourceJobComplete" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "triggerId": { "type": "string", "maxLength": 48 }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "dataTable" ] }, "config": { "type": "object", "properties": { "bulkInsert": { "type": "boolean" }, "delete": { "type": "boolean" }, "insert": { "type": "boolean" }, "update": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "dataTable" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "deviceId", "deviceTag" ] }, "config": { "type": "object", "properties": { "attributeBlacklist": { "type": "array", "maxItems": 100, "items": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" } }, "attributeWhitelist": { "type": "array", "maxItems": 100, "items": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" } }, "maxAge": { "type": "number" }, "triggerOn": { "type": "string", "enum": [ "batch", "individual", "both" ] }, "batchBehavior": { "type": "string", "enum": [ "once", "each" ] } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "deviceIdsTags", "device", "deviceTag" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "timeUnit": { "type": "string", "maxLength": 48 }, "maxAgeToggle": { "type": "boolean" }, "allowedAttributeType": { "type": "string", "enum": [ "attributeWhitelist", "any", "attributeBlacklist" ] } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "deviceIdInactivity", "deviceTagInactivity" ] }, "config": { "type": "object", "properties": { "seconds": { "type": "number" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "deviceIdsTagsInactivity" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "direct" ] }, "config": { "type": "object", "properties": {}, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "direct" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "endpoint" ] }, "config": { "type": "object", "properties": { "experienceVersion": { "type": "string", "minLength": 1, "maxLength": 255 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "endpoint" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "event" ] }, "config": { "type": "object", "properties": { "subject": { "type": "string", "maxLength": 255 }, "new": { "type": "boolean" }, "acknowledged": { "type": "boolean" }, "resolved": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "event" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "fileTail" ] }, "config": { "type": "object", "properties": { "path": { "type": "string", "maxLength": 1024 }, "encoding": { "type": "string", "maxLength": 48 }, "byteLength": { "type": "string", "maxLength": 48 }, "delimiter": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "fileTail" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "fileWatch" ] }, "config": { "type": "object", "properties": { "path": { "type": "string", "maxLength": 1024 }, "fileAdded": { "type": "boolean" }, "fileChanged": { "type": "boolean" }, "fileRemoved": { "type": "boolean" }, "directoryAdded": { "type": "boolean" }, "directoryRemoved": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "fileWatch" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "flowError" ] }, "config": { "type": "object", "properties": { "scope": { "type": "string", "enum": [ "local", "global", "experience", "cloud" ] } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "flowError" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "mqttTopic" ] }, "config": { "type": "object", "properties": { "integrationId": { "type": "string", "enum": [ "losant", "local" ] } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "mqtt" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "triggerId": { "type": "string", "maxLength": 48 }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "opcua" ] }, "config": { "type": "object", "properties": { "uri": { "type": "string", "maxLength": 1024 }, "securityPolicy": { "type": "string", "maxLength": 255 }, "securityMode": { "type": "string", "maxLength": 255 }, "username": { "type": "string", "maxLength": 1024 }, "password": { "type": "string", "maxLength": 1024 }, "cert": { "type": "string", "maxLength": 32767 }, "privateKey": { "type": "string", "maxLength": 32767 }, "nameSpace": { "type": "string", "maxLength": 255 }, "identifier": { "type": "string", "maxLength": 255 }, "samplingInterval": { "type": "string", "maxLength": 255 }, "eventFilter": { "type": "array", "maxItems": 100, "items": { "type": "string", "maxLength": 255 } } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "opcua" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "redis" ] }, "config": { "type": "object", "properties": { "host": { "type": "string", "maxLength": 1024 }, "port": { "type": "string", "maxLength": 16 }, "password": { "type": "string", "maxLength": 1024 }, "topic": { "type": "string", "maxLength": 1024 }, "fileAdded": { "type": "boolean" }, "fileChanged": { "type": "boolean" }, "fileRemoved": { "type": "boolean" }, "directoryAdded": { "type": "boolean" }, "directoryRemoved": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "redisTrigger" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "request" ] }, "config": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "*", "delete", "get", "options", "patch", "post", "put" ] }, "route": { "type": "string", "maxLength": 1024 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "request" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "triggerId": { "type": "string", "maxLength": 48 }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "serial" ] }, "config": { "type": "object", "properties": { "path": { "type": "string", "maxLength": 1024 }, "baudRate": { "type": "number" }, "dataBits": { "type": "number" }, "stopBits": { "type": "number" }, "parity": { "type": "string", "maxLength": 8 }, "rtscts": { "type": "boolean" }, "encoding": { "type": "string", "maxLength": 48 }, "writeOnOpen": { "type": "string", "maxLength": 1024 }, "writeOnOpenEncoding": { "type": "string", "maxLength": 48 }, "byteLength": { "type": "string", "maxLength": 48 }, "delimiter": { "type": "string", "maxLength": 48 }, "delimiterEncoding": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "serial" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "parseBy": { "type": "string", "enum": [ "byteLength", "delimiter" ] } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "snmpTrap" ] }, "config": { "type": "object", "properties": { "udpPort": { "type": "string", "maxLength": 5 }, "snmpTrapConfig": { "type": "object", "properties": { "community": { "type": "string", "maxLength": 1024 }, "user": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 1024 }, "securityLevel": { "type": "string", "enum": [ "none", "auth", "authAndEncrypt" ] }, "authMethod": { "type": "string", "enum": [ "sha", "md5" ] }, "authKey": { "type": "string", "maxLength": 1024 }, "encryptionMethod": { "type": "string", "enum": [ "aes", "des" ] }, "encryptionKey": { "type": "string", "maxLength": 1024 } }, "required": [ "name", "securityLevel" ], "additionalProperties": false } }, "additionalProperties": false } }, "required": [ "udpPort", "snmpTrapConfig" ], "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "snmpTrap" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "timer" ] }, "config": { "type": "object", "properties": { "seconds": { "type": "number" }, "cron": { "type": "string", "maxLength": 255 }, "tz": { "type": "string", "maxLength": 255 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "timer" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "timerTypeSelect": { "type": "string", "enum": [ "cronWeekly", "seconds", "cron" ] }, "timeAt": { "type": "string", "maxLength": 255 }, "timezone": { "type": "string", "maxLength": 255 }, "weekdays": { "type": "array", "maxItems": 7, "items": { "type": "number" } } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "virtualButton" ] }, "config": { "type": "object", "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "virtualButton" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "groupId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "payload": { "type": "string", "maxLength": 262144 }, "deviceId": { "oneOf": [ { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, { "type": "string", "enum": [ "" ] }, { "type": "null" } ] } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false } ] } }, "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "minLength": 1, "maxLength": 1024 }, "config": { "type": "object" }, "meta": { "type": "object" }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "additionalProperties": false, "required": [ "type" ] } }, "globals": { "type": "array", "maxItems": 100, "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" }, "json": { "type": "string", "minLength": 1, "maxLength": 32767 } }, "additionalProperties": false, "required": [ "key", "json" ] } }, "minimumAgentVersion": { "type": "string", "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$" }, "customNodeConfig": { "type": "object", "properties": { "outputCount": { "type": "number", "enum": [ 1, 2 ] }, "resultMode": { "type": "string", "enum": [ "optional", "required", "none" ] }, "resultDescription": { "type": "string", "maxLength": 32767 }, "fields": { "type": "array", "maxItems": 100, "items": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "checkbox" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 }, "defaultValue": { "type": "boolean" } }, "additionalProperties": false, "required": [ "type", "label" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "select" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 }, "defaultValue": { "type": "string", "minLength": 1, "maxLength": 1024 }, "options": { "type": "array", "minItems": 1, "maxItems": 100, "items": { "type": "object", "properties": { "label": { "type": "string", "maxLength": 1024 }, "value": { "type": "string", "minLength": 1, "maxLength": 1024 } }, "additionalProperties": false, "required": [ "value" ] } } }, "additionalProperties": false, "required": [ "type", "label", "defaultValue", "options" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "stringTemplate" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 }, "defaultValue": { "type": "string", "maxLength": 1024 }, "required": { "type": "boolean" }, "validRegExp": { "type": "string", "maxLength": 1024 } }, "additionalProperties": false, "required": [ "type", "label" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "numberTemplate" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 }, "defaultValue": { "type": "number" }, "required": { "type": "boolean" }, "validMin": { "type": "number" }, "validMax": { "type": "number" } }, "additionalProperties": false, "required": [ "type", "label" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "jsonTemplate" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 }, "defaultValue": { "type": "string", "maxLength": 32767 }, "required": { "type": "boolean" } }, "additionalProperties": false, "required": [ "type", "label" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "payloadPath" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 }, "required": { "type": "boolean" } }, "additionalProperties": false, "required": [ "type", "label" ] }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "section" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 1024 }, "id": { "type": "string", "minLength": 1, "maxLength": 1024 }, "description": { "type": "string", "maxLength": 32767 } }, "additionalProperties": false, "required": [ "type", "label" ] } ] } } }, "additionalProperties": false, "required": [ "outputCount", "resultMode", "fields" ] }, "stats": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" }, "byVersion": { "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" } } } } } } } } }, { "description": "Schema for a single Experience Workflow Version", "type": "object", "properties": { "id": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "flowVersionId": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "flowId": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "applicationId": { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, "creationDate": { "type": "string", "format": "date-time" }, "lastUpdated": { "type": "string", "format": "date-time" }, "name": { "type": "string", "minLength": 1, "maxLength": 255 }, "description": { "type": "string", "maxLength": 32767 }, "flowClass": { "type": "string", "enum": [ "experience" ] }, "versions": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 255 } }, "enabled": { "type": "boolean" }, "triggers": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "customNodeStart", "deviceCommand", "deviceIdConnect", "deviceTagConnect", "deviceIdDisconnect", "deviceTagDisconnect", "integration", "notebook", "onBoot", "onConnect", "onDisconnect", "udp", "webhook", "resourceJobIteration", "resourceJobIterationTimeout", "resourceJobComplete" ] }, "config": { "type": "object", "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "customNodeStart", "deviceCommand", "deviceIdsTagsConnect", "deviceIdsTagsDisconnect", "eeaInit", "flowError", "azureEventHub", "googlePubSub", "mqtt", "notebook", "onBoot", "onConnect", "onDisconnect", "particle", "sqs", "udp", "webhook", "resourceJobIteration", "resourceJobIterationTimeout", "resourceJobComplete" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "triggerId": { "type": "string", "maxLength": 48 }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "dataTable" ] }, "config": { "type": "object", "properties": { "bulkInsert": { "type": "boolean" }, "delete": { "type": "boolean" }, "insert": { "type": "boolean" }, "update": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "dataTable" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "deviceId", "deviceTag" ] }, "config": { "type": "object", "properties": { "attributeBlacklist": { "type": "array", "maxItems": 100, "items": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" } }, "attributeWhitelist": { "type": "array", "maxItems": 100, "items": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" } }, "maxAge": { "type": "number" }, "triggerOn": { "type": "string", "enum": [ "batch", "individual", "both" ] }, "batchBehavior": { "type": "string", "enum": [ "once", "each" ] } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "deviceIdsTags", "device", "deviceTag" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "timeUnit": { "type": "string", "maxLength": 48 }, "maxAgeToggle": { "type": "boolean" }, "allowedAttributeType": { "type": "string", "enum": [ "attributeWhitelist", "any", "attributeBlacklist" ] } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "deviceIdInactivity", "deviceTagInactivity" ] }, "config": { "type": "object", "properties": { "seconds": { "type": "number" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "deviceIdsTagsInactivity" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "direct" ] }, "config": { "type": "object", "properties": {}, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "direct" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "endpoint" ] }, "config": { "type": "object", "properties": { "experienceVersion": { "type": "string", "minLength": 1, "maxLength": 255 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "endpoint" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "event" ] }, "config": { "type": "object", "properties": { "subject": { "type": "string", "maxLength": 255 }, "new": { "type": "boolean" }, "acknowledged": { "type": "boolean" }, "resolved": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "event" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "fileTail" ] }, "config": { "type": "object", "properties": { "path": { "type": "string", "maxLength": 1024 }, "encoding": { "type": "string", "maxLength": 48 }, "byteLength": { "type": "string", "maxLength": 48 }, "delimiter": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "fileTail" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "fileWatch" ] }, "config": { "type": "object", "properties": { "path": { "type": "string", "maxLength": 1024 }, "fileAdded": { "type": "boolean" }, "fileChanged": { "type": "boolean" }, "fileRemoved": { "type": "boolean" }, "directoryAdded": { "type": "boolean" }, "directoryRemoved": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "fileWatch" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "flowError" ] }, "config": { "type": "object", "properties": { "scope": { "type": "string", "enum": [ "local", "global", "experience", "cloud" ] } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "flowError" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "mqttTopic" ] }, "config": { "type": "object", "properties": { "integrationId": { "type": "string", "enum": [ "losant", "local" ] } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "mqtt" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "triggerId": { "type": "string", "maxLength": 48 }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "opcua" ] }, "config": { "type": "object", "properties": { "uri": { "type": "string", "maxLength": 1024 }, "securityPolicy": { "type": "string", "maxLength": 255 }, "securityMode": { "type": "string", "maxLength": 255 }, "username": { "type": "string", "maxLength": 1024 }, "password": { "type": "string", "maxLength": 1024 }, "cert": { "type": "string", "maxLength": 32767 }, "privateKey": { "type": "string", "maxLength": 32767 }, "nameSpace": { "type": "string", "maxLength": 255 }, "identifier": { "type": "string", "maxLength": 255 }, "samplingInterval": { "type": "string", "maxLength": 255 }, "eventFilter": { "type": "array", "maxItems": 100, "items": { "type": "string", "maxLength": 255 } } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "opcua" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "redis" ] }, "config": { "type": "object", "properties": { "host": { "type": "string", "maxLength": 1024 }, "port": { "type": "string", "maxLength": 16 }, "password": { "type": "string", "maxLength": 1024 }, "topic": { "type": "string", "maxLength": 1024 }, "fileAdded": { "type": "boolean" }, "fileChanged": { "type": "boolean" }, "fileRemoved": { "type": "boolean" }, "directoryAdded": { "type": "boolean" }, "directoryRemoved": { "type": "boolean" } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "redisTrigger" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "request" ] }, "config": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "*", "delete", "get", "options", "patch", "post", "put" ] }, "route": { "type": "string", "maxLength": 1024 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "request" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "triggerId": { "type": "string", "maxLength": 48 }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "serial" ] }, "config": { "type": "object", "properties": { "path": { "type": "string", "maxLength": 1024 }, "baudRate": { "type": "number" }, "dataBits": { "type": "number" }, "stopBits": { "type": "number" }, "parity": { "type": "string", "maxLength": 8 }, "rtscts": { "type": "boolean" }, "encoding": { "type": "string", "maxLength": 48 }, "writeOnOpen": { "type": "string", "maxLength": 1024 }, "writeOnOpenEncoding": { "type": "string", "maxLength": 48 }, "byteLength": { "type": "string", "maxLength": 48 }, "delimiter": { "type": "string", "maxLength": 48 }, "delimiterEncoding": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "serial" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "parseBy": { "type": "string", "enum": [ "byteLength", "delimiter" ] } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "snmpTrap" ] }, "config": { "type": "object", "properties": { "udpPort": { "type": "string", "maxLength": 5 }, "snmpTrapConfig": { "type": "object", "properties": { "community": { "type": "string", "maxLength": 1024 }, "user": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 1024 }, "securityLevel": { "type": "string", "enum": [ "none", "auth", "authAndEncrypt" ] }, "authMethod": { "type": "string", "enum": [ "sha", "md5" ] }, "authKey": { "type": "string", "maxLength": 1024 }, "encryptionMethod": { "type": "string", "enum": [ "aes", "des" ] }, "encryptionKey": { "type": "string", "maxLength": 1024 } }, "required": [ "name", "securityLevel" ], "additionalProperties": false } }, "additionalProperties": false } }, "required": [ "udpPort", "snmpTrapConfig" ], "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "snmpTrap" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "timer" ] }, "config": { "type": "object", "properties": { "seconds": { "type": "number" }, "cron": { "type": "string", "maxLength": 255 }, "tz": { "type": "string", "maxLength": 255 } }, "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "timer" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "timerTypeSelect": { "type": "string", "enum": [ "cronWeekly", "seconds", "cron" ] }, "timeAt": { "type": "string", "maxLength": 255 }, "timezone": { "type": "string", "maxLength": 255 }, "weekdays": { "type": "array", "maxItems": 7, "items": { "type": "number" } } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "key": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "enum": [ "virtualButton" ] }, "config": { "type": "object", "additionalProperties": false }, "meta": { "type": "object", "properties": { "category": { "type": "string", "enum": [ "trigger" ] }, "name": { "type": "string", "enum": [ "virtualButton" ] }, "label": { "type": "string", "minLength": 1, "maxLength": 255 }, "x": { "type": "number" }, "y": { "type": "number" }, "uiId": { "type": "string", "maxLength": 48 }, "groupId": { "type": "string", "maxLength": 48 }, "description": { "type": "string", "maxLength": 32767 }, "icon": { "type": "string", "maxLength": 1024 }, "color": { "type": "string", "maxLength": 1024 }, "inputCount": { "type": "number" }, "outputCount": { "type": "number" }, "id": { "type": "string", "maxLength": 48 }, "payload": { "type": "string", "maxLength": 262144 }, "deviceId": { "oneOf": [ { "type": "string", "pattern": "^[A-Fa-f\\d]{24}$" }, { "type": "string", "enum": [ "" ] }, { "type": "null" } ] } }, "additionalProperties": false }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "required": [ "type" ], "additionalProperties": false } ] } }, "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 1024 }, "type": { "type": "string", "minLength": 1, "maxLength": 1024 }, "config": { "type": "object" }, "meta": { "type": "object" }, "outputIds": { "type": "array", "items": { "type": "array", "items": { "type": "string", "maxLength": 48, "minLength": 1 }, "maxItems": 100 }, "maxItems": 100 } }, "additionalProperties": false, "required": [ "type" ] } }, "globals": { "type": "array", "maxItems": 100, "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[0-9a-zA-Z_-]{1,255}$" }, "json": { "type": "string", "minLength": 1, "maxLength": 32767 } }, "additionalProperties": false, "required": [ "key", "json" ] } }, "stats": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" }, "byVersion": { "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" } } } } } } } } } ] }