Service Configuration

Note: The config is located in config.json file.

Format

{
  "Profiles":  [<ProfileConfig>],
  "ComputerStateProfiles":  [<ComputerStateProfileConfig>],
  "PortConfigs":  [<PortConfig>],
  "SensorConfigs":   [<SensorConfig>],

  "IpcServer": <IpcServer>,
  "IpcServerEnabled": <bool>,

  "CpuSensorsEnabled": <bool>,
  "GpuSensorsEnabled": <bool>,
  "StorageSensorsEnabled": <bool>,
  "MotherboardSensorsEnabled": <bool>,
  "MemorySensorsEnabled": <bool>,
  "NetworkSensorsEnabled": <bool>,
  "ControllerSensorsEnabled": <bool>,

  "SensorTimerInterval": <int>,
  "DeviceSpeedTimerInterval": <int>,
  "DeviceRgbTimerInterval": <int>,
  "IpcClientTimerInterval": <int>,
  "DebugTimerInterval": <int>
}

Variables

Profiles

List of Profile Configs.

Required: Yes
Default value:

[]

Example:

"Profiles": [
  {...},
  {...}
]

ComputerStateProfiles

List of ComputerStateProfile Configs.

Required: No
Default value:

[]

Example:

"ComputerStateProfiles": [
  {...},
  {...}
]

PortConfigs

List of Port Configs.

Note: If Port Config is not configured for a port, a default Port Config will be used.

Required: No
Default value:

[]

Example:

"PortConfigs": [
  {...},
  {...}
]

SensorConfigs

List of Sensor Configs.

Note: If Sensor Config is not configured for a sensor, a default Sensor Config will be used.

Required: No
Default value:

[]

Example:

"SensorConfigs": [
  {...},
  {...}
]

IpcServer

Intance of Ipc Server to use for ipc.

Required: No
Default value:

Example:

{
  "Type": "WebSocketIpcServer",
  "Config": {
    "Address": "127.0.0.1",
    "Port": 8888
  }
}

IpcServerEnabled

Enables IpcServer instance.

Required: No
Default value:

false

Example:

"IpcServerEnabled": true

CpuSensorsEnabled

Enables support for CPU sensors.

Required: No
Default value:

true

Example:

"CpuSensorsEnabled": false

GpuSensorsEnabled

Enables support for GPU sensors.

Required: No
Default value:

true

Example:

"GpuSensorsEnabled": false

StorageSensorsEnabled

Enables support for HDD/SDD sensors.

Required: No
Default value:

false

Example:

"StorageSensorsEnabled": false

MotherboardSensorsEnabled

Enables support for Motherboard sensors.

Required: No
Default value:

false

Example:

"MotherboardSensorsEnabled": false

MemorySensorsEnabled

Enables support for RAM sensors.

Required: No
Default value:

false

Example:

"MemorySensorsEnabled": false

NetworkSensorsEnabled

Enables support for NIC sensors.

Required: No
Default value:

false

Example:

"MemorySensorsEnabled": false

ControllerSensorsEnabled

Enables support for hid fan controller/pump sensors.

Required: No
Default value:

false

Example:

"ControllerSensorsEnabled": false

SensorTimerInterval

Determines timer delay for updating sensor values.

Note: Value in miliseconds.

Required: No
Default value:

250

Example:

"SensorTimerInterval": 500

DeviceSpeedTimerInterval

Determines timer delay for updating speed of devices.

Note: Value in miliseconds.

Required: No
Default value:

2500

Example:

"DeviceSpeedTimerInterval": 3000

DeviceRgbTimerInterval

Determines timer delay for updating led colors.

Note: Value in miliseconds.

Required: No
Default value:

32

Example:

"DeviceRgbTimerInterval": 16

IpcClientTimerInterval

Determines timer delay for updating the internal ipc service client.

Note: Valid only if IpcServerEnabled is set to true and IpcServer is set to a IpcServer instance.

Note: Value in miliseconds.

Required: No
Default value:

0

Example:

"IpcClientTimerInterval": 1000

DebugTimerInterval

Determines timer delay for logging debug data.

Note: Used only in console mode.

Note: Value in miliseconds.

Required: No
Default value:

5000

Example:

"DebugTimerInterval": 1000

Example

{
  "Profiles": [
    {
      "Name": "Default",
      "Ports": [
        [9802, 8101, 1]
      ],
      "SpeedControllers": [
        {
          "Type": "PwmSpeedController", 
          "Config": {
            "CurvePoints": [
              [30, 30],
              [45, 50],
              [55, 60],
              [65, 75],
              [75, 100]
            ],
            "Sensors": ["/intelcpu/0/temperature/8"],
            "Trigger": {
              "Type": "AlwaysTrigger"
            }
          }
        }
      ],
      "Effects": [
        {
          "Type": "SensorEffect",
          "Config": {
            "Sensors": ["/intelcpu/0/temperature/8"],
            "ColorGradient": [
              [40, [16, 16, 128]],
              [60, [16, 16, 16]],
              [86, [128, 16, 16]]
            ],
            "Trigger": {
              "Type": "AlwaysTrigger"
            }
          }
        }
      ]
    }
  ],
  "ComputerStateProfiles": [
    {
      "StateType": "Shutdown",
      "Ports": [
        [9802, 8101, 1]
      ],
      "Speed": 35,
      "Colors": {
        "Full": [255, 0, 0]
      }
    }
  ],
  "PortConfigs": [
    {
      "Ports": [[9802, 8101, 1]],
      "Config": {
        "Name": "Top Fan",
        "ColorModifiers": [
          {
            "Type": "RotateLedColorModifier",
            "Config": {
              "Rotation": 11
            }
          },
          {
            "Type": "ReverseLedColorModifier",
            "Config": {
              "Reverse": true
            }
          }
        ]
      }
    }
  ],
  "SensorConfigs": [
    {
      "Sensors": ["/intelcpu/0/temperature/8"],
      "Config": {
        "CriticalValue": 90
      }
    }
  ]
}