{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://example.com/product.schema.json",
    "title": "Lawo Options",
    "type": "object",
    "properties": {
        "host": {
            "type": "string",
            "ui:title": "Host",
            "default": ""
        },
        "port": {
            "type": "integer",
            "ui:title": "Port",
            "default": 0
        },
        "deviceMode": {
            "type": "integer",
            "ui:title": "Device Mode",
            "title": "LawoDeviceMode",
            "default": 0,
            "enum": [
                0,
                1,
                2,
                3,
                4
            ],
            "tsEnumNames": [
                "R3lay",
                "Ruby",
                "RubyManualRamp",
                "MC2",
                "Manual"
            ]
        },
        "faderInterval": {
            "type": "integer",
            "ui:title": "Fader setValue Interval"
        },
        "sourcesPath": {
            "type": "string",
            "description": "Manual mode only",
            "ui:title": "Sources Path"
        },
        "dbPropertyName": {
            "type": "string",
            "description": "Manual mode only",
            "ui:title": "dB Property Path"
        },
        "rampMotorFunctionPath": {
            "type": "string",
            "description": "Manual mode only",
            "ui:title": "Ramp Motor Function Path"
        },
        "faderThreshold": {
            "type": "integer",
            "description": "Manual mode only",
            "ui:title": "Fader cutoff value",
            "default": -60
        }
    },
    "required": [
        "host",
        "deviceMode"
    ],
    "additionalProperties": false
}
