Pwm Speed Controller
Sets the speed based on a custom PWM curve.
Format
{
"Type": "PwmSpeedController",
"Config": {
"CurvePoints": [<CurvePoint>],
"Sensors": [<SensorIdentifier>],
"SensorMixFunction": <enum>,
"MinimumChange": <int>,
"MaximumChange": <int>,
"Trigger": <Trigger>
}
}
Variables
CurvePoints
List of pwm curve points in [<value>, <speed>]
format.
Note: <speed>
is a value from 0
to 100
in percent.
Note: The <value>
corresponds to the calculated value from the Sensors.
Important: The <speed>
can be set to 0
to stop the device but if a bad <value>
is used, it can cause the device to turn on and off frequently and shorten its livespan.
Note: Any <speed>
beetween 1
and 19
will be raised to 20
as this is the minimum operating speed.
Required: Yes
Default value:
[]
Example:
"CurvePoints": [
[30, 30],
[45, 50],
[55, 60],
[65, 75],
[75, 100]
]
Sensors
List of Sensor Identifiers to read values from.
Required: Yes
Default value:
[]
Example:
"Sensors": ["/intelcpu/0/temperature/8"]
SensorMixFunction
Determines how to combine values from Sensors if multiple sensors are configured.
Allowed values: "Maximum"
, "Minimum"
, "Average"
Required: No
Default value:
"Maximum"
Example:
"SensorMixFunction": "Average"
MinimumChange
Minimum allowed change of speed in percent.
Note: Use this to reduce device speed fluctuation.
Required: No
Default value:
4
Example:
"MinimumChange": 2
MaximumChange
Maximum allowed change of speed in percent.
Note: Use this to reduce device speed fluctuation.
Required: No
Default value:
8
Example:
"MaximumChange": 5
Trigger
Instance of a Trigger plugin.
Required: Yes
Default value:
Example:
"Trigger": {
"Type": "AlwaysTrigger"
}
Example
{
"Type": "PwmSpeedController",
"Config": {
"CurvePoints": [
[30, 30],
[45, 50],
[55, 60],
[65, 75],
[75, 100]
],
"Sensors": ["/intelcpu/0/temperature/8"],
"Trigger": {
"Type": "AlwaysTrigger"
}
}
}