@directctrl/fixturelibrary
Version:
Utility library making it easy to work with the open-fixture-library.
1 lines • 77.1 kB
JSON
{ "$schema": "http://json-schema.org/draft-07/schema#", "version": "12.3.0", "type": "object", "properties": { "$schema": { "const": "https://raw.githubusercontent.com/tteltrab/open-fixture-library/master/schemas/fixture.json" }, "name": { "description": "unique in manufacturer", "$ref": "#/properties/helpWanted" }, "shortName": { "description": "unique globally; if not set: use name", "$ref": "#/properties/helpWanted" }, "categories": { "type": "array", "description": "most important category first", "minItems": 1, "uniqueItems": true, "items": { "enum": ["Barrel Scanner", "Blinder", "Color Changer", "Dimmer", "Effect", "Fan", "Flower", "Hazer", "Laser", "Matrix", "Moving Head", "Pixel Bar", "Scanner", "Smoke", "Stand", "Strobe", "Other"] } }, "meta": { "type": "object", "properties": { "authors": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/properties/helpWanted" } }, "createDate": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$", "format": "date" }, "lastModifyDate": { "$ref": "#/properties/meta/properties/createDate" }, "importPlugin": { "type": "object", "properties": { "plugin": { "$ref": "#/properties/helpWanted" }, "date": { "$ref": "#/properties/meta/properties/createDate" }, "comment": { "$ref": "#/properties/comment" } }, "required": ["plugin", "date"], "additionalProperties": false } }, "required": ["authors", "createDate", "lastModifyDate"], "additionalProperties": false }, "comment": { "type": "string", "minLength": 1 }, "links": { "type": "object", "properties": { "manual": { "$ref": "#/properties/links/properties/video" }, "productPage": { "$ref": "#/properties/links/properties/video" }, "video": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "pattern": "^(ftp|http|https)://[^ \"]+$", "format": "uri" } }, "other": { "$ref": "#/properties/links/properties/video" } }, "anyOf": [{ "required": ["manual"] }, { "required": ["productPage"] }, { "required": ["video"] }, { "required": ["other"] }], "additionalProperties": false }, "helpWanted": { "type": "string", "pattern": "^[^\n]+$" }, "rdm": { "type": "object", "properties": { "modelId": { "type": "integer", "minimum": 0, "maximum": 65535 }, "softwareVersion": { "$ref": "#/properties/helpWanted" } }, "required": ["modelId"], "additionalProperties": false }, "physical": { "type": "object", "minProperties": 1, "properties": { "dimensions": { "description": "width, height, depth (in mm)", "type": "array", "minItems": 3, "maxItems": 3, "items": { "type": "number", "minimum": 0 } }, "weight": { "description": "in kg", "type": "number", "exclusiveMinimum": 0 }, "power": { "description": "in W", "type": "number", "exclusiveMinimum": 0 }, "DMXconnector": { "$comment": "additions are welcome", "enum": ["3-pin", "3-pin (swapped +/-)", "3-pin XLR IP65", "5-pin", "5-pin XLR IP65", "3-pin and 5-pin", "3.5mm stereo jack"] }, "bulb": { "type": "object", "minProperties": 1, "properties": { "type": { "description": "e.g. 'LED'", "$ref": "#/properties/helpWanted" }, "colorTemperature": { "description": "in K", "type": "number", "exclusiveMinimum": 0 }, "lumens": { "type": "number", "exclusiveMinimum": 0 } }, "additionalProperties": false }, "lens": { "type": "object", "minProperties": 1, "properties": { "name": { "description": "e.g. 'PC', 'Fresnel'", "$ref": "#/properties/helpWanted" }, "degreesMinMax": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "type": "number", "minimum": 0, "maximum": 360 } } }, "additionalProperties": false }, "matrixPixels": { "type": "object", "minProperties": 1, "properties": { "dimensions": { "$ref": "#/properties/physical/properties/dimensions" }, "spacing": { "$ref": "#/properties/physical/properties/dimensions" } }, "additionalProperties": false } }, "additionalProperties": false }, "matrix": { "$schema": "http://json-schema.org/draft-07/schema#", "$comment": "This file is used by another schema file and should not be used directly as a JSON schema.", "definitions": { "pixelNumberConstraintArray": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/properties/matrix/definitions/pixelNumberConstraint" } }, "pixelNumberConstraint": { "oneOf": [{ "$comment": "exact position", "type": "string", "pattern": "^=[1-9][0-9]*$" }, { "$comment": "minimum position", "type": "string", "pattern": "^>=[1-9][0-9]*$" }, { "$comment": "maximum position", "type": "string", "pattern": "^<=[1-9][0-9]*$" }, { "$comment": "position divisible by number", "type": "string", "pattern": "^[1-9][0-9]*n$" }, { "$comment": "position divisible by number with remainder", "type": "string", "pattern": "^[1-9][0-9]*n\\+[1-9][0-9]*$" }, { "const": "even" }, { "const": "odd" }] } }, "type": "object", "properties": { "pixelCount": { "description": "amount of pixels in X, Y and Z directions", "type": "array", "minItems": 3, "maxItems": 3, "items": { "type": "integer", "minimum": 1 } }, "pixelKeys": { "description": "pixelKeys in a structure of arrays for the Z, Y and X directions", "type": "array", "minItems": 1, "items": { "type": "array", "minItems": 1, "items": { "type": "array", "minItems": 1, "items": { "oneOf": [{ "$ref": "#/properties/matrix/properties/pixelGroups/additionalProperties/oneOf/0/items" }, { "type": "null" }] } } } }, "pixelGroups": { "type": "object", "minProperties": 1, "propertyNames": { "$comment": "pixel group keys", "$ref": "#/properties/matrix/properties/pixelGroups/additionalProperties/oneOf/0/items" }, "additionalProperties": { "oneOf": [{ "$comment": "specify pixel keys directly", "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "pattern": "^[^$\n]+$" } }, { "const": "all" }, { "$comment": "pixel key constraints", "type": "object", "minProperties": 1, "properties": { "x": { "$ref": "#/properties/matrix/definitions/pixelNumberConstraintArray" }, "y": { "$ref": "#/properties/matrix/definitions/pixelNumberConstraintArray" }, "z": { "$ref": "#/properties/matrix/definitions/pixelNumberConstraintArray" }, "name": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$comment": "pattern that pixel keys should match", "type": "string", "minLength": 1, "format": "regex" } } }, "additionalProperties": false }] } } }, "oneOf": [{ "required": ["pixelCount"] }, { "required": ["pixelKeys"] }], "additionalProperties": false }, "wheels": { "type": "object", "minProperties": 1, "propertyNames": { "$comment": "wheel names", "$ref": "#/properties/helpWanted" }, "additionalProperties": { "type": "object", "properties": { "direction": { "enum": ["CW", "CCW"] }, "slots": { "type": "array", "minItems": 2, "items": { "$schema": "http://json-schema.org/draft-07/schema#", "$comment": "This file is used by another schema file and should not be used directly as a JSON schema.", "type": "object", "discriminator": { "propertyName": "type" }, "oneOf": [{ "properties": { "type": { "const": "Open" } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "Closed" } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "Color" }, "name": { "$ref": "#/properties/helpWanted" }, "colors": { "type": "array", "minItems": 1, "items": { "type": "string", "pattern": "^#[0-9a-f]{6}$", "format": "color-hex" } }, "colorTemperature": { "oneOf": [{ "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?K$" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["warm", "CTO", "default", "cold", "CTB"] }] } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "Gobo" }, "resource": { "type": "string", "pattern": "^gobos/[a-z0-9-]+$|^gobos/aliases/[a-z0-9_.-]+/" }, "name": { "$ref": "#/properties/helpWanted" } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "Prism" }, "name": { "$ref": "#/properties/helpWanted" }, "facets": { "type": "integer", "minimum": 2 } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "Iris" }, "openPercent": { "oneOf": [{ "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?%$" }, { "enum": ["closed", "open"] }] } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "Frost" }, "frostIntensity": { "oneOf": [{ "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["off", "low", "high"] }] } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "AnimationGoboStart" }, "name": { "$ref": "#/properties/helpWanted" } }, "required": ["type"], "additionalProperties": false }, { "properties": { "type": { "const": "AnimationGoboEnd" } }, "required": ["type"], "additionalProperties": false }] } } }, "required": ["slots"], "additionalProperties": false } }, "availableChannels": { "type": "object", "minProperties": 1, "propertyNames": { "$comment": "channel keys", "$ref": "#/properties/matrix/properties/pixelGroups/additionalProperties/oneOf/0/items" }, "additionalProperties": { "$ref": "#/properties/templateChannels/additionalProperties" } }, "templateChannels": { "type": "object", "minProperties": 1, "propertyNames": { "$comment": "template channel keys", "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels/propertyNames/oneOf/1" }, "additionalProperties": { "$schema": "http://json-schema.org/draft-07/schema#", "$comment": "This file is used by another schema file and should not be used directly as a JSON schema.", "type": "object", "properties": { "name": { "description": "if not set: use channel key", "$ref": "#/properties/helpWanted" }, "fineChannelAliases": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "oneOf": [{ "$ref": "#/properties/matrix/properties/pixelGroups/additionalProperties/oneOf/0/items" }, { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels/propertyNames/oneOf/1", "$comment": "only in template channels" }] } }, "dmxValueResolution": { "enum": ["8bit", "16bit", "24bit"] }, "defaultValue": { "oneOf": [{ "type": "integer", "minimum": 0, "$comment": "maximum depends on how many fine channels there are (255 if none, 65535 if one, etc.)" }, { "type": "string", "pattern": "^(([1-9][0-9]?|0)(\\.[0-9]+)?|100)%$" }] }, "highlightValue": { "oneOf": [{ "$ref": "#/properties/templateChannels/additionalProperties/properties/defaultValue/oneOf/0" }, { "$ref": "#/properties/templateChannels/additionalProperties/properties/defaultValue/oneOf/1" }] }, "constant": { "type": "boolean" }, "precedence": { "enum": ["LTP", "HTP"] }, "capability": { "allOf": [{ "$schema": "http://json-schema.org/draft-07/schema#", "$comment": "This file is used by another schema file and should not be used directly as a JSON schema.", "definitions": { "dmxRange": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "$ref": "#/properties/templateChannels/additionalProperties/properties/defaultValue/oneOf/0" } }, "menuClick": { "enum": ["start", "center", "end", "hidden"] }, "switchChannels": { "type": "object", "minProperties": 1, "propertyNames": { "$comment": "switching channel alias keys", "oneOf": [{ "$ref": "#/properties/matrix/properties/pixelGroups/additionalProperties/oneOf/0/items" }, { "type": "string", "pattern": "\\$pixelKey" }] }, "additionalProperties": { "oneOf": [{ "$comment": "channel key or channel alias key", "$ref": "#/properties/matrix/properties/pixelGroups/additionalProperties/oneOf/0/items" }, { "$comment": "template channel key or template channel alias key", "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels/propertyNames/oneOf/1" }] } } }, "type": "object", "discriminator": { "propertyName": "type" }, "oneOf": [{ "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "NoFunction" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "ShutterStrobe" }, "shutterEffect": { "enum": ["Open", "Closed", "Strobe", "Pulse", "RampUp", "RampDown", "RampUpDown", "Lightning", "Spikes", "Burst"] }, "soundControlled": { "type": "boolean" }, "speed": { "oneOf": [{ "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?Hz$" }, { "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?bpm$" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["fast", "slow", "stop", "slow reverse", "fast reverse"] }] }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "duration": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "randomTiming": { "type": "boolean" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type", "shutterEffect"], "not": { "anyOf": [{ "required": ["speed", "speedStart"] }, { "required": ["duration", "durationStart"] }] }, "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"], "durationStart": ["durationEnd"], "durationEnd": ["durationStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "StrobeSpeed" }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }], "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "StrobeDuration" }, "duration": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["duration"] }, { "required": ["durationStart"] }], "dependencies": { "durationStart": ["durationEnd"], "durationEnd": ["durationStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "Intensity" }, "brightness": { "oneOf": [{ "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?lm$" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["off", "dark", "bright"] }] }, "brightnessStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/4/properties/brightness" }, "brightnessEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/4/properties/brightness" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "not": { "required": ["brightness", "brightnessStart"] }, "dependencies": { "brightnessStart": ["brightnessEnd"], "brightnessEnd": ["brightnessStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "ColorIntensity" }, "color": { "enum": ["Red", "Green", "Blue", "Cyan", "Magenta", "Yellow", "Amber", "White", "Warm White", "Cold White", "UV", "Lime", "Indigo"] }, "brightness": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/4/properties/brightness" }, "brightnessStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/4/properties/brightness" }, "brightnessEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/4/properties/brightness" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type", "color"], "not": { "required": ["brightness", "brightnessStart"] }, "dependencies": { "brightnessStart": ["brightnessEnd"], "brightnessEnd": ["brightnessStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "ColorPreset" }, "comment": { "$ref": "#/properties/helpWanted" }, "colors": { "type": "array", "minItems": 1, "items": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colors/items" } }, "colorsStart": { "type": "array", "minItems": 1, "items": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colors/items" } }, "colorsEnd": { "type": "array", "minItems": 1, "items": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colors/items" } }, "colorTemperature": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colorTemperature" }, "colorTemperatureStart": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colorTemperature" }, "colorTemperatureEnd": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colorTemperature" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "not": { "anyOf": [{ "required": ["colors", "colorsStart"] }, { "required": ["colorTemperature", "colorTemperatureStart"] }] }, "dependencies": { "colorsStart": ["colorsEnd"], "colorsEnd": ["colorsStart"], "colorTemperatureStart": ["colorTemperatureEnd"], "colorTemperatureEnd": ["colorTemperatureStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "ColorTemperature" }, "colorTemperature": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colorTemperature" }, "colorTemperatureStart": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colorTemperature" }, "colorTemperatureEnd": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/2/properties/colorTemperature" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["colorTemperature"] }, { "required": ["colorTemperatureStart"] }], "dependencies": { "colorTemperatureStart": ["colorTemperatureEnd"], "colorTemperatureEnd": ["colorTemperatureStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "Pan" }, "angle": { "oneOf": [{ "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?deg$" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }] }, "angleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["angle"] }, { "required": ["angleStart"] }], "dependencies": { "angleStart": ["angleEnd"], "angleEnd": ["angleStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "PanContinuous" }, "speed": { "oneOf": [{ "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed/oneOf/0" }, { "type": "string", "pattern": "^-?[0-9]+(\\.[0-9]+)?rpm$" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["fast CW", "slow CW", "stop", "slow CCW", "fast CCW"] }] }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }], "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "Tilt" }, "angle": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["angle"] }, { "required": ["angleStart"] }], "dependencies": { "angleStart": ["angleEnd"], "angleEnd": ["angleStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "TiltContinuous" }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }], "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "PanTiltSpeed" }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "duration": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }, { "required": ["duration"] }, { "required": ["durationStart"] }], "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"], "durationStart": ["durationEnd"], "durationEnd": ["durationStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "WheelSlot" }, "wheel": { "$ref": "#/properties/helpWanted" }, "slotNumber": { "type": "number", "minimum": 0 }, "slotNumberStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "slotNumberEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["slotNumber"] }, { "required": ["slotNumberStart"] }], "dependencies": { "slotNumberStart": ["slotNumberEnd"], "slotNumberEnd": ["slotNumberStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "WheelShake" }, "wheel": {}, "isShaking": { "enum": ["wheel", "slot"] }, "slotNumber": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "slotNumberStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "slotNumberEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "shakeSpeed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "shakeSpeedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "shakeSpeedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "shakeAngle": { "oneOf": [{ "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle/oneOf/0" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["closed", "narrow", "wide"] }] }, "shakeAngleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/14/properties/shakeAngle" }, "shakeAngleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/14/properties/shakeAngle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "not": { "anyOf": [{ "required": ["slotNumber", "slotNumberStart"] }, { "required": ["shakeSpeed", "shakeSpeedStart"] }, { "required": ["shakeAngle", "shakeAngleStart"] }] }, "dependencies": { "shakeSpeedStart": ["shakeSpeedEnd"], "shakeSpeedEnd": ["shakeSpeedStart"], "shakeAngleStart": ["shakeAngleEnd"], "shakeAngleEnd": ["shakeAngleStart"], "slotNumberStart": ["slotNumberEnd"], "slotNumberEnd": ["slotNumberStart"] }, "if": { "$comment": "slotNumber is set", "anyOf": [{ "required": ["slotNumber"] }, { "required": ["slotNumberStart"] }] }, "then": { "$comment": "wheel must be a single wheel", "properties": { "wheel": { "$ref": "#/properties/helpWanted" } } }, "else": { "$comment": "wheel can be a single wheel or multiple wheels", "properties": { "wheel": { "oneOf": [{ "$ref": "#/properties/helpWanted" }, { "type": "array", "uniqueItems": true, "minItems": 2, "items": { "$ref": "#/properties/helpWanted" } }] } } }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "WheelSlotRotation" }, "wheel": {}, "slotNumber": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "slotNumberStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "slotNumberEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/13/properties/slotNumber" }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "angle": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }, { "required": ["angle"] }, { "required": ["angleStart"] }], "not": { "required": ["slotNumber", "slotNumberStart"] }, "dependencies": { "slotNumberStart": ["slotNumberEnd"], "slotNumberEnd": ["slotNumberStart"], "speedStart": ["speedEnd"], "speedEnd": ["speedStart"], "angleStart": ["angleEnd"], "angleEnd": ["angleStart"] }, "if": { "$comment": "slotNumber is set", "anyOf": [{ "required": ["slotNumber"] }, { "required": ["slotNumberStart"] }] }, "then": { "$comment": "wheel must be a single wheel", "properties": { "wheel": { "$ref": "#/properties/helpWanted" } } }, "else": { "$comment": "wheel can be a single wheel or multiple wheels", "properties": { "wheel": { "oneOf": [{ "$ref": "#/properties/helpWanted" }, { "type": "array", "uniqueItems": true, "minItems": 2, "items": { "$ref": "#/properties/helpWanted" } }] } } }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "WheelRotation" }, "wheel": { "oneOf": [{ "$ref": "#/properties/helpWanted" }, { "type": "array", "uniqueItems": true, "minItems": 2, "items": { "$ref": "#/properties/helpWanted" } }] }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/9/properties/speed" }, "angle": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "angleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }, { "required": ["angle"] }, { "required": ["angleStart"] }], "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"], "angleStart": ["angleEnd"], "angleEnd": ["angleStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "Effect" }, "effectName": { "$ref": "#/properties/helpWanted" }, "effectPreset": { "enum": ["ColorJump", "ColorFade"] }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "duration": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "parameter": { "oneOf": [{ "type": "number" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["off", "low", "high", "slow", "fast", "small", "big", "instant", "short", "long"] }] }, "parameterStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/17/properties/parameter" }, "parameterEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/17/properties/parameter" }, "soundControlled": { "type": "boolean" }, "soundSensitivity": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/6/properties/frostIntensity" }, "soundSensitivityStart": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/6/properties/frostIntensity" }, "soundSensitivityEnd": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/6/properties/frostIntensity" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["effectName"] }, { "required": ["effectPreset"] }], "not": { "anyOf": [{ "required": ["speed", "speedStart"] }, { "required": ["duration", "durationStart"] }, { "required": ["parameter", "parameterStart"] }, { "required": ["soundSensitivity", "soundSensitivityStart"] }] }, "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"], "durationStart": ["durationEnd"], "durationEnd": ["durationStart"], "parameterStart": ["parameterEnd"], "parameterEnd": ["parameterStart"], "soundSensitivityStart": ["soundSensitivityEnd"], "soundSensitivityEnd": ["soundSensitivityStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "EffectSpeed" }, "speed": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "speedEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/1/properties/speed" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["speed"] }, { "required": ["speedStart"] }], "dependencies": { "speedStart": ["speedEnd"], "speedEnd": ["speedStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "EffectDuration" }, "duration": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "durationEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/40/properties/time" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["duration"] }, { "required": ["durationStart"] }], "dependencies": { "durationStart": ["durationEnd"], "durationEnd": ["durationStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "EffectParameter" }, "parameter": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/17/properties/parameter" }, "parameterStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/17/properties/parameter" }, "parameterEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/17/properties/parameter" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["parameter"] }, { "required": ["parameterStart"] }], "dependencies": { "parameterStart": ["parameterEnd"], "parameterEnd": ["parameterStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "SoundSensitivity" }, "soundSensitivity": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/6/properties/frostIntensity" }, "soundSensitivityStart": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/6/properties/frostIntensity" }, "soundSensitivityEnd": { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/6/properties/frostIntensity" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["soundSensitivity"] }, { "required": ["soundSensitivityStart"] }], "dependencies": { "soundSensitivityStart": ["soundSensitivityEnd"], "soundSensitivityEnd": ["soundSensitivityStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "BeamAngle" }, "angle": { "oneOf": [{ "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle/oneOf/0" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["closed", "narrow", "wide"] }] }, "angleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/22/properties/angle" }, "angleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/22/properties/angle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "oneOf": [{ "required": ["angle"] }, { "required": ["angleStart"] }], "dependencies": { "angleStart": ["angleEnd"], "angleEnd": ["angleStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRange" }, "type": { "const": "BeamPosition" }, "horizontalAngle": { "oneOf": [{ "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle/oneOf/0" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["left", "center", "right"] }] }, "horizontalAngleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/23/properties/horizontalAngle" }, "horizontalAngleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/23/properties/horizontalAngle" }, "verticalAngle": { "oneOf": [{ "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/8/properties/angle/oneOf/0" }, { "$ref": "#/properties/wheels/additionalProperties/properties/slots/items/oneOf/5/properties/openPercent/oneOf/0" }, { "enum": ["top", "center", "bottom"] }] }, "verticalAngleStart": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/23/properties/verticalAngle" }, "verticalAngleEnd": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/oneOf/23/properties/verticalAngle" }, "comment": { "$ref": "#/properties/helpWanted" }, "helpWanted": { "$ref": "#/properties/helpWanted" }, "menuClick": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/menuClick" }, "switchChannels": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/switchChannels" } }, "required": ["type"], "anyOf": [{ "oneOf": [{ "required": ["horizontalAngle"] }, { "required": ["horizontalAngleStart"] }] }, { "oneOf": [{ "required": ["verticalAngle"] }, { "required": ["verticalAngleStart"] }] }], "dependencies": { "horizontalAngleStart": ["horizontalAngleEnd"], "horizontalAngleEnd": ["horizontalAngleStart"], "verticalAngleStart": ["verticalAngleEnd"], "verticalAngleEnd": ["verticalAngleStart"] }, "additionalProperties": false }, { "properties": { "dmxRange": { "$ref": "#/properties/templateChannels/additionalProperties/properties/capability/allOf/0/definitions/dmxRang