{ "type" : "object", "required" : true, "properties" : { "logger" : { "type" : "object", "title" : "Logging", "required": ["level"], "properties" : { "level" : { "type" : "string", "enum" : ["silent", "warn", "verbose", "debug"], "title" : "Log-Level", "default" : "warn" } }, "additionalProperties" : false }, "device" : { "type" : "object", "title" : "LED Device", "required" : true, "properties" : { "name" : { "type" : "string", "required" : true }, "type" : { "type" : "string", "required" : true }, "output" : { "type" : "string" }, "rate" : { "type" : "integer", "minimum" : 0 }, "colorOrder" : { "type" : "string", "enum" : ["rgb", "bgr", "rbg", "brg", "gbr", "grb"] } }, "additionalProperties" : true }, "color" : { "type":"object", "title" : "Color Calibration", "required" : true, "defaultProperties": ["channelAdjustment_enable","channelAdjustment","transform_enable","transform"], "properties": { "channelAdjustment_enable" : { "type" : "boolean", "format": "checkbox", "propertyOrder" : 1 }, "channelAdjustment" : { "type" : "array", "required" : true, "propertyOrder" : 2, "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_enable" : { "type" : "boolean" }, "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_enable" : { "type" : "boolean", "format": "checkbox", "propertyOrder" : 3 }, "transform" : { "type" : "array", "required" : true, "propertyOrder" : 4, "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 } } }, "additionalProperties" : false }, "smoothing": { "type" : "object", "title" : "Smoothing", "required": ["type"], "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : true, "propertyOrder" : 1 }, "type" : { "type" : "string", "title" : "Type", "enum" : ["linear"], "default" : "linear" }, "time_ms" : { "type" : "integer", "title" : "Time", "minimum" : 25, "maximum": 600, "default" : 200 }, "updateFrequency" : { "type" : "number", "title" : "Update frequency", "minimum" : 1.000, "maximum" : 100.000, "default" : 25.000 }, "updateDelay" : { "type" : "integer", "title" : "Update delay", "minimum" : 0, "maximum": 2048, "default" : 0 }, "continuousOutput" : { "type" : "boolean", "format": "checkbox", "title" : "Continuous output", "default" : true } }, "additionalProperties" : false }, "grabber-v4l2" : { "type":"array", "items": { "type" : "object", "required": ["mode","standard"], "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : false, "propertyOrder" : 1 }, "device" : { "type" : "string", "title" : "Device", "default" : "auto" }, "input" : { "type" : "integer", "title" : "Input", "default" : 0 }, "standard" : { "type" : "string", "title" : "Video standard", "enum" : ["PAL","NTSC"], "default" : "PAL" }, "width" : { "type" : "integer", "title" : "Width", "default" : -1 }, "height" : { "type" : "integer", "title" : "Height", "default" : -1 }, "frameDecimation" : { "type" : "integer", "title" : "Frame decimation", "default" : 2 }, "sizeDecimation" : { "type" : "integer", "title" : "Size decimation", "default" : 6 }, "priority" : { "type" : "integer", "title" : "Priority channel", "default" : 900 }, "mode" : { "type" : "string", "title" : "Mode", "enum" : ["2D","3DSBS","3DTAB"], "default" : "2D" }, "useKodiChecker" : { "type" : "boolean", "format": "checkbox", "title" : "Use Kodi Watch", "default" : false }, "cropLeft" : { "type" : "integer", "title" : "Crop left", "minimum" : 0, "default" : 0 }, "cropRight" : { "type" : "integer", "title" : "Crop right", "minimum" : 0, "default" : 0 }, "cropTop" : { "type" : "integer", "title" : "Crop top", "minimum" : 0, "default" : 0 }, "cropBottom" : { "type" : "integer", "title" : "Crop bottom", "minimum" : 0, "default" : 0 }, "redSignalThreshold" : { "type" : "number", "title" : "Red signal threshold", "minimum" : 0.0, "maximum" : 1.0, "default" : 0.1 }, "greenSignalThreshold" : { "type" : "number", "title" : "Green signal threshold", "minimum" : 0.0, "maximum" : 1.0, "default" : 0.1 }, "blueSignalThreshold" : { "type" : "number", "title" : "Blue signal threshold", "minimum" : 0.0, "maximum" : 1.0, "default" : 0.1 } }, "additionalProperties" : false } }, "framegrabber" : { "type" : "object", "title" : "Framegrabber", "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : true, "propertyOrder" : 1 }, "type" : { "type" : "string", "title" : "Type", "enum" : ["auto","dispmanx","amlogic","x11","framebuffer"], "default" : "auto" }, "width" : { "type" : "integer", "title" : "Width", "default" : 96 }, "height" : { "type" : "integer", "title" : "Height", "default" : 96 }, "frequency_Hz" : { "type" : "integer", "title" : "Frequency", "minimum" : 0, "default" : 10 }, "priority" : { "type" : "integer", "title" : "Priority channel", "minimum" : 0, "default" : 890 }, "cropLeft" : { "type" : "integer", "title" : "Crop left", "minimum" : 0, "default" : 0 }, "cropRight" : { "type" : "integer", "title" : "Crop right", "minimum" : 0, "default" : 0 }, "cropTop" : { "type" : "integer", "title" : "Crop top", "minimum" : 0, "default" : 0 }, "cropBottom" : { "type" : "integer", "title" : "Crop bottom", "minimum" : 0, "default" : 0 }, "useXGetImage" : { "type" : "boolean", "format": "checkbox", "title" : "Use XGetImage", "default" : false }, "horizontalPixelDecimation" : { "type" : "integer", "title" : "Horizontal pixel decimation", "minimum" : 0, "default" : 8 }, "verticalPixelDecimation" : { "type" : "integer", "title" : "Vertical pixel decimation", "minimum" : 0, "default" : 8 }, "device" : { "type" : "string", "title" : "Device", "default" : "/dev/fb0" }, "display" : { "type" : "integer", "title" : "Display", "minimum" : 0 } }, "additionalProperties" : false }, "blackborderdetector" : { "type" : "object", "title" : "Blackbar detector", "required": ["mode"], "defaultProperties": ["enable","mode","threshold"], "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : true, "propertyOrder" : 1 }, "threshold" : { "type" : "number", "title" : "Threshold", "minimum" : 0.0, "maximum" : 1.0, "default" : 0.05 }, "unknownFrameCnt" : { "type" : "number", "minimum" : 0 }, "borderFrameCnt" : { "type" : "number", "minimum" : 0 }, "maxInconsistentCnt" : { "type" : "number", "minimum" : 0 }, "blurRemoveCnt" : { "type" : "number", "minimum" : 0 }, "mode" : { "type" : "string", "title": "Mode", "enum" : ["default", "classic", "osd"], "default" : "default" } }, "additionalProperties" : false }, "kodiVideoChecker" : { "type" : "object", "title" : "Kodi Watch", "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : false, "propertyOrder" : 1 }, "kodiAddress" : { "type" : "string", "title" : "Kodi IP address", "default" : "127.0.0.1" }, "kodiTcpPort" : { "type" : "integer", "title" : "Kodi TCP port", "minimum" : 0, "maximum" : 65535, "default" : 9090 }, "grabVideo" : { "type" : "boolean", "format": "checkbox", "title" : "Video", "default" : true }, "grabPictures" : { "type" : "boolean", "format": "checkbox", "title" : "Pictures", "default" : true }, "grabAudio" : { "type" : "boolean", "format": "checkbox", "title" : "Audio", "default" : true }, "grabMenu" : { "type" : "boolean", "format": "checkbox", "title" : "Menu", "default" : false }, "grabPause" : { "type" : "boolean", "format": "checkbox", "title" : "Pause", "default" : false }, "grabScreensaver" : { "type" : "boolean", "format": "checkbox", "title" : "Screensaver", "default" : false }, "enable3DDetection" : { "type" : "boolean", "format": "checkbox", "title" : "Detect 3D", "default" : false } }, "additionalProperties" : false }, "initialEffect" : { "type" : "object", "title" : "Initial Effect", "defaultProperties": ["background-effect","foreground-effect","foreground-duration_ms"], "properties" : { "background-effect" : { "type" : "array", "title" : "Background effect", "propertyOrder" : 3 }, "background-effect-args" : { "type" : "object", "title" : "Background effect arguments" }, "foreground-effect" : { "type" : "array", "title" : "Boot effect", "propertyOrder" : 1 }, "foreground-effect-args" : { "type" : "object", "title" : "Boot effect arguments" }, "foreground-duration_ms" : { "type" : "integer", "title" : "Boot effect duration", "propertyOrder" : 2 } }, "additionalProperties" : false }, "forwarder" : { "type" : "object", "title" : "Forwarder", "required" : true, "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "required" : true, "propertyOrder" : 1 }, "json" : { "type" : "array", "required" : true }, "proto" : { "type" : "array", "required" : true } }, "additionalProperties" : false }, "jsonServer" : { "type" : "object", "required" : true, "title" : "JSON Server", "properties" : { "port" : { "type" : "integer", "required" : true, "title" : "Port", "minimum" : 0, "maximum" : 65535, "default" : 19444 } }, "additionalProperties" : false }, "protoServer" : { "type" : "object", "required" : true, "title" : "Proto Server", "properties" : { "port" : { "type" : "integer", "required" : true, "title" : "Port", "minimum" : 0, "maximum" : 65535, "default" : 19445 } }, "additionalProperties" : false }, "boblightServer" : { "type" : "object", "title" : "Boblight Server", "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : false, "propertyOrder" : 1 }, "port" : { "type" : "integer", "required" : true, "title" : "Port", "minimum" : 0, "maximum" : 65535 }, "priority" : { "type" : "integer", "title" : "Priority", "minimum" : 0, "default" : 800 } }, "additionalProperties" : false }, "udpListener" : { "type" : "object", "title" : "UDP Listener", "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : false, "propertyOrder" : 1 }, "address" : { "type" : "string", "title" : "Address", "default" : "239.255.28.01", "required" : true }, "port" : { "type" : "integer", "title" : "Port", "minimum" : 0, "maximum" : 65535, "default" : 2801 }, "priority" : { "type" : "integer", "title" : "Priority", "default" : 800 }, "timeout" : { "type" : "integer", "title" : "Timeout", "default" : 10000 }, "shared" : { "type" : "boolean", "format": "checkbox", "title" : "Shared", "default" : false } }, "additionalProperties" : false }, "webConfig" : { "type" : "object", "title" : "WebUI - DANGER CHANGES CAN MAKE THE WEBUI UNREACHABLE!", "required" : true, "properties" : { "enable" : { "type" : "boolean", "format": "checkbox", "title" : "Activate", "default" : true, "required" : true, "propertyOrder" : 1 }, "document_root" : { "type" : "string", "title" : "Document Root", "required" : true }, "port" : { "type" : "integer", "title" : "Port", "default" : 8099, "required" : true } }, "additionalProperties" : false }, "effects" : { "type" : "object", "properties" : { "paths" : { "type" : "array" } }, "additionalProperties" : false }, "leds": { "type":"array", "required":true, "items": { "type":"object", "properties": { "index": { "type":"integer", "required":true }, "clone": { "type":"integer" }, "hscan": { "type":"object", "properties": { "minimum": { "type":"number", "minimum" : 0, "maximum" : 1, "required":true }, "maximum": { "type":"number", "minimum" : 0, "maximum" : 1, "required":true } }, "additionalProperties" : false }, "vscan": { "type":"object", "properties": { "minimum": { "type":"number", "minimum" : 0, "maximum" : 1, "required":true }, "maximum": { "type":"number", "minimum" : 0, "maximum" : 1, "required":true } }, "additionalProperties" : false }, "colorOrder": { "type": "string", "enum" : ["rgb", "bgr", "rbg", "brg", "gbr", "grb"] } }, "additionalProperties" : false } } }, "additionalProperties" : false }