2016-06-27 10:12:19 +02:00
// This is a example config (hyperion.config.json) with comments, in any case you need to create your own one with HyperCon!
// location of all configs: /etc/hyperion
// Webpage: https://www.hyperion-project.org
{
2017-09-04 23:12:59 +02:00
/// general Settings
2016-12-23 19:37:35 +01:00
/// * 'name' : The user friendly name of the hyperion instance (used for network things)
2019-07-10 10:24:40 +02:00
/// * 'versionBranch' : Which branch should be used for hyperion version
2017-01-04 10:55:10 +01:00
/// * 'showOptHelp' : Show option expanations at the webui. Highly recommended for beginners.
2016-12-23 19:37:35 +01:00
"general" :
{
"name" : "MyHyperionConfig",
2019-07-13 00:06:58 +02:00
"watchedVersionBranch" : "Stable",
2017-09-04 23:12:59 +02:00
"showOptHelp" : true
2016-12-23 19:37:35 +01:00
},
2016-06-27 23:56:21 +02:00
/// set log level: silent warn verbose debug
"logger" :
{
"level" : "warn"
},
2017-09-04 23:12:59 +02:00
/// Device configuration contains the following fields:
2016-06-27 10:12:19 +02:00
/// * 'name' : The user friendly name of the device (only used for display purposes)
2018-12-28 18:12:45 +01:00
/// * 'type' : The type of the device
2016-06-27 10:12:19 +02:00
/// * [device type specific configuration]
/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
2016-12-02 12:07:24 +01:00
/// * 'rewriteTime': in ms. Data is resend to leds, if no new data is available in thistime. 0 means no refresh
2016-06-27 10:12:19 +02:00
"device" :
{
"type" : "file",
2018-12-28 18:12:45 +01:00
"hardwareLedCount" : 1,
2016-06-27 10:12:19 +02:00
"output" : "/dev/null",
"rate" : 1000000,
2016-12-02 12:07:24 +01:00
"colorOrder" : "rgb",
2019-07-02 19:06:36 +02:00
"rewriteTime": 5000
2016-06-27 10:12:19 +02:00
},
2017-09-04 23:12:59 +02:00
/// Color manipulation configuration used to tune the output colors to specific surroundings.
/// The configuration contains a list of color-transforms. Each transform contains the
2016-06-27 10:12:19 +02:00
/// following fields:
2016-12-19 23:59:50 +01:00
/// * 'imageToLedMappingType' : multicolor_mean - every led has it's own calculatedmean color
/// unicolor_mean - every led has same color, color is the mean of whole image
2016-06-27 10:12:19 +02:00
/// * 'channelAdjustment'
2016-12-29 17:02:37 +01:00
/// * 'id' : The unique identifier of the channel adjustments (eg 'device_1')
/// * 'leds' : The indices (or index ranges) of the leds to which this channel adjustment applies
/// (eg '0-5, 9, 11, 12-17'). The indices are zero based.
2018-12-27 23:11:32 +01:00
/// * 'white'/'red'/'green'/'blue'/'cyan'/'magenta'/'yellow' : Array of RGB to adjust the output color
2017-09-04 23:12:59 +02:00
/// * 'gammaRed'/'gammaGreen'/'gammaBlue' : Gamma value for each channel
2017-01-17 21:53:35 +01:00
/// * 'id' : The unique identifier of the channel adjustments (eg 'device_1')
/// * 'id' : The unique identifier of the channel adjustments (eg 'device_1')
2017-04-03 05:19:05 +02:00
/// * 'backlightThreshold' : Minimum brightness (backlight)
/// * 'backlightColored' : backlight with color, instead of white
/// * 'brightness' : overall brightness
/// * 'brightnessCompensation' : 100 means brightness differences are compensated (white is as bright as red, is as bright as yellow.
/// 0 means white is 3x brighter than red, yellow is 2x brighter than red
2016-06-27 10:12:19 +02:00
"color" :
{
2016-12-19 23:59:50 +01:00
"imageToLedMappingType" : "multicolor_mean",
2016-06-27 10:12:19 +02:00
"channelAdjustment" :
[
{
"id" : "default",
"leds" : "*",
2016-12-29 17:02:37 +01:00
"white" : [255,255,255],
"red" : [255,0,0],
"green" : [0,255,0],
"blue" : [0,0,255],
"cyan" : [0,255,255],
"magenta" : [255,0,255],
2017-01-06 14:25:55 +01:00
"yellow" : [255,255,0],
2017-02-16 18:33:33 +01:00
"gammaRed" : 1.5,
"gammaGreen" : 1.5,
"gammaBlue" : 1.5,
2017-04-03 05:19:05 +02:00
"backlightThreshold" : 0,
2017-02-11 22:52:47 +01:00
"backlightColored" : false,
2017-04-03 05:19:05 +02:00
"brightness" : 100,
"brightnessCompensation" : 80
2016-06-27 10:12:19 +02:00
}
2016-07-30 13:07:53 +02:00
]
},
2016-06-27 10:12:19 +02:00
2016-07-30 13:07:53 +02:00
/// smoothing
2017-09-04 23:12:59 +02:00
/// * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
2016-07-30 13:07:53 +02:00
/// parameters:
/// - 'enable' Enable or disable the smoothing (true/false)
/// - 'type' The type of smoothing algorithm ('linear' or 'none')
/// - 'time_ms' The time constant for smoothing algorithm in milliseconds
/// - 'updateFrequency' The update frequency of the leds in Hz
/// - 'updateDelay' The delay of the output to leds (in periods of smoothing)
/// - 'continuousOutput' Flag for enabling continuous output to Leds regardless of new input or not
"smoothing" :
{
"enable" : true,
"type" : "linear",
"time_ms" : 200,
"updateFrequency" : 25.0000,
"updateDelay" : 0,
"continuousOutput" : true
2016-06-27 10:12:19 +02:00
},
/// Configuration for the embedded V4L2 grabber
2018-12-28 18:12:45 +01:00
/// * device : V4L2 Device to use [default="auto"] (Auto detection)
2018-12-27 23:11:32 +01:00
/// * standard : Video standard (PAL/NTSC/SECAM/NO_CHANGE) [default="NO_CHANGE"]
2016-06-27 10:12:19 +02:00
/// * sizeDecimation : Size decimation factor [default=8]
/// * cropLeft : Cropping from the left [default=0]
/// * cropRight : Cropping from the right [default=0]
/// * cropTop : Cropping from the top [default=0]
/// * cropBottom : Cropping from the bottom [default=0]
2017-03-15 20:33:11 +01:00
/// * signalDetection : enable/disable signal detection [default=true]
2017-07-30 14:36:23 +02:00
/// * redSignalThreshold : Signal threshold for the red channel between 0 and 100 [default=5]
/// * greenSignalThreshold : Signal threshold for the green channel between 0 and 100 [default=5]
/// * blueSignalThreshold : Signal threshold for the blue channel between 0 and 100 [default=5]
/// * sDHOffsetMin : area for signal detection - horizontal minimum offset value. Values between 0.0 and 1.0
/// * sDVOffsetMin : area for signal detection - vertical minimum offset value. Values between 0.0 and 1.0
/// * sDHOffsetMax : area for signal detection - horizontal maximum offset value. Values between 0.0 and 1.0
/// * sDVOffsetMax : area for signal detection - vertical maximum offset value. Values between 0.0 and 1.0
2016-09-21 22:01:50 +02:00
"grabberV4L2" :
2019-04-28 19:53:45 +02:00
{
"device" : "auto",
"standard" : "NO_CHANGE",
"sizeDecimation" : 8,
"priority" : 240,
"cropLeft" : 0,
"cropRight" : 0,
"cropTop" : 0,
"cropBottom" : 0,
"redSignalThreshold" : 5,
"greenSignalThreshold" : 5,
"blueSignalThreshold" : 5,
"signalDetection" : false,
"sDVOffsetMin" : 0.25,
"sDHOffsetMin" : 0.25,
"sDVOffsetMax" : 0.75,
"sDHOffsetMax" : 0.75
},
2016-06-27 10:12:19 +02:00
2017-09-04 23:12:59 +02:00
/// The configuration for the frame-grabber, contains the following items:
2019-01-06 19:49:56 +01:00
/// * type : type of grabber. (auto|osx|dispmanx|amlogic|x11|framebuffer|qt) [auto]
2016-06-27 10:12:19 +02:00
/// * width : The width of the grabbed frames [pixels]
/// * height : The height of the grabbed frames [pixels]
/// * frequency_Hz : The frequency of the frame grab [Hz]
2017-09-04 23:12:59 +02:00
/// * ATTENTION : Power-of-Two resolution is not supported and leads to unexpected behaviour!
2016-07-10 22:04:31 +02:00
"framegrabber" :
2016-06-27 10:12:19 +02:00
{
2016-07-24 15:18:34 +02:00
// for all type of grabbers
"type" : "framebuffer",
"frequency_Hz" : 10,
2017-09-04 23:12:59 +02:00
"cropLeft" : 0,
"cropRight" : 0,
"cropTop" : 0,
"cropBottom" : 0,
2016-07-24 15:18:34 +02:00
// valid for grabber: osx|dispmanx|amlogic|framebuffer
2016-07-13 12:14:02 +02:00
"width" : 96,
"height" : 96,
2017-09-04 23:12:59 +02:00
2019-01-06 19:49:56 +01:00
// valid for x11|qt
2018-12-27 23:11:32 +01:00
"pixelDecimation" : 8,
2016-07-24 15:18:34 +02:00
2019-01-06 19:49:56 +01:00
// valid for qt
"display" 0,
2016-07-24 15:18:34 +02:00
// valid for framebuffer
2019-03-27 08:07:45 +01:00
"device" : "/dev/fb0"
2016-06-27 10:12:19 +02:00
},
2017-09-04 23:12:59 +02:00
/// The black border configuration, contains the following items:
2016-06-27 10:12:19 +02:00
/// * enable : true if the detector should be activated
2017-03-24 10:17:36 +01:00
/// * threshold : Value below which a pixel is regarded as black (value between 0 and 100 [%])
2016-06-27 10:12:19 +02:00
/// * unknownFrameCnt : Number of frames without any detection before the border is set to 0 (default 600)
/// * borderFrameCnt : Number of frames before a consistent detected border gets set (default 50)
/// * maxInconsistentCnt : Number of inconsistent frames that are ignored before a new border gets a chance to proof consistency
/// * blurRemoveCnt : Number of pixels that get removed from the detected border to cut away blur (default 1)
/// * mode : Border detection mode (values=default,classic,osd)
"blackborderdetector" :
{
2016-07-10 22:04:31 +02:00
"enable" : true,
2017-03-24 10:17:36 +01:00
"threshold" : 5,
2016-07-10 22:04:31 +02:00
"unknownFrameCnt" : 600,
"borderFrameCnt" : 50,
2016-06-27 10:12:19 +02:00
"maxInconsistentCnt" : 10,
2016-07-10 22:04:31 +02:00
"blurRemoveCnt" : 1,
"mode" : "default"
2016-06-27 10:12:19 +02:00
},
2017-01-04 10:55:10 +01:00
/// foregroundEffect sets a "booteffect" or "bootcolor" during startup for a given period in ms (duration_ms)
/// * enable : if true, foreground effect is enabled
/// * type : choose between "color" or "effect"
/// * color : if type is color, a color is used (RGB) (example: [0,0,255])
/// * effect : if type is effect a effect is used (example: "Rainbow swirl fast")
/// * duration_ms : The duration of the selected effect or color (0=endless)
/// HINT: "foregroundEffect" starts always with priority 0, so it blocks all remotes and grabbers if the duration_ms is endless (0)
"foregroundEffect" :
2016-07-10 22:04:31 +02:00
{
2017-01-04 10:55:10 +01:00
"enable" : true,
"type" : "effect",
"color" : [0,0,255],
"effect" : "Rainbow swirl fast",
"duration_ms" : 3000
},
2017-09-04 23:12:59 +02:00
2017-11-22 00:52:55 +01:00
/// backgroundEffect sets a background effect or color. It is used when all capture devices are stopped (manual via remote). Could be also selected via priorities selection.
2017-01-04 10:55:10 +01:00
/// * enable : if true, background effect is enabled
/// * type : choose between "color" or "effect"
/// * color : if type is color, a color is used (RGB) (example: [255,134,0])
/// * effect : if type is effect a effect is used (example: "Rainbow swirl fast")
"backgroundEffect" :
{
"enable" : true,
"type" : "effect",
"color" : [255,138,0],
"effect" : "Warm mood blobs"
2016-07-10 22:04:31 +02:00
},
2016-06-27 10:12:19 +02:00
2017-09-04 23:12:59 +02:00
/// The configuration of the Json/Proto forwarder. Forward messages to multiple instances of Hyperion on same and/or other hosts
/// 'proto' is mostly used for video streams and 'json' for effects
2016-07-10 22:04:31 +02:00
/// * enable : Enable or disable the forwarder (true/false)
2019-02-05 19:55:48 +01:00
/// * proto : Proto server adress and port of your target. Syntax:[IP:PORT] -> ["127.0.0.1:19401"] or more instances to forward ["127.0.0.1:19401","192.168.0.24:19403"]
2017-09-04 23:12:59 +02:00
/// * json : Json server adress and port of your target. Syntax:[IP:PORT] -> ["127.0.0.1:19446"] or more instances to forward ["127.0.0.1:19446","192.168.0.24:19448"]
2016-06-27 10:12:19 +02:00
/// HINT:If you redirect to "127.0.0.1" (localhost) you could start a second hyperion with another device/led config!
2019-02-05 19:55:48 +01:00
/// Be sure your client(s) is/are listening on the configured ports. The second Hyperion (if used) also needs to be configured! (WebUI -> Settings Level (Expert) -> Configuration -> Network Services -> Forwarder)
2016-07-10 22:04:31 +02:00
"forwarder" :
{
2016-07-10 12:42:21 +02:00
"enable" : false,
2019-02-05 19:55:48 +01:00
"proto" : ["127.0.0.1:19401"],
2016-07-10 22:04:31 +02:00
"json" : ["127.0.0.1:19446"]
},
2016-06-27 10:12:19 +02:00
/// The configuration of the Json server which enables the json remote interface
/// * port : Port at which the json server is started
"jsonServer" :
{
"port" : 19444
},
2018-12-28 18:12:45 +01:00
/// The configuration of the Flatbuffer server which enables the Flatbuffer remote interface
/// * port : Port at which the flatbuffer server is started
"flatbufServer" :
{
"enable" : true,
"port" : 19400,
"timeout" : 5
},
2019-02-17 15:26:11 +01:00
/// The configuration of the Protobuffer server which enables the Protobuffer remote interface
/// * port : Port at which the protobuffer server is started
"protoServer" :
{
"enable" : true,
"port" : 19445,
"timeout" : 5
},
2016-06-27 10:12:19 +02:00
/// The configuration of the boblight server which enables the boblight remote interface
2016-07-10 22:04:31 +02:00
/// * enable : Enable or disable the boblight server (true/false)
2016-06-27 10:12:19 +02:00
/// * port : Port at which the boblight server is started
2019-05-26 14:25:37 +02:00
/// * priority : Priority of the boblight server (Default=128) HINT: lower value result in HIGHER priority!
2016-06-27 10:12:19 +02:00
"boblightServer" :
{
2016-07-10 22:04:31 +02:00
"enable" : false,
"port" : 19333,
2019-05-26 14:25:37 +02:00
"priority" : 128
2016-06-27 10:12:19 +02:00
},
/// Configuration of the Hyperion webserver
2017-01-17 21:53:35 +01:00
/// * document_root : path to hyperion webapp files (webconfig developer only)
2016-06-27 10:12:19 +02:00
/// * port : the port where hyperion webapp is accasible
2019-08-21 16:09:28 +02:00
/// * sslPort : the secure (HTTPS) port of the hyperion webapp
/// * crtPath : the path to a certificate file to allow HTTPS connections. Should be in PEM format
/// * keyPath : the path to a private key file to allow HTTPS connections. Should be in PEM format and RSA encrypted
/// * keyPassPhrase : optional: If the key file requires a password add it here
2016-06-27 10:12:19 +02:00
"webConfig" :
{
2017-01-17 21:53:35 +01:00
"document_root" : "/path/to/files",
2019-08-21 16:09:28 +02:00
"port" : 8090,
"sslPort" : 8092,
"crtPath" : "/path/to/mycert.crt",
"keyPath" : "/path/to/mykey.key",
"keyPassPhrase" : ""
2016-06-27 10:12:19 +02:00
},
2017-09-04 23:12:59 +02:00
/// The configuration of the effect engine, contains the following items:
2017-10-12 11:55:03 +02:00
/// * paths : An array with absolute location(s) of directories with effects,
/// $ROOT is a keyword which will be replaced with the current rootPath that can be specified on startup from the commandline (defaults to your home directory)
2017-09-04 23:12:59 +02:00
/// * disable : An array with effect names that shouldn't be loaded
"effects" :
2016-06-27 10:12:19 +02:00
{
"paths" :
[
2017-10-12 11:55:03 +02:00
"$ROOT/custom-effects",
2016-06-27 10:12:19 +02:00
"/usr/share/hyperion/effects"
2016-09-21 11:11:06 +02:00
],
2016-09-13 11:51:16 +02:00
"disable" :
[
"Rainbow swirl",
"X-Mas"
]
2016-06-27 10:12:19 +02:00
},
2017-09-04 23:12:59 +02:00
2019-07-12 16:54:26 +02:00
"instCapture" :
{
2018-12-27 23:11:32 +01:00
"systemEnable" : true,
"systemPriority" : 250,
"v4lEnable" : false,
"v4lPriority" : 240
},
2019-07-12 16:54:26 +02:00
"network" :
{
"internetAccessAPI" : false,
2019-08-21 17:46:49 +02:00
"restirctedInternetAccessAPI" : false,
2019-07-12 16:54:26 +02:00
"ipWhitelist" : [],
"apiAuth" : true,
"localApiAuth" : false
},
2017-02-15 15:53:35 +01:00
/// Recreate and save led layouts made with web config. These values are just helpers for ui, not for Hyperion.
"ledConfig" :
{
"top" : 8,
"bottom" : 8,
"left" : 5,
"right" : 5,
"glength" : 0,
"gpos" : 0,
"position" : 0,
"reverse" : false,
"hdepth" : 8,
"vdepth" : 5,
"overlap" : 0,
"edgegap" : 0
},
2017-09-04 23:12:59 +02:00
/// The configuration for each individual led. This contains the specification of the area
/// averaged of an input image for each led to determine its color. Each item in the list
2016-06-27 10:12:19 +02:00
/// contains the following fields:
2017-09-04 23:12:59 +02:00
/// * index: The index of the led. This determines its location in the string of leds; zero
2016-06-27 10:12:19 +02:00
/// being the first led.
2017-09-04 23:12:59 +02:00
/// * hscan: The fractional part of the image along the horizontal used for the averaging
2016-06-27 10:12:19 +02:00
/// (minimum and maximum inclusive)
2017-09-04 23:12:59 +02:00
/// * vscan: The fractional part of the image along the vertical used for the averaging
2016-06-27 10:12:19 +02:00
/// (minimum and maximum inclusive)
2017-09-04 23:12:59 +02:00
2017-02-15 15:53:35 +01:00
"leds":
2016-06-27 10:12:19 +02:00
[
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.125,
"minimum": 0
},
2016-12-29 23:27:33 +01:00
"index": 0,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.25,
"minimum": 0.125
},
2016-12-29 23:27:33 +01:00
"index": 1,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.375,
"minimum": 0.25
},
2016-12-29 23:27:33 +01:00
"index": 2,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.5,
"minimum": 0.375
},
2016-12-29 23:27:33 +01:00
"index": 3,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.625,
"minimum": 0.5
},
2016-12-29 23:27:33 +01:00
"index": 4,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.75,
"minimum": 0.625
},
2016-12-29 23:27:33 +01:00
"index": 5,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.875,
"minimum": 0.75
},
2016-12-29 23:27:33 +01:00
"index": 6,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.875
},
2016-12-29 23:27:33 +01:00
"index": 7,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.08,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.95
},
2016-12-29 23:27:33 +01:00
"index": 8,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.2,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.95
},
2016-12-29 23:27:33 +01:00
"index": 9,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.4,
"minimum": 0.2
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.95
},
2016-12-29 23:27:33 +01:00
"index": 10,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.6,
"minimum": 0.4
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.95
},
2016-12-29 23:27:33 +01:00
"index": 11,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 0.8,
"minimum": 0.6
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.95
},
2016-12-29 23:27:33 +01:00
"index": 12,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 1,
"minimum": 0.8
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 1,
"minimum": 0.875
},
2016-12-29 23:27:33 +01:00
"index": 13,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 1,
"minimum": 0.92
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.875,
"minimum": 0.75
},
2016-12-29 23:27:33 +01:00
"index": 14,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 1,
"minimum": 0.92
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.75,
"minimum": 0.625
},
2016-12-29 23:27:33 +01:00
"index": 15,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 1,
"minimum": 0.92
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.625,
"minimum": 0.5
},
2016-12-29 23:27:33 +01:00
"index": 16,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 1,
"minimum": 0.92
}
2016-06-27 10:12:19 +02:00
},
{
2017-02-15 15:53:35 +01:00
"hscan": {
"maximum": 0.5,
"minimum": 0.375
},
2016-12-29 23:27:33 +01:00
"index": 17,
2017-02-15 15:53:35 +01:00
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.375,
"minimum": 0.25
},
"index": 18,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.25,
"minimum": 0.125
},
"index": 19,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.125,
"minimum": 0
},
"index": 20,
"vscan": {
"maximum": 1,
"minimum": 0.92
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 21,
"vscan": {
"maximum": 1,
"minimum": 0.8
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 22,
"vscan": {
"maximum": 0.8,
"minimum": 0.6
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 23,
"vscan": {
"maximum": 0.6,
"minimum": 0.4
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 24,
"vscan": {
"maximum": 0.4,
"minimum": 0.2
}
},
{
"hscan": {
"maximum": 0.05,
"minimum": 0
},
"index": 25,
"vscan": {
"maximum": 0.2,
"minimum": 0
}
2016-06-27 10:12:19 +02:00
}
2016-08-14 20:17:12 +02:00
]
2016-06-27 10:12:19 +02:00
}