xref: /openbmc/phosphor-fan-presence/docs/control/zones.md (revision 64fb88c1bfd81e970b15f13938d59fc04d030b0f)
15d6b3620SMatt Spinler# zones.json
25d6b3620SMatt Spinler
35d6b3620SMatt SpinlerZones are groups of fans that are set to the same values and have the same
45d6b3620SMatt Spinlerproperties like `default_floor` and `poweron_target`. The events in
55d6b3620SMatt Spinler[events.json](events.md) are then configured to operate on specific or all
65d6b3620SMatt Spinlerzones.
75d6b3620SMatt Spinler
85d6b3620SMatt Spinler## JSON Example
95d6b3620SMatt Spinler
10*64fb88c1SGeorge Liu```json
115d6b3620SMatt Spinler{
125d6b3620SMatt Spinler  "name": "0",
135d6b3620SMatt Spinler  "poweron_target": 18000,
145d6b3620SMatt Spinler  "default_floor": 18000,
155d6b3620SMatt Spinler  "increase_delay": 5,
165d6b3620SMatt Spinler  "decrease_interval": 30
175d6b3620SMatt Spinler}
185d6b3620SMatt Spinler```
195d6b3620SMatt Spinler
205d6b3620SMatt Spinler## Attributes
215d6b3620SMatt Spinler
225d6b3620SMatt Spinler### name
23a49e3f19SPatrick Williams
245d6b3620SMatt SpinlerThe zone name. Required.
255d6b3620SMatt Spinler
265d6b3620SMatt Spinler### poweron_target
27a49e3f19SPatrick Williams
28a49e3f19SPatrick WilliamsThe fan target value set immediately after the power state changes to on. This
29a49e3f19SPatrick Williamsis also the ceiling unless `default_ceiling` is specified. Required.
305d6b3620SMatt Spinler
315d6b3620SMatt Spinler### default_floor
32a49e3f19SPatrick Williams
335d6b3620SMatt SpinlerThe default fan floor value to use for the zone, if necessary. Possibly an
34a49e3f19SPatrick Williamsaction will be configured to be in charge of the floor so this isn't necessary.
35a49e3f19SPatrick WilliamsOptional.
365d6b3620SMatt Spinler
375d6b3620SMatt Spinler### increase_delay
38a49e3f19SPatrick Williams
395d6b3620SMatt SpinlerThis throttles fan increases to the specified delay.
405d6b3620SMatt Spinler
415d6b3620SMatt SpinlerThe delay, in seconds, between fan target increases, when an action such as
42a49e3f19SPatrick WilliamsNetTargetIncrease requests an increase. All increases requested inside of this
43a49e3f19SPatrick Williamsinterval are analyzed and if the highest requested target is greater than the
44a49e3f19SPatrick Williamscurrent target, this new target is set when the delay expires.
455d6b3620SMatt Spinler
465d6b3620SMatt SpinlerSome actions may set the fan target directly, such as one that increases the
475d6b3620SMatt Spinlertarget when a fan is removed, and this does not apply then.
485d6b3620SMatt Spinler
495d6b3620SMatt SpinlerOptional with a default of zero, meaning increases are immediately requested.
505d6b3620SMatt Spinler
515d6b3620SMatt Spinler### decrease_interval
52a49e3f19SPatrick Williams
535d6b3620SMatt SpinlerThis throttles fan decreases to the specified delay.
545d6b3620SMatt Spinler
555d6b3620SMatt SpinlerThe delay, in seconds, between fan target decreases, when an action such as
565d6b3620SMatt SpinlerNetTargetDecrease requests a decrease. All increases and decreases requested
575d6b3620SMatt Spinlerinside of this interval are analyzed and if the highest requested target is
585d6b3620SMatt Spinlerlower than the current target, this new target is set when the delay expires.
595d6b3620SMatt Spinler
605d6b3620SMatt SpinlerOptional with a default of zero, meaning decreases are immediately requested.
615d6b3620SMatt Spinler
625d6b3620SMatt Spinler### default_ceiling
63a49e3f19SPatrick Williams
645d6b3620SMatt SpinlerThe ceiling of the zone, i.e. the highest target that can be set.
655d6b3620SMatt Spinler
66a49e3f19SPatrick WilliamsThis is optional and if not specified it defaults to the `poweron_target` value.
67