{ "type" : "object", "required" : true, "properties" : { "logger" : { "type" : "object", "required" : true, "properties" : { "level" : { "type" : "string", "required" : true } }, "additionalProperties" : false }, "device" : { "type" : "object", "required" : true, "properties" : { "name" : { "type" : "string", "required" : true }, "type" : { "type" : "string", "required" : true }, "output" : { "type" : "string", "required" : true }, "rate" : { "type" : "integer", "required" : false, "minimum" : 0 }, "colorOrder" : { "type" : "string", "required" : false } }, "additionalProperties" : false }, "color" : { "type":"object", "required" : true, "properties": { "channelAdjustment" : { "type" : "array", "required" : true, "items" : { "type" : "object", "required" : true, "properties" : { "id" : { "type" : "string", "required" : true }, "leds" : { "type" : "string", "required" : true }, "pureRed" : { "type":"object", "required" : true, "properties": { "redChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "greenChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "blueChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 } }, "additionalProperties" : false }, "pureGreen" : { "type":"object", "required" : true, "properties": { "redChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "greenChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "blueChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 } }, "additionalProperties" : false }, "pureBlue" : { "type":"object", "required" : true, "properties": { "redChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "greenChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "blueChannel" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 } }, "additionalProperties" : false } }, "additionalProperties" : false } }, "temperature" : { "type" : "array", "required" : true, "items" : { "type" : "object", "required" : true, "properties" : { "id" : { "type" : "string", "required" : true }, "leds" : { "type" : "string", "required" : true }, "correctionValues" : { "type":"object", "required" : true, "properties": { "red" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "green" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 }, "blue" : { "type": "integer", "required" : true, "minimum": 0, "maximum": 255 } }, "additionalProperties" : false } }, "additionalProperties" : false } }, "transform" : { "type" : "array", "required" : true, "items" : { "type" : "object", "required" : true, "properties" : { "id" : { "type" : "string", "required" : true }, "leds" : { "type" : "string", "required" : true }, "hsl" : { "type":"object", "required" : true, "properties": { "saturationGain" : { "type" : "number", "required" : true, "minimum" : 0.0 }, "luminanceGain" : { "type" : "number", "required" : true, "minimum" : 0.0 }, "luminanceMinimum" : { "type" : "number", "required" : true, "minimum" : 0.0 } }, "additionalProperties" : false }, "red" : { "type":"object", "required" : true, "properties": { "threshold" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum": 1.0 }, "gamma" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum": 100.0 } }, "additionalProperties" : false }, "green" : { "type":"object", "required" : true, "properties": { "threshold" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum": 1.0 }, "gamma" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum": 100.0 } }, "additionalProperties" : false }, "blue" : { "type":"object", "required" : true, "properties": { "threshold" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum": 1.0 }, "gamma" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum": 100.0 } }, "additionalProperties" : false } }, "additionalProperties" : false } }, "smoothing": { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "type" : { "enum" : ["none", "linear"], "required" : true }, "time_ms" : { "type" : "integer", "required" : false, "minimum" : 25, "maximum": 600 }, "updateFrequency" : { "type" : "number", "required" : false, "minimum" : 1.000, "maximum": 100.000 }, "updateDelay" : { "type" : "integer", "required" : false, "minimum" : 0, "maximum": 2048 }, "continuousOutput" : { "type" : "boolean", "required" : false } }, "additionalProperties" : false } }, "additionalProperties" : false }, "grabber-v4l2" : { "type" : "object", "required" : false, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "device" : { "type" : "string", "required" : true }, "input" : { "type" : "integer", "required" : true }, "standard" : { "type" : "string", "required" : true }, "width" : { "type" : "integer", "required" : true }, "height" : { "type" : "integer", "required" : true }, "frameDecimation" : { "type" : "integer", "required" : true }, "sizeDecimation" : { "type" : "integer", "required" : true }, "priority" : { "type" : "integer", "required" : true }, "mode" : { "type" : "string", "required" : true }, "cropLeft" : { "type" : "integer", "required" : true }, "cropRight" : { "type" : "integer", "required" : true }, "cropTop" : { "type" : "integer", "required" : true }, "cropBottom" : { "type" : "integer", "required" : true }, "redSignalThreshold" : { "type" : "number", "required" : true }, "greenSignalThreshold" : { "type" : "number", "required" : true }, "blueSignalThreshold" : { "type" : "number", "required" : true } }, "additionalProperties" : false }, "framegrabber" : { "type" : "object", "required" : false, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "type" : { "type" : "string", "required" : true }, "width" : { "type" : "integer", "required" : false }, "height" : { "type" : "integer", "required" : false }, "frequency_Hz" : { "type" : "integer", "required" : true }, "priority" : { "type" : "integer", "required" : true } }, "additionalProperties" : true }, "blackborderdetector" : { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "threshold" : { "type" : "number", "required" : true, "minimum" : 0.0, "maximum" : 1.0 }, "unknownFrameCnt" : { "type" : "number", "required" : false, "minimum" : 0 }, "borderFrameCnt" : { "type" : "number", "required" : false, "minimum" : 0 }, "maxInconsistentCnt" : { "type" : "number", "required" : false, "minimum" : 0 }, "blurRemoveCnt" : { "type" : "number", "required" : false, "minimum" : 0 }, "mode" : { "type" : "string", "required" : true } }, "additionalProperties" : false }, "kodiVideoChecker" : { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "kodiAddress" : { "type" : "string", "required" : true }, "kodiTcpPort" : { "type" : "integer", "required" : true }, "grabVideo" : { "type" : "boolean", "required" : true }, "grabPictures" : { "type" : "boolean", "required" : true }, "grabAudio" : { "type" : "boolean", "required" : true }, "grabMenu" : { "type" : "boolean", "required" : true }, "grabPause" : { "type" : "boolean", "required" : true }, "grabScreensaver" : { "type" : "boolean", "required" : true }, "enable3DDetection" : { "type" : "boolean", "required" : true } }, "additionalProperties" : false }, "initialEffect" : { "type" : "object", "required" : false, "properties" : { "background-effect" : { "type" : "string", "required" : false }, "background-effect-args" : { "type" : "object", "required" : false }, "foreground-effect" : { "type" : "string", "required" : false }, "foreground-effect-args" : { "type" : "object", "required" : false }, "foreground-duration_ms" : { "type" : "integer", "required" : false } }, "additionalProperties" : false }, "forwarder" : { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "json" : { "type" : "array", "required" : true }, "proto" : { "type" : "array", "required" : true } }, "additionalProperties" : false }, "jsonServer" : { "type" : "object", "required" : true, "properties" : { "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 } }, "additionalProperties" : false }, "protoServer" : { "type" : "object", "required" : true, "properties" : { "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 } }, "additionalProperties" : false }, "boblightServer" : { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 }, "priority" : { "type" : "integer", "required" : true } }, "additionalProperties" : false }, "udpListener" : { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "address" : { "type" : "string", "required" : true }, "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 }, "priority" : { "type" : "integer", "required" : true }, "timeout" : { "type" : "integer", "required" : true }, "shared" : { "type" : "boolean", "required" : true } }, "additionalProperties" : false }, "webConfig" : { "type" : "object", "required" : true, "properties" : { "enable" : { "type" : "boolean", "required" : true }, "document_root" : { "type" : "string", "required" : true }, "port" : { "type" : "integer", "required" : true } }, "additionalProperties" : false }, "effects" : { "type" : "object", "required" : false, "properties" : { "paths" : { "type" : "array", "required" : false } }, "additionalProperties" : false }, "leds": { "type":"array", "required":true, "items": { "type":"object", "properties": { "index": { "type":"integer", "required":true }, "hscan": { "type":"object", "required":true, "properties": { "minimum": { "type":"number", "required":true }, "maximum": { "type":"number", "required":true } }, "additionalProperties" : false }, "vscan": { "type":"object", "required":true, "properties": { "minimum": { "type":"number", "required":true }, "maximum": { "type":"number", "required":true } }, "additionalProperties" : false }, "colorOrder": { "type":"string", "required":false } }, "additionalProperties" : false } }, "endOfJson" : { "type" : "string", "required" : false } }, "additionalProperties" : false }