hyperion.ng/libsrc/hyperion/hyperion.schema.json

909 lines
15 KiB
JSON

{
"type" : "object",
"required" : true,
"properties" :
{
"logger" :
{
"type" : "object",
"properties" :
{
"level" :
{
"enum" : ["silent", "warn", "verbose", "debug"]
}
},
"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" : true
},
"color" :
{
"type":"object",
"required" : true,
"properties":
{
"channelAdjustment_enable" :
{
"type" : "boolean"
},
"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_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"
},
"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
}
}
},
"additionalProperties" : false
},
"smoothing":
{
"type" : "object",
"properties" :
{
"enable" :
{
"type" : "boolean"
},
"type" :
{
"enum" : ["linear"]
},
"time_ms" :
{
"type" : "integer",
"minimum" : 25,
"maximum": 600
},
"updateFrequency" :
{
"type" : "number",
"minimum" : 1.000,
"maximum": 100.000
},
"updateDelay" :
{
"type" : "integer",
"minimum" : 0,
"maximum": 2048
},
"continuousOutput" :
{
"type" : "boolean"
}
},
"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",
"properties" :
{
"enable" :
{
"type" : "boolean"
},
"type" :
{
"type" : "string"
},
"width" :
{
"type" : "integer"
},
"height" :
{
"type" : "integer"
},
"frequency_Hz" :
{
"type" : "integer",
"minimum" : 0
},
"priority" :
{
"type" : "integer"
},
"cropLeft" :
{
"type" : "integer",
"minimum" : 0
},
"cropRight" :
{
"type" : "integer",
"minimum" : 0
},
"cropTop" :
{
"type" : "integer",
"minimum" : 0
},
"cropBottom" :
{
"type" : "integer",
"minimum" : 0
},
"useXGetImage" :
{
"type" : "boolean"
},
"horizontalPixelDecimation" :
{
"type" : "integer",
"minimum" : 0
},
"verticalPixelDecimation" :
{
"type" : "integer",
"minimum" : 0
},
"device" :
{
"type" : "string"
},
"display" :
{
"type" : "integer",
"minimum" : 0
}
},
"additionalProperties" : false
},
"blackborderdetector" :
{
"type" : "object",
"properties" :
{
"enable" :
{
"type" : "boolean"
},
"threshold" :
{
"type" : "number",
"minimum" : 0.0,
"maximum" : 1.0
},
"unknownFrameCnt" :
{
"type" : "number",
"minimum" : 0
},
"borderFrameCnt" :
{
"type" : "number",
"minimum" : 0
},
"maxInconsistentCnt" :
{
"type" : "number",
"minimum" : 0
},
"blurRemoveCnt" :
{
"type" : "number",
"minimum" : 0
},
"mode" :
{
"type" :
{
"enum" : ["default", "classic", "osd"]
}
}
},
"additionalProperties" : false
},
"kodiVideoChecker" :
{
"type" : "object",
"properties" :
{
"enable" :
{
"type" : "boolean"
},
"kodiAddress" :
{
"type" : "string"
},
"kodiTcpPort" :
{
"type" : "integer"
},
"grabVideo" :
{
"type" : "boolean"
},
"grabPictures" :
{
"type" : "boolean"
},
"grabAudio" :
{
"type" : "boolean"
},
"grabMenu" :
{
"type" : "boolean"
},
"grabPause" :
{
"type" : "boolean"
},
"grabScreensaver" :
{
"type" : "boolean"
},
"enable3DDetection" :
{
"type" : "boolean"
}
},
"additionalProperties" : false
},
"initialEffect" :
{
"type" : "object",
"properties" :
{
"background-effect" :
{
"type" : "array"
},
"background-effect-args" :
{
"type" : "object"
},
"foreground-effect" :
{
"type" : "array"
},
"foreground-effect-args" :
{
"type" : "object"
},
"foreground-duration_ms" :
{
"type" : "integer"
}
},
"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",
"properties" :
{
"enable" :
{
"type" : "boolean"
},
"port" :
{
"type" : "integer",
"required" : true,
"minimum" : 0,
"maximum" : 65535
},
"priority" :
{
"type" : "integer"
}
},
"additionalProperties" : false
},
"udpListener" :
{
"type" : "object",
"properties" :
{
"enable" :
{
"type" : "boolean"
},
"address" :
{
"type" : "string",
"required" : true
},
"port" :
{
"type" : "integer",
"minimum" : 0,
"maximum" : 65535
},
"priority" :
{
"type" : "integer"
},
"timeout" :
{
"type" : "integer"
},
"shared" :
{
"type" : "boolean"
}
},
"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",
"properties" :
{
"paths" :
{
"type" : "array"
}
},
"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"
}
},
"additionalProperties" : false
}