blob: 2d214368597094bde381ac614e05ad42d871e8d4 [file] [log] [blame]
Chau Ly802d2d92022-11-16 04:14:09 +00001[
2 {
3 "name": "set_target_fan_not_present",
4 "groups": [
5 {
6 "name": "air_cooled_zone0_fans",
7 "interface": "xyz.openbmc_project.Inventory.Item",
8 "property": { "name": "Present" }
9 }
10 ],
11 "triggers": [
12 {
13 "class": "init",
14 "method": "get_properties"
15 },
16 {
17 "class": "signal",
18 "signal": "properties_changed"
19 }
20 ],
21 "actions": [
22 {
23 "name": "count_state_before_target",
24 "count": 1,
25 "state": false,
26 "target": 255
27 }
28 ]
29 },
30 {
31 // Hold fans at the given target when a number of rotors are nonfunctional.
32 "name": "set_target_fan_not_functional",
33 "groups": [
34 {
35 "name": "fan3",
36 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
37 "property": { "name": "Functional" }
38 },
39 {
40 "name": "fan4",
41 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
42 "property": { "name": "Functional" }
43 },
44 {
45 "name": "fan5",
46 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
47 "property": { "name": "Functional" }
48 },
49 {
50 "name": "fan6",
51 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
52 "property": { "name": "Functional" }
53 },
54 {
55 "name": "fan7",
56 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
57 "property": { "name": "Functional" }
58 },
59 {
60 "name": "fan8",
61 "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
62 "property": { "name": "Functional" }
63 }
64 ],
65 "triggers": [
66 {
67 "class": "init",
68 "method": "get_properties"
69 },
70 {
71 "class": "signal",
72 "signal": "properties_changed"
73 }
74 ],
75 "actions": [
76 {
77 "name": "count_state_before_target",
78 "count": 1,
79 "state": false,
80 "target": 255
81 }
82 ]
83 },
84 {
85 "name": "default_fan_floor_on_missing_service",
86 "groups": [
87 {
88 "name": "zone0_ambient",
89 "interface": "xyz.openbmc_project.Sensor.Value",
90 "property": { "name": "Value" }
91 }
92 ],
93 "triggers": [
94 {
95 "class": "init",
96 "method": "name_has_owner"
97 },
98 {
99 "class": "signal",
100 "signal": "name_owner_changed"
101 }
102 ],
103 "actions": [
104 {
105 "name": "call_actions_based_on_timer",
106 "timer": {
107 "interval": 5000000,
108 "type": "oneshot"
109 },
110 "actions": [
111 {
112 "name": "default_floor_on_missing_owner",
113 "groups": [
114 {
115 "name": "zone0_ambient",
116 "interface": "xyz.openbmc_project.Sensor.Value",
117 "property": { "name": "Value" }
118 }
119 ]
120 }
121 ]
122 }
123 ]
124 },
125 {
126 "name": "target_mapping_from_TS_temp",
127 "groups": [
128 {
129 "name": "zone0_ambient",
130 "interface": "xyz.openbmc_project.Sensor.Value",
131 "property": { "name": "Value" }
132 }
133 ],
134 "triggers": [
135 {
136 "class": "init",
137 "method": "get_properties"
138 },
139 {
140 "class": "signal",
141 "signal": "properties_changed"
142 },
143 {
144 "class": "timer",
145 "type": "repeating",
146 "interval": 5000000,
147 "preload_groups": true
148 }
149 ],
150 "actions": [
151 {
152 "name": "target_from_group_max",
153 "groups": [
154 {
155 "name": "zone0_ambient",
156 "interface": "xyz.openbmc_project.Sensor.Value",
157 "property": { "name": "Value" }
158 }
159 ],
160 "neg_hysteresis": 1,
161 "pos_hysteresis": 0,
162 "index": 0,
163 "map": [
164 { "value": 10.0, "target": 38.0 },
165 { "value": 18.0, "target": 38.0 },
166 { "value": 20.0, "target": 41.0 },
167 { "value": 21.0, "target": 43.0 },
168 { "value": 22.0, "target": 46.0 },
169 { "value": 24.0, "target": 48.0 },
170 { "value": 28.0, "target": 51.0 },
171 { "value": 32.0, "target": 56.0 },
172 { "value": 34.0, "target": 59.0 },
173 { "value": 36.0, "target": 61.0 },
174 { "value": 40.0, "target": 64.0 },
175 { "value": 41.0, "target": 66.0 },
176 { "value": 42.0, "target": 69.0 },
177 { "value": 43.0, "target": 71.0 },
178 { "value": 44.0, "target": 74.0 },
179 { "value": 45.0, "target": 77.0 },
180 { "value": 46.0, "target": 79.0 },
181 { "value": 47.0, "target": 82.0 },
182 { "value": 48.0, "target": 84.0 },
183 { "value": 49.0, "target": 87.0 },
184 { "value": 50.0, "target": 89.0 }
185 ]
186 }
187 ]
188 },
189 {
190 "name": "target_mapping_from_OCP_temp",
191 "groups": [
192 {
193 "name": "zone0_ocp",
194 "interface": "xyz.openbmc_project.Sensor.Value",
195 "property": { "name": "Value" }
196 }
197 ],
198 "triggers": [
199 {
200 "class": "init",
201 "method": "get_properties"
202 },
203 {
204 "class": "signal",
205 "signal": "properties_changed"
206 },
207 {
208 "class": "timer",
209 "type": "repeating",
210 "interval": 5000000,
211 "preload_groups": true
212 }
213 ],
214 "actions": [
215 {
216 "name": "target_from_group_max",
217 "groups": [
218 {
219 "name": "zone0_ocp",
220 "interface": "xyz.openbmc_project.Sensor.Value",
221 "property": { "name": "Value" }
222 }
223 ],
224 "neg_hysteresis": 2,
225 "pos_hysteresis": 2,
226 "index": 3,
227 "map": [
228 { "value": 10.0, "target": 38.0 },
229 { "value": 65.0, "target": 38.0 },
230 { "value": 66.0, "target": 43.0 },
231 { "value": 67.0, "target": 51.0 },
232 { "value": 68.0, "target": 54.0 },
233 { "value": 69.0, "target": 56.0 },
234 { "value": 70.0, "target": 61.0 },
235 { "value": 71.0, "target": 66.0 },
236 { "value": 72.0, "target": 71.0 },
237 { "value": 73.0, "target": 77.0 },
238 { "value": 74.0, "target": 82.0 },
239 { "value": 75.0, "target": 87.0 },
240 { "value": 76.0, "target": 92.0 },
241 { "value": 77.0, "target": 97.0 },
242 { "value": 78.0, "target": 102.0 },
243 { "value": 79.0, "target": 107.0 },
244 { "value": 80.0, "target": 112.0 },
245 { "value": 81.0, "target": 122.0 },
246 { "value": 82.0, "target": 128.0 },
247 { "value": 83.0, "target": 133.0 },
248 { "value": 84.0, "target": 140.0 },
249 { "value": 85.0, "target": 148.0 },
250 { "value": 86.0, "target": 156.0 },
251 { "value": 87.0, "target": 163.0 },
252 { "value": 88.0, "target": 171.0 },
253 { "value": 89.0, "target": 179.0 },
254 { "value": 90.0, "target": 186.0 },
255 { "value": 91.0, "target": 194.0 },
256 { "value": 92.0, "target": 201.0 },
257 { "value": 93.0, "target": 209.0 },
258 { "value": 94.0, "target": 217.0 },
259 { "value": 95.0, "target": 224.0 },
260 { "value": 96.0, "target": 232.0 },
261 { "value": 97.0, "target": 240.0 },
262 { "value": 98.0, "target": 247.0 },
263 { "value": 99.0, "target": 255.0 }
264 ]
265 }
266 ]
267 },
268 {
269 "name": "target_mapping_from_BP_NVME_temp",
270 "groups": [
271 {
272 "name": "zone0_bp_nvme",
273 "interface": "xyz.openbmc_project.Sensor.Value",
274 "property": { "name": "Value" }
275 }
276 ],
277 "triggers": [
278 {
279 "class": "init",
280 "method": "get_properties"
281 },
282 {
283 "class": "signal",
284 "signal": "properties_changed"
285 },
286 {
287 "class": "timer",
288 "type": "repeating",
289 "interval": 5000000,
290 "preload_groups": true
291 }
292 ],
293 "actions": [
294 {
295 "name": "target_from_group_max",
296 "groups": [
297 {
298 "name": "zone0_bp_nvme",
299 "interface": "xyz.openbmc_project.Sensor.Value",
300 "property": { "name": "Value" }
301 }
302 ],
303 "neg_hysteresis": 2,
304 "pos_hysteresis": 0,
305 "index": 4,
306 "map": [
307 { "value": 10.0, "target": 38.0 },
308 { "value": 35.0, "target": 38.0 },
309 { "value": 36.0, "target": 43.0 },
310 { "value": 37.0, "target": 48.0 },
311 { "value": 38.0, "target": 54.0 },
312 { "value": 39.0, "target": 59.0 },
313 { "value": 40.0, "target": 64.0 },
314 { "value": 41.0, "target": 66.0 },
315 { "value": 42.0, "target": 69.0 },
316 { "value": 43.0, "target": 71.0 },
317 { "value": 44.0, "target": 74.0 },
318 { "value": 45.0, "target": 77.0 },
319 { "value": 46.0, "target": 79.0 },
320 { "value": 47.0, "target": 82.0 },
321 { "value": 48.0, "target": 84.0 },
322 { "value": 49.0, "target": 87.0 },
323 { "value": 50.0, "target": 89.0 },
324 { "value": 51.0, "target": 99.0 },
325 { "value": 52.0, "target": 99.0 },
326 { "value": 53.0, "target": 105.0 },
327 { "value": 54.0, "target": 110.0 },
328 { "value": 55.0, "target": 115.0 },
329 { "value": 56.0, "target": 120.0 },
330 { "value": 57.0, "target": 125.0 },
331 { "value": 58.0, "target": 130.0 },
332 { "value": 59.0, "target": 135.0 },
333 { "value": 60.0, "target": 140.0 },
334 { "value": 61.0, "target": 150.0 },
335 { "value": 62.0, "target": 161.0 },
336 { "value": 63.0, "target": 171.0 },
337 { "value": 64.0, "target": 181.0 },
338 { "value": 65.0, "target": 191.0 },
339 { "value": 66.0, "target": 204.0 },
340 { "value": 67.0, "target": 217.0 },
341 { "value": 68.0, "target": 230.0 },
342 { "value": 69.0, "target": 255.0 }
343 ]
344 }
345 ]
346 },
347 {
348 "name": "target_mapping_from_M2_NVME_temp",
349 "groups": [
350 {
351 "name": "zone0_m2_nvme",
352 "interface": "xyz.openbmc_project.Sensor.Value",
353 "property": { "name": "Value" }
354 }
355 ],
356 "triggers": [
357 {
358 "class": "init",
359 "method": "get_properties"
360 },
361 {
362 "class": "signal",
363 "signal": "properties_changed"
364 },
365 {
366 "class": "timer",
367 "type": "repeating",
368 "interval": 5000000,
369 "preload_groups": true
370 }
371 ],
372 "actions": [
373 {
374 "name": "target_from_group_max",
375 "groups": [
376 {
377 "name": "zone0_m2_nvme",
378 "interface": "xyz.openbmc_project.Sensor.Value",
379 "property": { "name": "Value" }
380 }
381 ],
382 "neg_hysteresis": 2,
383 "pos_hysteresis": 0,
384 "index": 5,
385 "map": [
386 { "value": 10.0, "target": 38.0 },
387 { "value": 61.0, "target": 38.0 },
388 { "value": 68.0, "target": 38.0 },
389 { "value": 69.0, "target": 204.0 }
390 ]
391 }
392 ]
393 }
394]