1# zones.json
2
3Zones are groups of fans that are set to the same values and have the same
4properties like `default_floor` and `poweron_target`.  The events in
5[events.json](events.md) are then configured to operate on specific or all
6zones.
7
8## JSON Example
9
10```
11{
12  "name": "0",
13  "poweron_target": 18000,
14  "default_floor": 18000,
15  "increase_delay": 5,
16  "decrease_interval": 30
17}
18```
19
20## Attributes
21
22### name
23The zone name.  Required.
24
25### poweron_target
26The fan target value set immediately after the power state changes to on.
27This is also the ceiling unless `default_ceiling` is specified.  Required.
28
29### default_floor
30The default fan floor value to use for the zone, if necessary.  Possibly an
31action will be configured to be in charge of the floor so this isn't
32necessary.  Optional.
33
34### increase_delay
35This throttles fan increases to the specified delay.
36
37The delay, in seconds, between fan target increases, when an action such as
38NetTargetIncrease requests an increase.  All increases requested
39inside of this interval are analyzed and if the highest requested target is
40greater than the current target, this new target is set when the delay expires.
41
42Some actions may set the fan target directly, such as one that increases the
43target when a fan is removed, and this does not apply then.
44
45Optional with a default of zero, meaning increases are immediately requested.
46
47### decrease_interval
48This throttles fan decreases to the specified delay.
49
50The delay, in seconds, between fan target decreases, when an action such as
51NetTargetDecrease requests a decrease.  All increases and decreases requested
52inside of this interval are analyzed and if the highest requested target is
53lower than the current target, this new target is set when the delay expires.
54
55Optional with a default of zero, meaning decreases are immediately requested.
56
57### default_ceiling
58The ceiling of the zone, i.e. the highest target that can be set.
59
60This is optional and if not specified it defaults to the `poweron_target`
61value.
62