{ "type" : "object", "required" : true, "properties" : { "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" : true, "minimum" : 0 }, "colorOrder" : { "type" : "string", "required" : false }, "bgr-output" : { // deprecated "type" : "boolean", "required" : false } }, "additionalProperties" : false }, "color": { "type":"object", "required":false, "properties": { "hsv" : { "type" : "object", "required" : false, "properties" : { "saturationGain" : { "type" : "number", "required" : false, "minimum" : 0.0 }, "valueGain" : { "type" : "number", "required" : false, "minimum" : 0.0 } }, "additionalProperties" : false }, "red": { "type":"object", "required":false, "properties":{ "gamma": { "type":"number", "required":false }, "blacklevel": { "type":"number", "required":false }, "whitelevel": { "type":"number", "required":false }, "threshold": { "type":"number", "required":false, "minimum" : 0.0, "maximum" : 1.0 } }, "additionalProperties" : false }, "green": { "type":"object", "required":false, "properties":{ "gamma": { "type":"number", "required":false }, "blacklevel": { "type":"number", "required":false }, "whitelevel": { "type":"number", "required":false }, "threshold": { "type":"number", "required":false, "minimum" : 0.0, "maximum" : 1.0 } }, "additionalProperties" : false }, "blue": { "type":"object", "required":false, "properties":{ "gamma": { "type":"number", "required":false }, "whitelevel": { "type":"number", "required":false }, "blacklevel": { "type":"number", "required":false }, "threshold": { "type":"number", "required":false, "minimum" : 0.0, "maximum" : 1.0 } }, "additionalProperties" : false }, "smoothing" : { "type" : "object", "required" : false, "properties" : { "type" : { "type" : "enum", "required" : true, "values" : ["none", "linear"] }, "time_ms" : { "type" : "integer", "required" : false, "minimum" : 10 }, "updateFrequency" : { "type" : "number", "required" : false, "minimum" : 0.001 } }, "additionalProperties" : 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 } }, "additionalProperties" : false } }, "effects" : { "type" : "object", "required" : false, "properties" : { "paths" : { "type" : "array", "required" : false, "items" : { "type" : "string" } } }, "additionalProperties" : false }, "blackborderdetector" : { "type" : "object", "required" : false, "properties" : { "enable" : { "type" : "boolean", "required" : true } }, "additionalProperties" : false }, "xbmcVideoChecker" : { "type" : "object", "required" : false, "properties" : { "xbmcAddress" : { "type" : "string", "required" : true }, "xbmcTcpPort" : { "type" : "integer", "required" : true }, "grabVideo" : { "type" : "boolean", "required" : true }, "grabPictures" : { "type" : "boolean", "required" : true }, "grabAudio" : { "type" : "boolean", "required" : true }, "grabMenu" : { "type" : "boolean", "required" : true } }, "additionalProperties" : false }, "bootsequence" : { "type" : "object", "required" : false, "properties" : { "path" : { "type" : "string", "required" : true }, "effect" : { "type" : "string", "required" : true } }, "additionalProperties" : false }, "framegrabber" : { "type" : "object", "required" : false, "properties" : { "width" : { "type" : "integer", "required" : true }, "height" : { "type" : "integer", "required" : true }, "frequency_Hz" : { "type" : "integer", "required" : true } }, "additionalProperties" : false }, "jsonServer" : { "type" : "object", "required" : false, "properties" : { "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 } }, "additionalProperties" : false }, "protoServer" : { "type" : "object", "required" : false, "properties" : { "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 } }, "additionalProperties" : false }, "boblightServer" : { "type" : "object", "required" : false, "properties" : { "port" : { "type" : "integer", "required" : true, "minimum" : 0, "maximum" : 65535 } }, "additionalProperties" : false } }, "additionalProperties" : false }