blob: 4bd5bfb51b1af9e47dc24e64e50efe93885132d4 [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 Barth67967f92017-09-22 12:43:57 -050010#matches:
11# - name: [The name associated with a supported match string function]
12# description: [A user description of what this match string represents]
13# parameters:
14# [List of required parameters for the match string function]
15# signal: [Signal function name used with this match string]
16#
17#signals:
18# - name: [The name associated with a supported signal function]
19# description: [A user description of what this signal does]
20# parameters:
21# [List of required parameters for the signal function]
22#
Matthew Barthe3bab012017-09-28 14:37:41 -050023#preconditions:
24# - name: [Name associated with a supported precondition]
25# description: [A user description of the precondition's use]
26# parameters:
27# [List of required parameters for the precondition function]
28#
Matthew Barth94b20f72017-05-11 16:35:10 -050029#actions:
30# - name: [The name associated with a supported action function]
31# description: [A user description of what this action does]
32# parameters:
33# [Ordered list of required parameters for the associated function]
34#
35#events:
36# - name: [A unique name for this event]
37# zone_conditions:
38# - name: [The name of the zone condition]
39# zones:
40# - [Zone number to include this set speed event with]
41# group: [A group name from the list of groups]
42# interface: [The Dbus interface on the group members' object path]
43# property: [The property name and type on the interface to be used]
44# action:
45# name: [Name of an action from the list of actions]
46# [List each required action parameter with a defined type and value
47# for this event. The 'property' parameter utilizes the same type
48# defined under the 'property' attribute.]
49
50#Example:
51#groups:
52# - name: zone0_fans
53# description: Group of fan inventory objects for zone 0
Matthew Barth9af190c2017-08-08 14:20:43 -050054# type: /xyz/openbmc_project/inventory
Matthew Barth94b20f72017-05-11 16:35:10 -050055# members:
56# - /system/chassis/motherboard/fan0
57# - /system/chassis/motherboard/fan1
58# - /system/chassis/motherboard/fan2
59# - /system/chassis/motherboard/fan3
Matthew Barthbe605c52017-06-29 15:12:08 -050060# - name: zone0_ambient
61# description: Group of ambient temperature sensors for zone 0
Matthew Barth9af190c2017-08-08 14:20:43 -050062# type: /xyz/openbmc_project/sensors
Matthew Barthbe605c52017-06-29 15:12:08 -050063# members:
64# - /temperature/ambient
Matthew Barth9af190c2017-08-08 14:20:43 -050065# - name: occ0_object
66# description: Dbus object containing OCC0 properties
67# type: /org/open_power/control
68# members:
69# - /occ0
Matthew Barthdd5cad62017-09-14 09:40:35 -050070# - name: zone0_regulators
71# description: Group of regulator temperature sensors for zone 0
72# type: /xyz/openbmc_project/sensors
73# members:
74# - /temperature/p0_vdd_temp
75# - /temperature/p1_vdd_temp
76# - name: zone0_dimms
77# description: Group of dimm temperature sensors for zone 0
78# type: /xyz/openbmc_project/sensors
79# members:
80# - /temperature/dimm0_temp
81# - /temperature/dimm1_temp
82# - /temperature/dimm2_temp
83# - /temperature/dimm3_temp
84# - /temperature/dimm4_temp
Matthew Barth9af190c2017-08-08 14:20:43 -050085#
Matthew Barth67967f92017-09-22 12:43:57 -050086#signals:
87# - name: propertiesChanged
88# description: >
89# A property changed signal
90# parameters:
91# - object
92# - interface
93# handler: propertySignal
94# - name: interfacesAdded
95# description: >
96# An interfaces added signal
97# parameters:
98# - object
99# handler: objectSignal
100#
101#handlers:
102# - name: propertySignal
103# description: >
104# Handle property signals
105# parameters:
106# - type
107# - object
108# - interface
109# - property
110# - name: objectSignal
111# description: >
112# Handle object signals
113# parameters:
114# - type
115# - object
116# - interface
117# - property
118#
Matthew Barth9af190c2017-08-08 14:20:43 -0500119#preconditions:
120# - name: property_states_match
121# description: >
122# All defined properties must match the values given to
123# enable a set speed event otherwise fan speeds are set to full
124# parameters:
125# - groups
Matthew Barth94b20f72017-05-11 16:35:10 -0500126#
127#actions:
128# - name: count_state_before_speed
129# description: Set the speed when a number of properties at a state
130# parameters:
131# - count
132# - property
133# - speed
Matthew Barthbe605c52017-06-29 15:12:08 -0500134# - name: set_floor_from_average_sensor_value
135# description: Set floor speed from first entry with average less than key
136# parameters:
137# - map
Matthew Barthdd5cad62017-09-14 09:40:35 -0500138# - name: set_ceiling_from_average_sensor_value
139# description: Set ceiling speed based on key transition values with average
140# parameters:
141# - map
142# - name: set_net_increase_speed
143# description: >
144# Set the speed increase delta based on the delta increase
145# size times the given value and property's value difference
146# parameters:
147# - property
148# - factor
149# - delta
150# - name: set_net_decrease_speed
151# description: >
152# Set the speed decrease delta based on the delta decrease
153# size times the given value and property's value difference
154# parameters:
155# - property
156# - factor
157# - delta
Matthew Barth94b20f72017-05-11 16:35:10 -0500158#
159#events:
160# - name: missing_before_high_speed
161# zone_conditions:
162# - name: air_cooled_chassis
163# zones:
164# - 0
165# group: zone0_fans
166# interface: xyz.openbmc_project.Inventory.Item
167# property:
168# name: Present
169# type: bool
Matthew Barth67967f92017-09-22 12:43:57 -0500170# signals:
171# - name: interfacesAdded
172# - name: propertiesChanged
Matthew Barthdd5cad62017-09-14 09:40:35 -0500173# actions:
174# - name: count_state_before_speed
175# count: 1
176# property: false
177# speed:
178# value: 10500
179# type: uint64_t
180# - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barthbe605c52017-06-29 15:12:08 -0500181# zone_conditions:
182# - name: air_cooled_chassis
183# zones:
184# - 0
185# group: zone0_ambient
186# interface: xyz.openbmc_project.Sensor.Value
187# property:
188# name: Value
189# type: int64_t
Matthew Barth67967f92017-09-22 12:43:57 -0500190# signals:
191# - name: propertiesChanged
Matthew Barthdd5cad62017-09-14 09:40:35 -0500192# actions:
193# - name: set_floor_from_average_sensor_value
194# map:
195# value:
196# - 27000: 3500
197# - 32000: 4600
198# - 37000: 5200
199# - 40000: 5800
200# type: std::map<int64_t, uint64_t>
201# - name: set_ceiling_from_average_sensor_value
202# map:
203# value:
204# - 25000: 7200
205# - 27000: 10500
206# type: std::map<int64_t, uint64_t>
207# - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barthbe605c52017-06-29 15:12:08 -0500208# zone_conditions:
209# - name: water_and_air_cooled_chassis
210# zones:
211# - 0
212# group: zone0_ambient
213# interface: xyz.openbmc_project.Sensor.Value
214# property:
215# name: Value
216# type: int64_t
Matthew Barth67967f92017-09-22 12:43:57 -0500217# signals:
218# - name: propertiesChanged
Matthew Barthdd5cad62017-09-14 09:40:35 -0500219# actions:
220# - name: set_floor_from_average_sensor_value
221# map:
222# value:
223# - 27000: 3000
224# - 32000: 4300
225# - 37000: 5000
226# - 40000: 5800
227# type: std::map<int64_t, uint64_t>
228# - name: set_ceiling_from_average_sensor_value
229# map:
230# value:
231# - 25000: 7200
232# - 27000: 10500
233# type: std::map<int64_t, uint64_t>
234# - name: speed_changes_based_on_regulator_temps
Matthew Barth9af190c2017-08-08 14:20:43 -0500235# zone_conditions:
236# - name: air_cooled_chassis
237# zones:
238# - 0
239# - name: water_and_air_cooled_chassis
240# zones:
241# - 0
Matthew Barthdd5cad62017-09-14 09:40:35 -0500242# group: zone0_regulators
243# interface: xyz.openbmc_project.Sensor.Value
244# property:
245# name: Value
246# type: int64_t
Matthew Barth67967f92017-09-22 12:43:57 -0500247# signals:
248# - name: propertiesChanged
Matthew Barthdd5cad62017-09-14 09:40:35 -0500249# actions:
250# - name: set_net_increase_speed
251# property: 85000
252# factor:
253# value: 1000
254# type: int64_t
255# delta:
256# value: 400
257# type: uint64_t
258# - name: set_net_decrease_speed
259# property: 82000
260# factor:
261# value: 1000
262# type: int64_t
263# delta:
264# value: 40
265# type: uint64_t
266# timer:
267# interval: 5
268# - name: occ_active_speed_changes
Matthew Barth9af190c2017-08-08 14:20:43 -0500269# precondition:
270# name: property_states_match
271# groups:
272# - name: occ0_object
273# interface: org.open_power.OCC.Status
274# property:
275# name: OccActive
276# type: bool
277# value: true
Matthew Barthdd5cad62017-09-14 09:40:35 -0500278# - name: occ1_object
279# interface: org.open_power.OCC.Status
280# property:
281# name: OccActive
282# type: bool
283# value: true
Matthew Barth67967f92017-09-22 12:43:57 -0500284# signals:
285# - name: interfacesAdded
286# - name: propertiesChanged
Matthew Barthdd5cad62017-09-14 09:40:35 -0500287# events:
288# - name: speed_changes_based_on_dimm_temps
289# zone_conditions:
290# - name: air_cooled_chassis
291# zones:
292# - 0
293# - name: water_and_air_cooled_chassis
294# zones:
295# - 0
296# group: zone0_dimms
297# interface: xyz.openbmc_project.Sensor.Value
298# property:
299# name: Value
300# type: int64_t
Matthew Barth67967f92017-09-22 12:43:57 -0500301# signals:
302# - name: interfacesAdded
303# - name: propertiesChanged
Matthew Barthdd5cad62017-09-14 09:40:35 -0500304# actions:
305# - name: set_net_increase_speed
306# property: 64000
307# factor:
308# value: 1000
309# type: int64_t
310# delta:
311# value: 200
312# type: uint64_t
313# - name: set_net_decrease_speed
314# property: 61000
315# factor:
316# value: 1000
317# type: int64_t
318# delta:
319# value: 40
320# type: uint64_t
321# timer:
322# interval: 5