blob: d41363305215d87df5242643072162c4caffb4bd [file] [log] [blame]
Matthew Barth94b20f72017-05-11 16:35:10 -05001#Example set speed events for phosphor-fan-control
2
3#groups:
4# - name: [A unique name for this group]
5# description: [A user description of what makes up the group]
6# type: [The '/xyz/openbmc_project' path extension]
7# members:
8# [List of object paths under the path extension]
9#
Matthew Barthe3bab012017-09-28 14:37:41 -050010#preconditions:
11# - name: [Name associated with a supported precondition]
12# description: [A user description of the precondition's use]
13# parameters:
14# [List of required parameters for the precondition function]
15#
Matthew Barth94b20f72017-05-11 16:35:10 -050016#actions:
17# - name: [The name associated with a supported action function]
18# description: [A user description of what this action does]
19# parameters:
20# [Ordered list of required parameters for the associated function]
21#
22#events:
23# - name: [A unique name for this event]
24# zone_conditions:
25# - name: [The name of the zone condition]
26# zones:
27# - [Zone number to include this set speed event with]
28# group: [A group name from the list of groups]
29# interface: [The Dbus interface on the group members' object path]
30# property: [The property name and type on the interface to be used]
31# action:
32# name: [Name of an action from the list of actions]
33# [List each required action parameter with a defined type and value
34# for this event. The 'property' parameter utilizes the same type
35# defined under the 'property' attribute.]
36
37#Example:
38#groups:
39# - name: zone0_fans
40# description: Group of fan inventory objects for zone 0
Matthew Barth9af190c2017-08-08 14:20:43 -050041# type: /xyz/openbmc_project/inventory
Matthew Barth94b20f72017-05-11 16:35:10 -050042# members:
43# - /system/chassis/motherboard/fan0
44# - /system/chassis/motherboard/fan1
45# - /system/chassis/motherboard/fan2
46# - /system/chassis/motherboard/fan3
Matthew Barthbe605c52017-06-29 15:12:08 -050047# - name: zone0_ambient
48# description: Group of ambient temperature sensors for zone 0
Matthew Barth9af190c2017-08-08 14:20:43 -050049# type: /xyz/openbmc_project/sensors
Matthew Barthbe605c52017-06-29 15:12:08 -050050# members:
51# - /temperature/ambient
Matthew Barth9af190c2017-08-08 14:20:43 -050052# - name: occ0_object
53# description: Dbus object containing OCC0 properties
54# type: /org/open_power/control
55# members:
56# - /occ0
Matthew Barthdd5cad62017-09-14 09:40:35 -050057# - name: zone0_regulators
58# description: Group of regulator temperature sensors for zone 0
59# type: /xyz/openbmc_project/sensors
60# members:
61# - /temperature/p0_vdd_temp
62# - /temperature/p1_vdd_temp
63# - name: zone0_dimms
64# description: Group of dimm temperature sensors for zone 0
65# type: /xyz/openbmc_project/sensors
66# members:
67# - /temperature/dimm0_temp
68# - /temperature/dimm1_temp
69# - /temperature/dimm2_temp
70# - /temperature/dimm3_temp
71# - /temperature/dimm4_temp
Matthew Barth9af190c2017-08-08 14:20:43 -050072#
73#preconditions:
74# - name: property_states_match
75# description: >
76# All defined properties must match the values given to
77# enable a set speed event otherwise fan speeds are set to full
78# parameters:
79# - groups
Matthew Barth94b20f72017-05-11 16:35:10 -050080#
81#actions:
82# - name: count_state_before_speed
83# description: Set the speed when a number of properties at a state
84# parameters:
85# - count
86# - property
87# - speed
Matthew Barthbe605c52017-06-29 15:12:08 -050088# - name: set_floor_from_average_sensor_value
89# description: Set floor speed from first entry with average less than key
90# parameters:
91# - map
Matthew Barthdd5cad62017-09-14 09:40:35 -050092# - name: set_ceiling_from_average_sensor_value
93# description: Set ceiling speed based on key transition values with average
94# parameters:
95# - map
96# - name: set_net_increase_speed
97# description: >
98# Set the speed increase delta based on the delta increase
99# size times the given value and property's value difference
100# parameters:
101# - property
102# - factor
103# - delta
104# - name: set_net_decrease_speed
105# description: >
106# Set the speed decrease delta based on the delta decrease
107# size times the given value and property's value difference
108# parameters:
109# - property
110# - factor
111# - delta
Matthew Barth94b20f72017-05-11 16:35:10 -0500112#
113#events:
114# - name: missing_before_high_speed
115# zone_conditions:
116# - name: air_cooled_chassis
117# zones:
118# - 0
119# group: zone0_fans
120# interface: xyz.openbmc_project.Inventory.Item
121# property:
122# name: Present
123# type: bool
Matthew Barthdd5cad62017-09-14 09:40:35 -0500124# actions:
125# - name: count_state_before_speed
126# count: 1
127# property: false
128# speed:
129# value: 10500
130# type: uint64_t
131# - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barthbe605c52017-06-29 15:12:08 -0500132# zone_conditions:
133# - name: air_cooled_chassis
134# zones:
135# - 0
136# group: zone0_ambient
137# interface: xyz.openbmc_project.Sensor.Value
138# property:
139# name: Value
140# type: int64_t
Matthew Barthdd5cad62017-09-14 09:40:35 -0500141# actions:
142# - name: set_floor_from_average_sensor_value
143# map:
144# value:
145# - 27000: 3500
146# - 32000: 4600
147# - 37000: 5200
148# - 40000: 5800
149# type: std::map<int64_t, uint64_t>
150# - name: set_ceiling_from_average_sensor_value
151# map:
152# value:
153# - 25000: 7200
154# - 27000: 10500
155# type: std::map<int64_t, uint64_t>
156# - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barthbe605c52017-06-29 15:12:08 -0500157# zone_conditions:
158# - name: water_and_air_cooled_chassis
159# zones:
160# - 0
161# group: zone0_ambient
162# interface: xyz.openbmc_project.Sensor.Value
163# property:
164# name: Value
165# type: int64_t
Matthew Barthdd5cad62017-09-14 09:40:35 -0500166# actions:
167# - name: set_floor_from_average_sensor_value
168# map:
169# value:
170# - 27000: 3000
171# - 32000: 4300
172# - 37000: 5000
173# - 40000: 5800
174# type: std::map<int64_t, uint64_t>
175# - name: set_ceiling_from_average_sensor_value
176# map:
177# value:
178# - 25000: 7200
179# - 27000: 10500
180# type: std::map<int64_t, uint64_t>
181# - name: speed_changes_based_on_regulator_temps
Matthew Barth9af190c2017-08-08 14:20:43 -0500182# zone_conditions:
183# - name: air_cooled_chassis
184# zones:
185# - 0
186# - name: water_and_air_cooled_chassis
187# zones:
188# - 0
Matthew Barthdd5cad62017-09-14 09:40:35 -0500189# group: zone0_regulators
190# interface: xyz.openbmc_project.Sensor.Value
191# property:
192# name: Value
193# type: int64_t
194# actions:
195# - name: set_net_increase_speed
196# property: 85000
197# factor:
198# value: 1000
199# type: int64_t
200# delta:
201# value: 400
202# type: uint64_t
203# - name: set_net_decrease_speed
204# property: 82000
205# factor:
206# value: 1000
207# type: int64_t
208# delta:
209# value: 40
210# type: uint64_t
211# timer:
212# interval: 5
213# - name: occ_active_speed_changes
Matthew Barth9af190c2017-08-08 14:20:43 -0500214# precondition:
215# name: property_states_match
216# groups:
217# - name: occ0_object
218# interface: org.open_power.OCC.Status
219# property:
220# name: OccActive
221# type: bool
222# value: true
Matthew Barthdd5cad62017-09-14 09:40:35 -0500223# - name: occ1_object
224# interface: org.open_power.OCC.Status
225# property:
226# name: OccActive
227# type: bool
228# value: true
229# events:
230# - name: speed_changes_based_on_dimm_temps
231# zone_conditions:
232# - name: air_cooled_chassis
233# zones:
234# - 0
235# - name: water_and_air_cooled_chassis
236# zones:
237# - 0
238# group: zone0_dimms
239# interface: xyz.openbmc_project.Sensor.Value
240# property:
241# name: Value
242# type: int64_t
243# actions:
244# - name: set_net_increase_speed
245# property: 64000
246# factor:
247# value: 1000
248# type: int64_t
249# delta:
250# value: 200
251# type: uint64_t
252# - name: set_net_decrease_speed
253# property: 61000
254# factor:
255# value: 1000
256# type: int64_t
257# delta:
258# value: 40
259# type: uint64_t
260# timer:
261# interval: 5