1*3420426cSMatt Spinler[
2*3420426cSMatt Spinler    {
3*3420426cSMatt Spinler        // Hold fans at the given target when a number of fans are missing.
4*3420426cSMatt Spinler        "name": "fan(s) missing",
5*3420426cSMatt Spinler        "groups": [
6*3420426cSMatt Spinler            {
7*3420426cSMatt Spinler                "name": "fan inventory",
8*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item",
9*3420426cSMatt Spinler                "property": { "name": "Present" }
10*3420426cSMatt Spinler            }
11*3420426cSMatt Spinler        ],
12*3420426cSMatt Spinler        "triggers": [
13*3420426cSMatt Spinler            {
14*3420426cSMatt Spinler                "class": "init",
15*3420426cSMatt Spinler                "method": "get_properties"
16*3420426cSMatt Spinler            },
17*3420426cSMatt Spinler            {
18*3420426cSMatt Spinler                "class": "signal",
19*3420426cSMatt Spinler                "signal": "properties_changed"
20*3420426cSMatt Spinler            }
21*3420426cSMatt Spinler        ],
22*3420426cSMatt Spinler        "actions": [
23*3420426cSMatt Spinler            {
24*3420426cSMatt Spinler                "name": "count_state_before_target",
25*3420426cSMatt Spinler                "count": 1,
26*3420426cSMatt Spinler                "state": false,
27*3420426cSMatt Spinler                "target": 11300
28*3420426cSMatt Spinler            }
29*3420426cSMatt Spinler        ]
30*3420426cSMatt Spinler    },
31*3420426cSMatt Spinler    {
32*3420426cSMatt Spinler        // Hold fans at the given target when a number of rotors are nonfunctional.
33*3420426cSMatt Spinler        "name": "fan rotor(s) faulted",
34*3420426cSMatt Spinler        "groups": [
35*3420426cSMatt Spinler            {
36*3420426cSMatt Spinler                "name": "fan0 rotor inventory",
37*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
38*3420426cSMatt Spinler                "property": { "name": "Functional" }
39*3420426cSMatt Spinler            },
40*3420426cSMatt Spinler            {
41*3420426cSMatt Spinler                "name": "fan1 rotor inventory",
42*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
43*3420426cSMatt Spinler                "property": { "name": "Functional" }
44*3420426cSMatt Spinler            },
45*3420426cSMatt Spinler            {
46*3420426cSMatt Spinler                "name": "fan2 rotor inventory",
47*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
48*3420426cSMatt Spinler                "property": { "name": "Functional" }
49*3420426cSMatt Spinler            },
50*3420426cSMatt Spinler            {
51*3420426cSMatt Spinler                "name": "fan3 rotor inventory",
52*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
53*3420426cSMatt Spinler                "property": { "name": "Functional" }
54*3420426cSMatt Spinler            }
55*3420426cSMatt Spinler        ],
56*3420426cSMatt Spinler        "triggers": [
57*3420426cSMatt Spinler            {
58*3420426cSMatt Spinler                "class": "init",
59*3420426cSMatt Spinler                "method": "get_properties"
60*3420426cSMatt Spinler            },
61*3420426cSMatt Spinler            {
62*3420426cSMatt Spinler                "class": "signal",
63*3420426cSMatt Spinler                "signal": "properties_changed"
64*3420426cSMatt Spinler            }
65*3420426cSMatt Spinler        ],
66*3420426cSMatt Spinler        "actions": [
67*3420426cSMatt Spinler            {
68*3420426cSMatt Spinler                "name": "count_state_before_target",
69*3420426cSMatt Spinler                "count": 2,
70*3420426cSMatt Spinler                "state": false,
71*3420426cSMatt Spinler                "target": 11300
72*3420426cSMatt Spinler            }
73*3420426cSMatt Spinler        ]
74*3420426cSMatt Spinler    },
75*3420426cSMatt Spinler    {
76*3420426cSMatt Spinler        // (for the following 4 rules)
77*3420426cSMatt Spinler        // if a dual-rotor fan becomes non-functional, lock its speed to
78*3420426cSMatt Spinler        // poweron_target to lock the other rotor to full_speed
79*3420426cSMatt Spinler        "name": "nonfunc rotor override-0",
80*3420426cSMatt Spinler        "groups": [
81*3420426cSMatt Spinler            {
82*3420426cSMatt Spinler                "name": "fan0 rotor inventory",
83*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
84*3420426cSMatt Spinler                "property": { "name": "Functional" }
85*3420426cSMatt Spinler            }
86*3420426cSMatt Spinler        ],
87*3420426cSMatt Spinler        "triggers": [
88*3420426cSMatt Spinler            {
89*3420426cSMatt Spinler                "class": "init",
90*3420426cSMatt Spinler                "method": "get_properties"
91*3420426cSMatt Spinler            },
92*3420426cSMatt Spinler            {
93*3420426cSMatt Spinler                "class": "signal",
94*3420426cSMatt Spinler                "signal": "properties_changed"
95*3420426cSMatt Spinler            }
96*3420426cSMatt Spinler        ],
97*3420426cSMatt Spinler        "actions": [
98*3420426cSMatt Spinler            {
99*3420426cSMatt Spinler                "name": "override_fan_target",
100*3420426cSMatt Spinler                "count": 1,
101*3420426cSMatt Spinler                "state": false,
102*3420426cSMatt Spinler                "fans": ["fan0"],
103*3420426cSMatt Spinler                "target": 11300
104*3420426cSMatt Spinler            }
105*3420426cSMatt Spinler        ]
106*3420426cSMatt Spinler    },
107*3420426cSMatt Spinler    {
108*3420426cSMatt Spinler        "name": "nonfunc rotor override-1",
109*3420426cSMatt Spinler        "groups": [
110*3420426cSMatt Spinler            {
111*3420426cSMatt Spinler                "name": "fan1 rotor inventory",
112*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
113*3420426cSMatt Spinler                "property": { "name": "Functional" }
114*3420426cSMatt Spinler            }
115*3420426cSMatt Spinler        ],
116*3420426cSMatt Spinler        "triggers": [
117*3420426cSMatt Spinler            {
118*3420426cSMatt Spinler                "class": "init",
119*3420426cSMatt Spinler                "method": "get_properties"
120*3420426cSMatt Spinler            },
121*3420426cSMatt Spinler            {
122*3420426cSMatt Spinler                "class": "signal",
123*3420426cSMatt Spinler                "signal": "properties_changed"
124*3420426cSMatt Spinler            }
125*3420426cSMatt Spinler        ],
126*3420426cSMatt Spinler        "actions": [
127*3420426cSMatt Spinler            {
128*3420426cSMatt Spinler                "name": "override_fan_target",
129*3420426cSMatt Spinler                "count": 1,
130*3420426cSMatt Spinler                "state": false,
131*3420426cSMatt Spinler                "fans": ["fan1"],
132*3420426cSMatt Spinler                "target": 11300
133*3420426cSMatt Spinler            }
134*3420426cSMatt Spinler        ]
135*3420426cSMatt Spinler    },
136*3420426cSMatt Spinler    {
137*3420426cSMatt Spinler        "name": "nonfunc rotor override-2",
138*3420426cSMatt Spinler        "groups": [
139*3420426cSMatt Spinler            {
140*3420426cSMatt Spinler                "name": "fan2 rotor inventory",
141*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
142*3420426cSMatt Spinler                "property": { "name": "Functional" }
143*3420426cSMatt Spinler            }
144*3420426cSMatt Spinler        ],
145*3420426cSMatt Spinler        "triggers": [
146*3420426cSMatt Spinler            {
147*3420426cSMatt Spinler                "class": "init",
148*3420426cSMatt Spinler                "method": "get_properties"
149*3420426cSMatt Spinler            },
150*3420426cSMatt Spinler            {
151*3420426cSMatt Spinler                "class": "signal",
152*3420426cSMatt Spinler                "signal": "properties_changed"
153*3420426cSMatt Spinler            }
154*3420426cSMatt Spinler        ],
155*3420426cSMatt Spinler        "actions": [
156*3420426cSMatt Spinler            {
157*3420426cSMatt Spinler                "name": "override_fan_target",
158*3420426cSMatt Spinler                "count": 1,
159*3420426cSMatt Spinler                "state": false,
160*3420426cSMatt Spinler                "fans": ["fan2"],
161*3420426cSMatt Spinler                "target": 11300
162*3420426cSMatt Spinler            }
163*3420426cSMatt Spinler        ]
164*3420426cSMatt Spinler    },
165*3420426cSMatt Spinler    {
166*3420426cSMatt Spinler        "name": "nonfunc rotor override-3",
167*3420426cSMatt Spinler        "groups": [
168*3420426cSMatt Spinler            {
169*3420426cSMatt Spinler                "name": "fan3 rotor inventory",
170*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
171*3420426cSMatt Spinler                "property": { "name": "Functional" }
172*3420426cSMatt Spinler            }
173*3420426cSMatt Spinler        ],
174*3420426cSMatt Spinler        "triggers": [
175*3420426cSMatt Spinler            {
176*3420426cSMatt Spinler                "class": "init",
177*3420426cSMatt Spinler                "method": "get_properties"
178*3420426cSMatt Spinler            },
179*3420426cSMatt Spinler            {
180*3420426cSMatt Spinler                "class": "signal",
181*3420426cSMatt Spinler                "signal": "properties_changed"
182*3420426cSMatt Spinler            }
183*3420426cSMatt Spinler        ],
184*3420426cSMatt Spinler        "actions": [
185*3420426cSMatt Spinler            {
186*3420426cSMatt Spinler                "name": "override_fan_target",
187*3420426cSMatt Spinler                "count": 1,
188*3420426cSMatt Spinler                "state": false,
189*3420426cSMatt Spinler                "fans": ["fan3"],
190*3420426cSMatt Spinler                "target": 11300
191*3420426cSMatt Spinler            }
192*3420426cSMatt Spinler        ]
193*3420426cSMatt Spinler    },
194*3420426cSMatt Spinler    {
195*3420426cSMatt Spinler        // Hold fans at the given target when any critical service
196*3420426cSMatt Spinler        // is not running for 5 seconds.
197*3420426cSMatt Spinler        "name": "service(s) missing",
198*3420426cSMatt Spinler        "groups": [
199*3420426cSMatt Spinler            {
200*3420426cSMatt Spinler                "name": "fan inventory",
201*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item",
202*3420426cSMatt Spinler                "property": { "name": "Present" }
203*3420426cSMatt Spinler            },
204*3420426cSMatt Spinler            {
205*3420426cSMatt Spinler                "name": "occ objects",
206*3420426cSMatt Spinler                "interface": "org.open_power.OCC.Status",
207*3420426cSMatt Spinler                "property": { "name": "OccActive" }
208*3420426cSMatt Spinler            },
209*3420426cSMatt Spinler            {
210*3420426cSMatt Spinler                "name": "nvme temps",
211*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
212*3420426cSMatt Spinler                "property": { "name": "Value" }
213*3420426cSMatt Spinler            },
214*3420426cSMatt Spinler            {
215*3420426cSMatt Spinler                "name": "planar temps",
216*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
217*3420426cSMatt Spinler                "property": { "name": "Value" }
218*3420426cSMatt Spinler            },
219*3420426cSMatt Spinler            {
220*3420426cSMatt Spinler                "name": "pcie cable card temps",
221*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
222*3420426cSMatt Spinler                "property": { "name": "Value" }
223*3420426cSMatt Spinler            },
224*3420426cSMatt Spinler            {
225*3420426cSMatt Spinler                "name": "ambient temp",
226*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
227*3420426cSMatt Spinler                "property": { "name": "Value" }
228*3420426cSMatt Spinler            },
229*3420426cSMatt Spinler            {
230*3420426cSMatt Spinler                "name": "altitude",
231*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
232*3420426cSMatt Spinler                "property": { "name": "Value" }
233*3420426cSMatt Spinler            }
234*3420426cSMatt Spinler        ],
235*3420426cSMatt Spinler        "triggers": [
236*3420426cSMatt Spinler            {
237*3420426cSMatt Spinler                "class": "init",
238*3420426cSMatt Spinler                "method": "name_has_owner"
239*3420426cSMatt Spinler            },
240*3420426cSMatt Spinler            {
241*3420426cSMatt Spinler                "class": "signal",
242*3420426cSMatt Spinler                "signal": "name_owner_changed"
243*3420426cSMatt Spinler            }
244*3420426cSMatt Spinler        ],
245*3420426cSMatt Spinler        "actions": [
246*3420426cSMatt Spinler            {
247*3420426cSMatt Spinler                "name": "call_actions_based_on_timer",
248*3420426cSMatt Spinler                "timer": {
249*3420426cSMatt Spinler                    "interval": 5000000,
250*3420426cSMatt Spinler                    "type": "oneshot"
251*3420426cSMatt Spinler                },
252*3420426cSMatt Spinler                "actions": [
253*3420426cSMatt Spinler                    {
254*3420426cSMatt Spinler                        "name": "set_target_on_missing_owner",
255*3420426cSMatt Spinler                        "groups": [
256*3420426cSMatt Spinler                            {
257*3420426cSMatt Spinler                                "name": "fan inventory",
258*3420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Inventory.Item",
259*3420426cSMatt Spinler                                "property": { "name": "Present" }
260*3420426cSMatt Spinler                            },
261*3420426cSMatt Spinler                            {
262*3420426cSMatt Spinler                                "name": "occ objects",
263*3420426cSMatt Spinler                                "interface": "org.open_power.OCC.Status",
264*3420426cSMatt Spinler                                "property": { "name": "OccActive" }
265*3420426cSMatt Spinler                            },
266*3420426cSMatt Spinler                            {
267*3420426cSMatt Spinler                                "name": "nvme temps",
268*3420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
269*3420426cSMatt Spinler                                "property": { "name": "Value" }
270*3420426cSMatt Spinler                            },
271*3420426cSMatt Spinler                            {
272*3420426cSMatt Spinler                                "name": "planar temps",
273*3420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
274*3420426cSMatt Spinler                                "property": { "name": "Value" }
275*3420426cSMatt Spinler                            },
276*3420426cSMatt Spinler                            {
277*3420426cSMatt Spinler                                "name": "pcie cable card temps",
278*3420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
279*3420426cSMatt Spinler                                "property": { "name": "Value" }
280*3420426cSMatt Spinler                            },
281*3420426cSMatt Spinler                            {
282*3420426cSMatt Spinler                                "name": "ambient temp",
283*3420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
284*3420426cSMatt Spinler                                "property": { "name": "Value" }
285*3420426cSMatt Spinler                            }
286*3420426cSMatt Spinler                        ],
287*3420426cSMatt Spinler                        "target": 9700
288*3420426cSMatt Spinler                    }
289*3420426cSMatt Spinler                ]
290*3420426cSMatt Spinler            }
291*3420426cSMatt Spinler        ]
292*3420426cSMatt Spinler    },
293*3420426cSMatt Spinler    {
294*3420426cSMatt Spinler        // Set a fan floor if an OCC isn't active
295*3420426cSMatt Spinler        "name": "Non-active OCC(s)",
296*3420426cSMatt Spinler        "groups": [
297*3420426cSMatt Spinler            {
298*3420426cSMatt Spinler                "name": "occ objects",
299*3420426cSMatt Spinler                "interface": "org.open_power.OCC.Status",
300*3420426cSMatt Spinler                "property": {
301*3420426cSMatt Spinler                    "name": "OccActive"
302*3420426cSMatt Spinler                }
303*3420426cSMatt Spinler            }
304*3420426cSMatt Spinler        ],
305*3420426cSMatt Spinler        "triggers": [
306*3420426cSMatt Spinler            {
307*3420426cSMatt Spinler                "class": "signal",
308*3420426cSMatt Spinler                "signal": "properties_changed"
309*3420426cSMatt Spinler            },
310*3420426cSMatt Spinler            {
311*3420426cSMatt Spinler                "class": "signal",
312*3420426cSMatt Spinler                "signal": "interfaces_added"
313*3420426cSMatt Spinler            },
314*3420426cSMatt Spinler            {
315*3420426cSMatt Spinler                "class": "init",
316*3420426cSMatt Spinler                "method": "get_properties"
317*3420426cSMatt Spinler            }
318*3420426cSMatt Spinler        ],
319*3420426cSMatt Spinler        "actions": [
320*3420426cSMatt Spinler            {
321*3420426cSMatt Spinler                "name": "count_state_floor",
322*3420426cSMatt Spinler                "count": 1,
323*3420426cSMatt Spinler                "state": false,
324*3420426cSMatt Spinler                "floor": 11300
325*3420426cSMatt Spinler            }
326*3420426cSMatt Spinler        ]
327*3420426cSMatt Spinler    },
328*3420426cSMatt Spinler    {
329*3420426cSMatt Spinler        // Set a raised fan floor when any temperature or altitude sensor is
330*3420426cSMatt Spinler        // nonfunctional
331*3420426cSMatt Spinler        "name": "Nonfunctional temperature sensors",
332*3420426cSMatt Spinler        "groups": [
333*3420426cSMatt Spinler            {
334*3420426cSMatt Spinler                "name": "proc0 core temps",
335*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
336*3420426cSMatt Spinler                "property": { "name": "Functional" }
337*3420426cSMatt Spinler            },
338*3420426cSMatt Spinler            {
339*3420426cSMatt Spinler                "name": "proc1 core temps",
340*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
341*3420426cSMatt Spinler                "property": { "name": "Functional" }
342*3420426cSMatt Spinler            },
343*3420426cSMatt Spinler            {
344*3420426cSMatt Spinler                "name": "proc2 core temps",
345*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
346*3420426cSMatt Spinler                "property": { "name": "Functional" }
347*3420426cSMatt Spinler            },
348*3420426cSMatt Spinler            {
349*3420426cSMatt Spinler                "name": "proc3 core temps",
350*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
351*3420426cSMatt Spinler                "property": { "name": "Functional" }
352*3420426cSMatt Spinler            },
353*3420426cSMatt Spinler            {
354*3420426cSMatt Spinler                "name": "proc4 core temps",
355*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
356*3420426cSMatt Spinler                "property": { "name": "Functional" }
357*3420426cSMatt Spinler            },
358*3420426cSMatt Spinler            {
359*3420426cSMatt Spinler                "name": "proc5 core temps",
360*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
361*3420426cSMatt Spinler                "property": { "name": "Functional" }
362*3420426cSMatt Spinler            },
363*3420426cSMatt Spinler            {
364*3420426cSMatt Spinler                "name": "proc6 core temps",
365*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
366*3420426cSMatt Spinler                "property": { "name": "Functional" }
367*3420426cSMatt Spinler            },
368*3420426cSMatt Spinler            {
369*3420426cSMatt Spinler                "name": "proc7 core temps",
370*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
371*3420426cSMatt Spinler                "property": { "name": "Functional" }
372*3420426cSMatt Spinler            },
373*3420426cSMatt Spinler            {
374*3420426cSMatt Spinler                "name": "proc0 ioring temp",
375*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
376*3420426cSMatt Spinler                "property": { "name": "Functional" }
377*3420426cSMatt Spinler            },
378*3420426cSMatt Spinler            {
379*3420426cSMatt Spinler                "name": "proc1 ioring temp",
380*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
381*3420426cSMatt Spinler                "property": { "name": "Functional" }
382*3420426cSMatt Spinler            },
383*3420426cSMatt Spinler            {
384*3420426cSMatt Spinler                "name": "proc2 ioring temp",
385*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
386*3420426cSMatt Spinler                "property": { "name": "Functional" }
387*3420426cSMatt Spinler            },
388*3420426cSMatt Spinler            {
389*3420426cSMatt Spinler                "name": "proc3 ioring temp",
390*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
391*3420426cSMatt Spinler                "property": { "name": "Functional" }
392*3420426cSMatt Spinler            },
393*3420426cSMatt Spinler            {
394*3420426cSMatt Spinler                "name": "proc4 ioring temp",
395*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
396*3420426cSMatt Spinler                "property": { "name": "Functional" }
397*3420426cSMatt Spinler            },
398*3420426cSMatt Spinler            {
399*3420426cSMatt Spinler                "name": "proc5 ioring temp",
400*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
401*3420426cSMatt Spinler                "property": { "name": "Functional" }
402*3420426cSMatt Spinler            },
403*3420426cSMatt Spinler            {
404*3420426cSMatt Spinler                "name": "proc6 ioring temp",
405*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
406*3420426cSMatt Spinler                "property": { "name": "Functional" }
407*3420426cSMatt Spinler            },
408*3420426cSMatt Spinler            {
409*3420426cSMatt Spinler                "name": "proc7 ioring temp",
410*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
411*3420426cSMatt Spinler                "property": { "name": "Functional" }
412*3420426cSMatt Spinler            },
413*3420426cSMatt Spinler            {
414*3420426cSMatt Spinler                "name": "dram temps",
415*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
416*3420426cSMatt Spinler                "property": { "name": "Functional" }
417*3420426cSMatt Spinler            },
418*3420426cSMatt Spinler            {
419*3420426cSMatt Spinler                "name": "pmic temps",
420*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
421*3420426cSMatt Spinler                "property": { "name": "Functional" }
422*3420426cSMatt Spinler            },
423*3420426cSMatt Spinler            {
424*3420426cSMatt Spinler                "name": "internal memory buffer temps",
425*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
426*3420426cSMatt Spinler                "property": { "name": "Functional" }
427*3420426cSMatt Spinler            },
428*3420426cSMatt Spinler            {
429*3420426cSMatt Spinler                "name": "dram and external memory buffer temps",
430*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
431*3420426cSMatt Spinler                "property": { "name": "Functional" }
432*3420426cSMatt Spinler            },
433*3420426cSMatt Spinler            {
434*3420426cSMatt Spinler                "name": "external memory buffer temps",
435*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
436*3420426cSMatt Spinler                "property": { "name": "Functional" }
437*3420426cSMatt Spinler            },
438*3420426cSMatt Spinler            {
439*3420426cSMatt Spinler                "name": "vdd vrm temps",
440*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
441*3420426cSMatt Spinler                "property": { "name": "Functional" }
442*3420426cSMatt Spinler            },
443*3420426cSMatt Spinler            {
444*3420426cSMatt Spinler                "name": "nvme temps",
445*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
446*3420426cSMatt Spinler                "property": { "name": "Functional" }
447*3420426cSMatt Spinler            },
448*3420426cSMatt Spinler            {
449*3420426cSMatt Spinler                "name": "planar temps",
450*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
451*3420426cSMatt Spinler                "property": { "name": "Functional" }
452*3420426cSMatt Spinler            },
453*3420426cSMatt Spinler            {
454*3420426cSMatt Spinler                "name": "pcie cable card temps",
455*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
456*3420426cSMatt Spinler                "property": { "name": "Functional" }
457*3420426cSMatt Spinler            },
458*3420426cSMatt Spinler            {
459*3420426cSMatt Spinler                "name": "ambient temp",
460*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
461*3420426cSMatt Spinler                "property": { "name": "Functional" }
462*3420426cSMatt Spinler            },
463*3420426cSMatt Spinler            {
464*3420426cSMatt Spinler                "name": "altitude",
465*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
466*3420426cSMatt Spinler                "property": { "name": "Functional" }
467*3420426cSMatt Spinler            }
468*3420426cSMatt Spinler        ],
469*3420426cSMatt Spinler        "triggers": [
470*3420426cSMatt Spinler            {
471*3420426cSMatt Spinler                "class": "signal",
472*3420426cSMatt Spinler                "signal": "properties_changed"
473*3420426cSMatt Spinler            },
474*3420426cSMatt Spinler            {
475*3420426cSMatt Spinler                "class": "signal",
476*3420426cSMatt Spinler                "signal": "interfaces_added"
477*3420426cSMatt Spinler            },
478*3420426cSMatt Spinler            {
479*3420426cSMatt Spinler                "class": "signal",
480*3420426cSMatt Spinler                "signal": "interfaces_removed"
481*3420426cSMatt Spinler            },
482*3420426cSMatt Spinler            {
483*3420426cSMatt Spinler                "class": "init",
484*3420426cSMatt Spinler                "method": "get_properties"
485*3420426cSMatt Spinler            }
486*3420426cSMatt Spinler        ],
487*3420426cSMatt Spinler        "actions": [
488*3420426cSMatt Spinler            {
489*3420426cSMatt Spinler                "name": "count_state_floor",
490*3420426cSMatt Spinler                "count": 1,
491*3420426cSMatt Spinler                "state": false,
492*3420426cSMatt Spinler                "floor": 11300
493*3420426cSMatt Spinler            }
494*3420426cSMatt Spinler        ]
495*3420426cSMatt Spinler    },
496*3420426cSMatt Spinler    {
497*3420426cSMatt Spinler        "name": "Set Proc 0 Core DVFS parameter",
498*3420426cSMatt Spinler        "groups": [
499*3420426cSMatt Spinler            {
500*3420426cSMatt Spinler                "name": "proc 0 core dvfs temp",
501*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
502*3420426cSMatt Spinler                "property": { "name": "Value" }
503*3420426cSMatt Spinler            }
504*3420426cSMatt Spinler        ],
505*3420426cSMatt Spinler        "triggers": [
506*3420426cSMatt Spinler            {
507*3420426cSMatt Spinler                "class": "init",
508*3420426cSMatt Spinler                "method": "get_properties"
509*3420426cSMatt Spinler            },
510*3420426cSMatt Spinler            {
511*3420426cSMatt Spinler                "class": "signal",
512*3420426cSMatt Spinler                "signal": "interfaces_added"
513*3420426cSMatt Spinler            },
514*3420426cSMatt Spinler            {
515*3420426cSMatt Spinler                "class": "signal",
516*3420426cSMatt Spinler                "signal": "properties_changed"
517*3420426cSMatt Spinler            }
518*3420426cSMatt Spinler        ],
519*3420426cSMatt Spinler        "actions": [
520*3420426cSMatt Spinler            {
521*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
522*3420426cSMatt Spinler                "parameter_name": "proc_0_core_dvfs_increase_temp",
523*3420426cSMatt Spinler                "modifier": {
524*3420426cSMatt Spinler                    "operator": "minus",
525*3420426cSMatt Spinler                    "value": 7
526*3420426cSMatt Spinler                }
527*3420426cSMatt Spinler            },
528*3420426cSMatt Spinler            {
529*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
530*3420426cSMatt Spinler                "parameter_name": "proc_0_core_dvfs_decrease_temp",
531*3420426cSMatt Spinler                "modifier": {
532*3420426cSMatt Spinler                    "operator": "minus",
533*3420426cSMatt Spinler                    "value": 9
534*3420426cSMatt Spinler                }
535*3420426cSMatt Spinler            }
536*3420426cSMatt Spinler        ]
537*3420426cSMatt Spinler    },
538*3420426cSMatt Spinler    {
539*3420426cSMatt Spinler        "name": "Set Proc 1 Core DVFS parameter",
540*3420426cSMatt Spinler        "groups": [
541*3420426cSMatt Spinler            {
542*3420426cSMatt Spinler                "name": "proc 1 core dvfs temp",
543*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
544*3420426cSMatt Spinler                "property": { "name": "Value" }
545*3420426cSMatt Spinler            }
546*3420426cSMatt Spinler        ],
547*3420426cSMatt Spinler        "triggers": [
548*3420426cSMatt Spinler            {
549*3420426cSMatt Spinler                "class": "init",
550*3420426cSMatt Spinler                "method": "get_properties"
551*3420426cSMatt Spinler            },
552*3420426cSMatt Spinler            {
553*3420426cSMatt Spinler                "class": "signal",
554*3420426cSMatt Spinler                "signal": "interfaces_added"
555*3420426cSMatt Spinler            },
556*3420426cSMatt Spinler            {
557*3420426cSMatt Spinler                "class": "signal",
558*3420426cSMatt Spinler                "signal": "properties_changed"
559*3420426cSMatt Spinler            }
560*3420426cSMatt Spinler        ],
561*3420426cSMatt Spinler        "actions": [
562*3420426cSMatt Spinler            {
563*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
564*3420426cSMatt Spinler                "parameter_name": "proc_1_core_dvfs_increase_temp",
565*3420426cSMatt Spinler                "modifier": {
566*3420426cSMatt Spinler                    "operator": "minus",
567*3420426cSMatt Spinler                    "value": 7
568*3420426cSMatt Spinler                }
569*3420426cSMatt Spinler            },
570*3420426cSMatt Spinler            {
571*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
572*3420426cSMatt Spinler                "parameter_name": "proc_1_core_dvfs_decrease_temp",
573*3420426cSMatt Spinler                "modifier": {
574*3420426cSMatt Spinler                    "operator": "minus",
575*3420426cSMatt Spinler                    "value": 9
576*3420426cSMatt Spinler                }
577*3420426cSMatt Spinler            }
578*3420426cSMatt Spinler        ]
579*3420426cSMatt Spinler    },
580*3420426cSMatt Spinler    {
581*3420426cSMatt Spinler        "name": "Set Proc 2 Core DVFS parameter",
582*3420426cSMatt Spinler        "groups": [
583*3420426cSMatt Spinler            {
584*3420426cSMatt Spinler                "name": "proc 2 core dvfs temp",
585*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
586*3420426cSMatt Spinler                "property": { "name": "Value" }
587*3420426cSMatt Spinler            }
588*3420426cSMatt Spinler        ],
589*3420426cSMatt Spinler        "triggers": [
590*3420426cSMatt Spinler            {
591*3420426cSMatt Spinler                "class": "init",
592*3420426cSMatt Spinler                "method": "get_properties"
593*3420426cSMatt Spinler            },
594*3420426cSMatt Spinler            {
595*3420426cSMatt Spinler                "class": "signal",
596*3420426cSMatt Spinler                "signal": "interfaces_added"
597*3420426cSMatt Spinler            },
598*3420426cSMatt Spinler            {
599*3420426cSMatt Spinler                "class": "signal",
600*3420426cSMatt Spinler                "signal": "properties_changed"
601*3420426cSMatt Spinler            }
602*3420426cSMatt Spinler        ],
603*3420426cSMatt Spinler        "actions": [
604*3420426cSMatt Spinler            {
605*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
606*3420426cSMatt Spinler                "parameter_name": "proc_2_core_dvfs_increase_temp",
607*3420426cSMatt Spinler                "modifier": {
608*3420426cSMatt Spinler                    "operator": "minus",
609*3420426cSMatt Spinler                    "value": 7
610*3420426cSMatt Spinler                }
611*3420426cSMatt Spinler            },
612*3420426cSMatt Spinler            {
613*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
614*3420426cSMatt Spinler                "parameter_name": "proc_2_core_dvfs_decrease_temp",
615*3420426cSMatt Spinler                "modifier": {
616*3420426cSMatt Spinler                    "operator": "minus",
617*3420426cSMatt Spinler                    "value": 9
618*3420426cSMatt Spinler                }
619*3420426cSMatt Spinler            }
620*3420426cSMatt Spinler        ]
621*3420426cSMatt Spinler    },
622*3420426cSMatt Spinler    {
623*3420426cSMatt Spinler        "name": "Set Proc 3 Core DVFS parameter",
624*3420426cSMatt Spinler        "groups": [
625*3420426cSMatt Spinler            {
626*3420426cSMatt Spinler                "name": "proc 3 core dvfs temp",
627*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
628*3420426cSMatt Spinler                "property": { "name": "Value" }
629*3420426cSMatt Spinler            }
630*3420426cSMatt Spinler        ],
631*3420426cSMatt Spinler        "triggers": [
632*3420426cSMatt Spinler            {
633*3420426cSMatt Spinler                "class": "init",
634*3420426cSMatt Spinler                "method": "get_properties"
635*3420426cSMatt Spinler            },
636*3420426cSMatt Spinler            {
637*3420426cSMatt Spinler                "class": "signal",
638*3420426cSMatt Spinler                "signal": "interfaces_added"
639*3420426cSMatt Spinler            },
640*3420426cSMatt Spinler            {
641*3420426cSMatt Spinler                "class": "signal",
642*3420426cSMatt Spinler                "signal": "properties_changed"
643*3420426cSMatt Spinler            }
644*3420426cSMatt Spinler        ],
645*3420426cSMatt Spinler        "actions": [
646*3420426cSMatt Spinler            {
647*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
648*3420426cSMatt Spinler                "parameter_name": "proc_3_core_dvfs_increase_temp",
649*3420426cSMatt Spinler                "modifier": {
650*3420426cSMatt Spinler                    "operator": "minus",
651*3420426cSMatt Spinler                    "value": 7
652*3420426cSMatt Spinler                }
653*3420426cSMatt Spinler            },
654*3420426cSMatt Spinler            {
655*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
656*3420426cSMatt Spinler                "parameter_name": "proc_3_core_dvfs_decrease_temp",
657*3420426cSMatt Spinler                "modifier": {
658*3420426cSMatt Spinler                    "operator": "minus",
659*3420426cSMatt Spinler                    "value": 9
660*3420426cSMatt Spinler                }
661*3420426cSMatt Spinler            }
662*3420426cSMatt Spinler        ]
663*3420426cSMatt Spinler    },
664*3420426cSMatt Spinler    {
665*3420426cSMatt Spinler        "name": "Set Proc 4 Core DVFS parameter",
666*3420426cSMatt Spinler        "groups": [
667*3420426cSMatt Spinler            {
668*3420426cSMatt Spinler                "name": "proc 4 core dvfs temp",
669*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
670*3420426cSMatt Spinler                "property": { "name": "Value" }
671*3420426cSMatt Spinler            }
672*3420426cSMatt Spinler        ],
673*3420426cSMatt Spinler        "triggers": [
674*3420426cSMatt Spinler            {
675*3420426cSMatt Spinler                "class": "init",
676*3420426cSMatt Spinler                "method": "get_properties"
677*3420426cSMatt Spinler            },
678*3420426cSMatt Spinler            {
679*3420426cSMatt Spinler                "class": "signal",
680*3420426cSMatt Spinler                "signal": "interfaces_added"
681*3420426cSMatt Spinler            },
682*3420426cSMatt Spinler            {
683*3420426cSMatt Spinler                "class": "signal",
684*3420426cSMatt Spinler                "signal": "properties_changed"
685*3420426cSMatt Spinler            }
686*3420426cSMatt Spinler        ],
687*3420426cSMatt Spinler        "actions": [
688*3420426cSMatt Spinler            {
689*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
690*3420426cSMatt Spinler                "parameter_name": "proc_4_core_dvfs_increase_temp",
691*3420426cSMatt Spinler                "modifier": {
692*3420426cSMatt Spinler                    "operator": "minus",
693*3420426cSMatt Spinler                    "value": 7
694*3420426cSMatt Spinler                }
695*3420426cSMatt Spinler            },
696*3420426cSMatt Spinler            {
697*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
698*3420426cSMatt Spinler                "parameter_name": "proc_4_core_dvfs_decrease_temp",
699*3420426cSMatt Spinler                "modifier": {
700*3420426cSMatt Spinler                    "operator": "minus",
701*3420426cSMatt Spinler                    "value": 9
702*3420426cSMatt Spinler                }
703*3420426cSMatt Spinler            }
704*3420426cSMatt Spinler        ]
705*3420426cSMatt Spinler    },
706*3420426cSMatt Spinler    {
707*3420426cSMatt Spinler        "name": "Set Proc 5 Core DVFS parameter",
708*3420426cSMatt Spinler        "groups": [
709*3420426cSMatt Spinler            {
710*3420426cSMatt Spinler                "name": "proc 5 core dvfs temp",
711*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
712*3420426cSMatt Spinler                "property": { "name": "Value" }
713*3420426cSMatt Spinler            }
714*3420426cSMatt Spinler        ],
715*3420426cSMatt Spinler        "triggers": [
716*3420426cSMatt Spinler            {
717*3420426cSMatt Spinler                "class": "init",
718*3420426cSMatt Spinler                "method": "get_properties"
719*3420426cSMatt Spinler            },
720*3420426cSMatt Spinler            {
721*3420426cSMatt Spinler                "class": "signal",
722*3420426cSMatt Spinler                "signal": "interfaces_added"
723*3420426cSMatt Spinler            },
724*3420426cSMatt Spinler            {
725*3420426cSMatt Spinler                "class": "signal",
726*3420426cSMatt Spinler                "signal": "properties_changed"
727*3420426cSMatt Spinler            }
728*3420426cSMatt Spinler        ],
729*3420426cSMatt Spinler        "actions": [
730*3420426cSMatt Spinler            {
731*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
732*3420426cSMatt Spinler                "parameter_name": "proc_5_core_dvfs_increase_temp",
733*3420426cSMatt Spinler                "modifier": {
734*3420426cSMatt Spinler                    "operator": "minus",
735*3420426cSMatt Spinler                    "value": 7
736*3420426cSMatt Spinler                }
737*3420426cSMatt Spinler            },
738*3420426cSMatt Spinler            {
739*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
740*3420426cSMatt Spinler                "parameter_name": "proc_5_core_dvfs_decrease_temp",
741*3420426cSMatt Spinler                "modifier": {
742*3420426cSMatt Spinler                    "operator": "minus",
743*3420426cSMatt Spinler                    "value": 9
744*3420426cSMatt Spinler                }
745*3420426cSMatt Spinler            }
746*3420426cSMatt Spinler        ]
747*3420426cSMatt Spinler    },
748*3420426cSMatt Spinler    {
749*3420426cSMatt Spinler        "name": "Set Proc 6 Core DVFS parameter",
750*3420426cSMatt Spinler        "groups": [
751*3420426cSMatt Spinler            {
752*3420426cSMatt Spinler                "name": "proc 6 core dvfs temp",
753*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
754*3420426cSMatt Spinler                "property": { "name": "Value" }
755*3420426cSMatt Spinler            }
756*3420426cSMatt Spinler        ],
757*3420426cSMatt Spinler        "triggers": [
758*3420426cSMatt Spinler            {
759*3420426cSMatt Spinler                "class": "init",
760*3420426cSMatt Spinler                "method": "get_properties"
761*3420426cSMatt Spinler            },
762*3420426cSMatt Spinler            {
763*3420426cSMatt Spinler                "class": "signal",
764*3420426cSMatt Spinler                "signal": "interfaces_added"
765*3420426cSMatt Spinler            },
766*3420426cSMatt Spinler            {
767*3420426cSMatt Spinler                "class": "signal",
768*3420426cSMatt Spinler                "signal": "properties_changed"
769*3420426cSMatt Spinler            }
770*3420426cSMatt Spinler        ],
771*3420426cSMatt Spinler        "actions": [
772*3420426cSMatt Spinler            {
773*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
774*3420426cSMatt Spinler                "parameter_name": "proc_6_core_dvfs_increase_temp",
775*3420426cSMatt Spinler                "modifier": {
776*3420426cSMatt Spinler                    "operator": "minus",
777*3420426cSMatt Spinler                    "value": 7
778*3420426cSMatt Spinler                }
779*3420426cSMatt Spinler            },
780*3420426cSMatt Spinler            {
781*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
782*3420426cSMatt Spinler                "parameter_name": "proc_6_core_dvfs_decrease_temp",
783*3420426cSMatt Spinler                "modifier": {
784*3420426cSMatt Spinler                    "operator": "minus",
785*3420426cSMatt Spinler                    "value": 9
786*3420426cSMatt Spinler                }
787*3420426cSMatt Spinler            }
788*3420426cSMatt Spinler        ]
789*3420426cSMatt Spinler    },
790*3420426cSMatt Spinler    {
791*3420426cSMatt Spinler        "name": "Set Proc 7 Core DVFS parameter",
792*3420426cSMatt Spinler        "groups": [
793*3420426cSMatt Spinler            {
794*3420426cSMatt Spinler                "name": "proc 7 core dvfs temp",
795*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
796*3420426cSMatt Spinler                "property": { "name": "Value" }
797*3420426cSMatt Spinler            }
798*3420426cSMatt Spinler        ],
799*3420426cSMatt Spinler        "triggers": [
800*3420426cSMatt Spinler            {
801*3420426cSMatt Spinler                "class": "init",
802*3420426cSMatt Spinler                "method": "get_properties"
803*3420426cSMatt Spinler            },
804*3420426cSMatt Spinler            {
805*3420426cSMatt Spinler                "class": "signal",
806*3420426cSMatt Spinler                "signal": "interfaces_added"
807*3420426cSMatt Spinler            },
808*3420426cSMatt Spinler            {
809*3420426cSMatt Spinler                "class": "signal",
810*3420426cSMatt Spinler                "signal": "properties_changed"
811*3420426cSMatt Spinler            }
812*3420426cSMatt Spinler        ],
813*3420426cSMatt Spinler        "actions": [
814*3420426cSMatt Spinler            {
815*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
816*3420426cSMatt Spinler                "parameter_name": "proc_7_core_dvfs_increase_temp",
817*3420426cSMatt Spinler                "modifier": {
818*3420426cSMatt Spinler                    "operator": "minus",
819*3420426cSMatt Spinler                    "value": 7
820*3420426cSMatt Spinler                }
821*3420426cSMatt Spinler            },
822*3420426cSMatt Spinler            {
823*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
824*3420426cSMatt Spinler                "parameter_name": "proc_7_core_dvfs_decrease_temp",
825*3420426cSMatt Spinler                "modifier": {
826*3420426cSMatt Spinler                    "operator": "minus",
827*3420426cSMatt Spinler                    "value": 9
828*3420426cSMatt Spinler                }
829*3420426cSMatt Spinler            }
830*3420426cSMatt Spinler        ]
831*3420426cSMatt Spinler    },
832*3420426cSMatt Spinler    {
833*3420426cSMatt Spinler        "name": "Set Proc 0 IO Ring DVFS parameter",
834*3420426cSMatt Spinler        "groups": [
835*3420426cSMatt Spinler            {
836*3420426cSMatt Spinler                "name": "proc 0 ioring dvfs temp",
837*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
838*3420426cSMatt Spinler                "property": { "name": "Value" }
839*3420426cSMatt Spinler            }
840*3420426cSMatt Spinler        ],
841*3420426cSMatt Spinler        "triggers": [
842*3420426cSMatt Spinler            {
843*3420426cSMatt Spinler                "class": "init",
844*3420426cSMatt Spinler                "method": "get_properties"
845*3420426cSMatt Spinler            },
846*3420426cSMatt Spinler            {
847*3420426cSMatt Spinler                "class": "signal",
848*3420426cSMatt Spinler                "signal": "interfaces_added"
849*3420426cSMatt Spinler            },
850*3420426cSMatt Spinler            {
851*3420426cSMatt Spinler                "class": "signal",
852*3420426cSMatt Spinler                "signal": "properties_changed"
853*3420426cSMatt Spinler            }
854*3420426cSMatt Spinler        ],
855*3420426cSMatt Spinler        "actions": [
856*3420426cSMatt Spinler            {
857*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
858*3420426cSMatt Spinler                "parameter_name": "proc_0_ioring_dvfs_increase_temp",
859*3420426cSMatt Spinler                "modifier": {
860*3420426cSMatt Spinler                    "operator": "minus",
861*3420426cSMatt Spinler                    "value": 10
862*3420426cSMatt Spinler                }
863*3420426cSMatt Spinler            },
864*3420426cSMatt Spinler            {
865*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
866*3420426cSMatt Spinler                "parameter_name": "proc_0_ioring_dvfs_decrease_temp",
867*3420426cSMatt Spinler                "modifier": {
868*3420426cSMatt Spinler                    "operator": "minus",
869*3420426cSMatt Spinler                    "value": 13
870*3420426cSMatt Spinler                }
871*3420426cSMatt Spinler            }
872*3420426cSMatt Spinler        ]
873*3420426cSMatt Spinler    },
874*3420426cSMatt Spinler    {
875*3420426cSMatt Spinler        "name": "Set Proc 1 IO Ring DVFS parameter",
876*3420426cSMatt Spinler        "groups": [
877*3420426cSMatt Spinler            {
878*3420426cSMatt Spinler                "name": "proc 1 ioring dvfs temp",
879*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
880*3420426cSMatt Spinler                "property": { "name": "Value" }
881*3420426cSMatt Spinler            }
882*3420426cSMatt Spinler        ],
883*3420426cSMatt Spinler        "triggers": [
884*3420426cSMatt Spinler            {
885*3420426cSMatt Spinler                "class": "init",
886*3420426cSMatt Spinler                "method": "get_properties"
887*3420426cSMatt Spinler            },
888*3420426cSMatt Spinler            {
889*3420426cSMatt Spinler                "class": "signal",
890*3420426cSMatt Spinler                "signal": "interfaces_added"
891*3420426cSMatt Spinler            },
892*3420426cSMatt Spinler            {
893*3420426cSMatt Spinler                "class": "signal",
894*3420426cSMatt Spinler                "signal": "properties_changed"
895*3420426cSMatt Spinler            }
896*3420426cSMatt Spinler        ],
897*3420426cSMatt Spinler        "actions": [
898*3420426cSMatt Spinler            {
899*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
900*3420426cSMatt Spinler                "parameter_name": "proc_1_ioring_dvfs_increase_temp",
901*3420426cSMatt Spinler                "modifier": {
902*3420426cSMatt Spinler                    "operator": "minus",
903*3420426cSMatt Spinler                    "value": 10
904*3420426cSMatt Spinler                }
905*3420426cSMatt Spinler            },
906*3420426cSMatt Spinler            {
907*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
908*3420426cSMatt Spinler                "parameter_name": "proc_1_ioring_dvfs_decrease_temp",
909*3420426cSMatt Spinler                "modifier": {
910*3420426cSMatt Spinler                    "operator": "minus",
911*3420426cSMatt Spinler                    "value": 13
912*3420426cSMatt Spinler                }
913*3420426cSMatt Spinler            }
914*3420426cSMatt Spinler        ]
915*3420426cSMatt Spinler    },
916*3420426cSMatt Spinler    {
917*3420426cSMatt Spinler        "name": "Set Proc 2 IO Ring DVFS parameter",
918*3420426cSMatt Spinler        "groups": [
919*3420426cSMatt Spinler            {
920*3420426cSMatt Spinler                "name": "proc 2 ioring dvfs temp",
921*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
922*3420426cSMatt Spinler                "property": { "name": "Value" }
923*3420426cSMatt Spinler            }
924*3420426cSMatt Spinler        ],
925*3420426cSMatt Spinler        "triggers": [
926*3420426cSMatt Spinler            {
927*3420426cSMatt Spinler                "class": "init",
928*3420426cSMatt Spinler                "method": "get_properties"
929*3420426cSMatt Spinler            },
930*3420426cSMatt Spinler            {
931*3420426cSMatt Spinler                "class": "signal",
932*3420426cSMatt Spinler                "signal": "interfaces_added"
933*3420426cSMatt Spinler            },
934*3420426cSMatt Spinler            {
935*3420426cSMatt Spinler                "class": "signal",
936*3420426cSMatt Spinler                "signal": "properties_changed"
937*3420426cSMatt Spinler            }
938*3420426cSMatt Spinler        ],
939*3420426cSMatt Spinler        "actions": [
940*3420426cSMatt Spinler            {
941*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
942*3420426cSMatt Spinler                "parameter_name": "proc_2_ioring_dvfs_increase_temp",
943*3420426cSMatt Spinler                "modifier": {
944*3420426cSMatt Spinler                    "operator": "minus",
945*3420426cSMatt Spinler                    "value": 10
946*3420426cSMatt Spinler                }
947*3420426cSMatt Spinler            },
948*3420426cSMatt Spinler            {
949*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
950*3420426cSMatt Spinler                "parameter_name": "proc_2_ioring_dvfs_decrease_temp",
951*3420426cSMatt Spinler                "modifier": {
952*3420426cSMatt Spinler                    "operator": "minus",
953*3420426cSMatt Spinler                    "value": 13
954*3420426cSMatt Spinler                }
955*3420426cSMatt Spinler            }
956*3420426cSMatt Spinler        ]
957*3420426cSMatt Spinler    },
958*3420426cSMatt Spinler    {
959*3420426cSMatt Spinler        "name": "Set Proc 3 IO Ring DVFS parameter",
960*3420426cSMatt Spinler        "groups": [
961*3420426cSMatt Spinler            {
962*3420426cSMatt Spinler                "name": "proc 3 ioring dvfs temp",
963*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
964*3420426cSMatt Spinler                "property": { "name": "Value" }
965*3420426cSMatt Spinler            }
966*3420426cSMatt Spinler        ],
967*3420426cSMatt Spinler        "triggers": [
968*3420426cSMatt Spinler            {
969*3420426cSMatt Spinler                "class": "init",
970*3420426cSMatt Spinler                "method": "get_properties"
971*3420426cSMatt Spinler            },
972*3420426cSMatt Spinler            {
973*3420426cSMatt Spinler                "class": "signal",
974*3420426cSMatt Spinler                "signal": "properties_changed"
975*3420426cSMatt Spinler            },
976*3420426cSMatt Spinler            {
977*3420426cSMatt Spinler                "class": "signal",
978*3420426cSMatt Spinler                "signal": "interfaces_added"
979*3420426cSMatt Spinler            }
980*3420426cSMatt Spinler        ],
981*3420426cSMatt Spinler        "actions": [
982*3420426cSMatt Spinler            {
983*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
984*3420426cSMatt Spinler                "parameter_name": "proc_3_ioring_dvfs_increase_temp",
985*3420426cSMatt Spinler                "modifier": {
986*3420426cSMatt Spinler                    "operator": "minus",
987*3420426cSMatt Spinler                    "value": 10
988*3420426cSMatt Spinler                }
989*3420426cSMatt Spinler            },
990*3420426cSMatt Spinler            {
991*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
992*3420426cSMatt Spinler                "parameter_name": "proc_3_ioring_dvfs_decrease_temp",
993*3420426cSMatt Spinler                "modifier": {
994*3420426cSMatt Spinler                    "operator": "minus",
995*3420426cSMatt Spinler                    "value": 13
996*3420426cSMatt Spinler                }
997*3420426cSMatt Spinler            }
998*3420426cSMatt Spinler        ]
999*3420426cSMatt Spinler    },
1000*3420426cSMatt Spinler    {
1001*3420426cSMatt Spinler        "name": "Set Proc 4 IO Ring DVFS parameter",
1002*3420426cSMatt Spinler        "groups": [
1003*3420426cSMatt Spinler            {
1004*3420426cSMatt Spinler                "name": "proc 4 ioring dvfs temp",
1005*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1006*3420426cSMatt Spinler                "property": { "name": "Value" }
1007*3420426cSMatt Spinler            }
1008*3420426cSMatt Spinler        ],
1009*3420426cSMatt Spinler        "triggers": [
1010*3420426cSMatt Spinler            {
1011*3420426cSMatt Spinler                "class": "init",
1012*3420426cSMatt Spinler                "method": "get_properties"
1013*3420426cSMatt Spinler            },
1014*3420426cSMatt Spinler            {
1015*3420426cSMatt Spinler                "class": "signal",
1016*3420426cSMatt Spinler                "signal": "interfaces_added"
1017*3420426cSMatt Spinler            },
1018*3420426cSMatt Spinler            {
1019*3420426cSMatt Spinler                "class": "signal",
1020*3420426cSMatt Spinler                "signal": "properties_changed"
1021*3420426cSMatt Spinler            }
1022*3420426cSMatt Spinler        ],
1023*3420426cSMatt Spinler        "actions": [
1024*3420426cSMatt Spinler            {
1025*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1026*3420426cSMatt Spinler                "parameter_name": "proc_4_ioring_dvfs_increase_temp",
1027*3420426cSMatt Spinler                "modifier": {
1028*3420426cSMatt Spinler                    "operator": "minus",
1029*3420426cSMatt Spinler                    "value": 10
1030*3420426cSMatt Spinler                }
1031*3420426cSMatt Spinler            },
1032*3420426cSMatt Spinler            {
1033*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1034*3420426cSMatt Spinler                "parameter_name": "proc_4_ioring_dvfs_decrease_temp",
1035*3420426cSMatt Spinler                "modifier": {
1036*3420426cSMatt Spinler                    "operator": "minus",
1037*3420426cSMatt Spinler                    "value": 13
1038*3420426cSMatt Spinler                }
1039*3420426cSMatt Spinler            }
1040*3420426cSMatt Spinler        ]
1041*3420426cSMatt Spinler    },
1042*3420426cSMatt Spinler    {
1043*3420426cSMatt Spinler        "name": "Set Proc 5 IO Ring DVFS parameter",
1044*3420426cSMatt Spinler        "groups": [
1045*3420426cSMatt Spinler            {
1046*3420426cSMatt Spinler                "name": "proc 5 ioring dvfs temp",
1047*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1048*3420426cSMatt Spinler                "property": { "name": "Value" }
1049*3420426cSMatt Spinler            }
1050*3420426cSMatt Spinler        ],
1051*3420426cSMatt Spinler        "triggers": [
1052*3420426cSMatt Spinler            {
1053*3420426cSMatt Spinler                "class": "init",
1054*3420426cSMatt Spinler                "method": "get_properties"
1055*3420426cSMatt Spinler            },
1056*3420426cSMatt Spinler            {
1057*3420426cSMatt Spinler                "class": "signal",
1058*3420426cSMatt Spinler                "signal": "interfaces_added"
1059*3420426cSMatt Spinler            },
1060*3420426cSMatt Spinler            {
1061*3420426cSMatt Spinler                "class": "signal",
1062*3420426cSMatt Spinler                "signal": "properties_changed"
1063*3420426cSMatt Spinler            }
1064*3420426cSMatt Spinler        ],
1065*3420426cSMatt Spinler        "actions": [
1066*3420426cSMatt Spinler            {
1067*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1068*3420426cSMatt Spinler                "parameter_name": "proc_5_ioring_dvfs_increase_temp",
1069*3420426cSMatt Spinler                "modifier": {
1070*3420426cSMatt Spinler                    "operator": "minus",
1071*3420426cSMatt Spinler                    "value": 10
1072*3420426cSMatt Spinler                }
1073*3420426cSMatt Spinler            },
1074*3420426cSMatt Spinler            {
1075*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1076*3420426cSMatt Spinler                "parameter_name": "proc_5_ioring_dvfs_decrease_temp",
1077*3420426cSMatt Spinler                "modifier": {
1078*3420426cSMatt Spinler                    "operator": "minus",
1079*3420426cSMatt Spinler                    "value": 13
1080*3420426cSMatt Spinler                }
1081*3420426cSMatt Spinler            }
1082*3420426cSMatt Spinler        ]
1083*3420426cSMatt Spinler    },
1084*3420426cSMatt Spinler    {
1085*3420426cSMatt Spinler        "name": "Set Proc 6 IO Ring DVFS parameter",
1086*3420426cSMatt Spinler        "groups": [
1087*3420426cSMatt Spinler            {
1088*3420426cSMatt Spinler                "name": "proc 6 ioring dvfs temp",
1089*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1090*3420426cSMatt Spinler                "property": { "name": "Value" }
1091*3420426cSMatt Spinler            }
1092*3420426cSMatt Spinler        ],
1093*3420426cSMatt Spinler        "triggers": [
1094*3420426cSMatt Spinler            {
1095*3420426cSMatt Spinler                "class": "init",
1096*3420426cSMatt Spinler                "method": "get_properties"
1097*3420426cSMatt Spinler            },
1098*3420426cSMatt Spinler            {
1099*3420426cSMatt Spinler                "class": "signal",
1100*3420426cSMatt Spinler                "signal": "interfaces_added"
1101*3420426cSMatt Spinler            },
1102*3420426cSMatt Spinler            {
1103*3420426cSMatt Spinler                "class": "signal",
1104*3420426cSMatt Spinler                "signal": "properties_changed"
1105*3420426cSMatt Spinler            }
1106*3420426cSMatt Spinler        ],
1107*3420426cSMatt Spinler        "actions": [
1108*3420426cSMatt Spinler            {
1109*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1110*3420426cSMatt Spinler                "parameter_name": "proc_6_ioring_dvfs_increase_temp",
1111*3420426cSMatt Spinler                "modifier": {
1112*3420426cSMatt Spinler                    "operator": "minus",
1113*3420426cSMatt Spinler                    "value": 10
1114*3420426cSMatt Spinler                }
1115*3420426cSMatt Spinler            },
1116*3420426cSMatt Spinler            {
1117*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1118*3420426cSMatt Spinler                "parameter_name": "proc_6_ioring_dvfs_decrease_temp",
1119*3420426cSMatt Spinler                "modifier": {
1120*3420426cSMatt Spinler                    "operator": "minus",
1121*3420426cSMatt Spinler                    "value": 13
1122*3420426cSMatt Spinler                }
1123*3420426cSMatt Spinler            }
1124*3420426cSMatt Spinler        ]
1125*3420426cSMatt Spinler    },
1126*3420426cSMatt Spinler    {
1127*3420426cSMatt Spinler        "name": "Set Proc 7 IO Ring DVFS parameter",
1128*3420426cSMatt Spinler        "groups": [
1129*3420426cSMatt Spinler            {
1130*3420426cSMatt Spinler                "name": "proc 7 ioring dvfs temp",
1131*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1132*3420426cSMatt Spinler                "property": { "name": "Value" }
1133*3420426cSMatt Spinler            }
1134*3420426cSMatt Spinler        ],
1135*3420426cSMatt Spinler        "triggers": [
1136*3420426cSMatt Spinler            {
1137*3420426cSMatt Spinler                "class": "init",
1138*3420426cSMatt Spinler                "method": "get_properties"
1139*3420426cSMatt Spinler            },
1140*3420426cSMatt Spinler            {
1141*3420426cSMatt Spinler                "class": "signal",
1142*3420426cSMatt Spinler                "signal": "interfaces_added"
1143*3420426cSMatt Spinler            },
1144*3420426cSMatt Spinler            {
1145*3420426cSMatt Spinler                "class": "signal",
1146*3420426cSMatt Spinler                "signal": "properties_changed"
1147*3420426cSMatt Spinler            }
1148*3420426cSMatt Spinler        ],
1149*3420426cSMatt Spinler        "actions": [
1150*3420426cSMatt Spinler            {
1151*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1152*3420426cSMatt Spinler                "parameter_name": "proc_7_ioring_dvfs_increase_temp",
1153*3420426cSMatt Spinler                "modifier": {
1154*3420426cSMatt Spinler                    "operator": "minus",
1155*3420426cSMatt Spinler                    "value": 10
1156*3420426cSMatt Spinler                }
1157*3420426cSMatt Spinler            },
1158*3420426cSMatt Spinler            {
1159*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1160*3420426cSMatt Spinler                "parameter_name": "proc_7_ioring_dvfs_decrease_temp",
1161*3420426cSMatt Spinler                "modifier": {
1162*3420426cSMatt Spinler                    "operator": "minus",
1163*3420426cSMatt Spinler                    "value": 13
1164*3420426cSMatt Spinler                }
1165*3420426cSMatt Spinler            }
1166*3420426cSMatt Spinler        ]
1167*3420426cSMatt Spinler    },
1168*3420426cSMatt Spinler    {
1169*3420426cSMatt Spinler        "name": "Set DRAM DVFS parameter",
1170*3420426cSMatt Spinler        "groups": [
1171*3420426cSMatt Spinler            {
1172*3420426cSMatt Spinler                "name": "dram dvfs temp",
1173*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1174*3420426cSMatt Spinler                "property": { "name": "Value" }
1175*3420426cSMatt Spinler            }
1176*3420426cSMatt Spinler        ],
1177*3420426cSMatt Spinler        "triggers": [
1178*3420426cSMatt Spinler            {
1179*3420426cSMatt Spinler                "class": "init",
1180*3420426cSMatt Spinler                "method": "get_properties"
1181*3420426cSMatt Spinler            },
1182*3420426cSMatt Spinler            {
1183*3420426cSMatt Spinler                "class": "signal",
1184*3420426cSMatt Spinler                "signal": "properties_changed"
1185*3420426cSMatt Spinler            },
1186*3420426cSMatt Spinler            {
1187*3420426cSMatt Spinler                "class": "signal",
1188*3420426cSMatt Spinler                "signal": "interfaces_added"
1189*3420426cSMatt Spinler            }
1190*3420426cSMatt Spinler        ],
1191*3420426cSMatt Spinler        "actions": [
1192*3420426cSMatt Spinler            {
1193*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1194*3420426cSMatt Spinler                "parameter_name": "dram_dvfs_increase_temp",
1195*3420426cSMatt Spinler                "modifier": {
1196*3420426cSMatt Spinler                    "operator": "minus",
1197*3420426cSMatt Spinler                    "value": 8
1198*3420426cSMatt Spinler                }
1199*3420426cSMatt Spinler            },
1200*3420426cSMatt Spinler            {
1201*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1202*3420426cSMatt Spinler                "parameter_name": "dram_dvfs_decrease_temp",
1203*3420426cSMatt Spinler                "modifier": {
1204*3420426cSMatt Spinler                    "operator": "minus",
1205*3420426cSMatt Spinler                    "value": 11
1206*3420426cSMatt Spinler                }
1207*3420426cSMatt Spinler            }
1208*3420426cSMatt Spinler        ]
1209*3420426cSMatt Spinler    },
1210*3420426cSMatt Spinler    {
1211*3420426cSMatt Spinler        "name": "Set PMIC DVFS parameter",
1212*3420426cSMatt Spinler        "groups": [
1213*3420426cSMatt Spinler            {
1214*3420426cSMatt Spinler                "name": "pmic dvfs temp",
1215*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1216*3420426cSMatt Spinler                "property": { "name": "Value" }
1217*3420426cSMatt Spinler            }
1218*3420426cSMatt Spinler        ],
1219*3420426cSMatt Spinler        "triggers": [
1220*3420426cSMatt Spinler            {
1221*3420426cSMatt Spinler                "class": "init",
1222*3420426cSMatt Spinler                "method": "get_properties"
1223*3420426cSMatt Spinler            },
1224*3420426cSMatt Spinler            {
1225*3420426cSMatt Spinler                "class": "signal",
1226*3420426cSMatt Spinler                "signal": "properties_changed"
1227*3420426cSMatt Spinler            },
1228*3420426cSMatt Spinler            {
1229*3420426cSMatt Spinler                "class": "signal",
1230*3420426cSMatt Spinler                "signal": "interfaces_added"
1231*3420426cSMatt Spinler            }
1232*3420426cSMatt Spinler        ],
1233*3420426cSMatt Spinler        "actions": [
1234*3420426cSMatt Spinler            {
1235*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1236*3420426cSMatt Spinler                "parameter_name": "pmic_dvfs_increase_temp",
1237*3420426cSMatt Spinler                "modifier": {
1238*3420426cSMatt Spinler                    "operator": "minus",
1239*3420426cSMatt Spinler                    "value": 10
1240*3420426cSMatt Spinler                }
1241*3420426cSMatt Spinler            },
1242*3420426cSMatt Spinler            {
1243*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1244*3420426cSMatt Spinler                "parameter_name": "pmic_dvfs_decrease_temp",
1245*3420426cSMatt Spinler                "modifier": {
1246*3420426cSMatt Spinler                    "operator": "minus",
1247*3420426cSMatt Spinler                    "value": 13
1248*3420426cSMatt Spinler                }
1249*3420426cSMatt Spinler            }
1250*3420426cSMatt Spinler        ]
1251*3420426cSMatt Spinler    },
1252*3420426cSMatt Spinler    {
1253*3420426cSMatt Spinler        "name": "Set internal memory buffer DVFS parameter",
1254*3420426cSMatt Spinler        "groups": [
1255*3420426cSMatt Spinler            {
1256*3420426cSMatt Spinler                "name": "internal memory buffer dvfs temp",
1257*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1258*3420426cSMatt Spinler                "property": { "name": "Value" }
1259*3420426cSMatt Spinler            }
1260*3420426cSMatt Spinler        ],
1261*3420426cSMatt Spinler        "triggers": [
1262*3420426cSMatt Spinler            {
1263*3420426cSMatt Spinler                "class": "init",
1264*3420426cSMatt Spinler                "method": "get_properties"
1265*3420426cSMatt Spinler            },
1266*3420426cSMatt Spinler            {
1267*3420426cSMatt Spinler                "class": "signal",
1268*3420426cSMatt Spinler                "signal": "properties_changed"
1269*3420426cSMatt Spinler            },
1270*3420426cSMatt Spinler            {
1271*3420426cSMatt Spinler                "class": "signal",
1272*3420426cSMatt Spinler                "signal": "interfaces_added"
1273*3420426cSMatt Spinler            }
1274*3420426cSMatt Spinler        ],
1275*3420426cSMatt Spinler        "actions": [
1276*3420426cSMatt Spinler            {
1277*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1278*3420426cSMatt Spinler                "parameter_name": "intmb_dvfs_increase_temp",
1279*3420426cSMatt Spinler                "modifier": {
1280*3420426cSMatt Spinler                    "operator": "minus",
1281*3420426cSMatt Spinler                    "value": 9
1282*3420426cSMatt Spinler                }
1283*3420426cSMatt Spinler            },
1284*3420426cSMatt Spinler            {
1285*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1286*3420426cSMatt Spinler                "parameter_name": "intmb_dvfs_decrease_temp",
1287*3420426cSMatt Spinler                "modifier": {
1288*3420426cSMatt Spinler                    "operator": "minus",
1289*3420426cSMatt Spinler                    "value": 12
1290*3420426cSMatt Spinler                }
1291*3420426cSMatt Spinler            }
1292*3420426cSMatt Spinler        ]
1293*3420426cSMatt Spinler    },
1294*3420426cSMatt Spinler    {
1295*3420426cSMatt Spinler        "name": "Set DRAM and external memory buffer DVFS parameter",
1296*3420426cSMatt Spinler        "groups": [
1297*3420426cSMatt Spinler            {
1298*3420426cSMatt Spinler                "name": "dram and external memory buffer dvfs temp",
1299*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1300*3420426cSMatt Spinler                "property": { "name": "Value" }
1301*3420426cSMatt Spinler            }
1302*3420426cSMatt Spinler        ],
1303*3420426cSMatt Spinler        "triggers": [
1304*3420426cSMatt Spinler            {
1305*3420426cSMatt Spinler                "class": "init",
1306*3420426cSMatt Spinler                "method": "get_properties"
1307*3420426cSMatt Spinler            },
1308*3420426cSMatt Spinler            {
1309*3420426cSMatt Spinler                "class": "signal",
1310*3420426cSMatt Spinler                "signal": "properties_changed"
1311*3420426cSMatt Spinler            },
1312*3420426cSMatt Spinler            {
1313*3420426cSMatt Spinler                "class": "signal",
1314*3420426cSMatt Spinler                "signal": "interfaces_added"
1315*3420426cSMatt Spinler            }
1316*3420426cSMatt Spinler        ],
1317*3420426cSMatt Spinler        "actions": [
1318*3420426cSMatt Spinler            {
1319*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1320*3420426cSMatt Spinler                "parameter_name": "dram_extmb_dvfs_increase_temp",
1321*3420426cSMatt Spinler                "modifier": {
1322*3420426cSMatt Spinler                    "operator": "minus",
1323*3420426cSMatt Spinler                    "value": 10
1324*3420426cSMatt Spinler                }
1325*3420426cSMatt Spinler            },
1326*3420426cSMatt Spinler            {
1327*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1328*3420426cSMatt Spinler                "parameter_name": "dram_extmb_dvfs_decrease_temp",
1329*3420426cSMatt Spinler                "modifier": {
1330*3420426cSMatt Spinler                    "operator": "minus",
1331*3420426cSMatt Spinler                    "value": 13
1332*3420426cSMatt Spinler                }
1333*3420426cSMatt Spinler            }
1334*3420426cSMatt Spinler        ]
1335*3420426cSMatt Spinler    },
1336*3420426cSMatt Spinler    {
1337*3420426cSMatt Spinler        "name": "Set external memory buffer DVFS parameter",
1338*3420426cSMatt Spinler        "groups": [
1339*3420426cSMatt Spinler            {
1340*3420426cSMatt Spinler                "name": "external memory buffer dvfs temp",
1341*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1342*3420426cSMatt Spinler                "property": { "name": "Value" }
1343*3420426cSMatt Spinler            }
1344*3420426cSMatt Spinler        ],
1345*3420426cSMatt Spinler        "triggers": [
1346*3420426cSMatt Spinler            {
1347*3420426cSMatt Spinler                "class": "init",
1348*3420426cSMatt Spinler                "method": "get_properties"
1349*3420426cSMatt Spinler            },
1350*3420426cSMatt Spinler            {
1351*3420426cSMatt Spinler                "class": "signal",
1352*3420426cSMatt Spinler                "signal": "properties_changed"
1353*3420426cSMatt Spinler            },
1354*3420426cSMatt Spinler            {
1355*3420426cSMatt Spinler                "class": "signal",
1356*3420426cSMatt Spinler                "signal": "interfaces_added"
1357*3420426cSMatt Spinler            }
1358*3420426cSMatt Spinler        ],
1359*3420426cSMatt Spinler        "actions": [
1360*3420426cSMatt Spinler            {
1361*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1362*3420426cSMatt Spinler                "parameter_name": "extmb_dvfs_increase_temp",
1363*3420426cSMatt Spinler                "modifier": {
1364*3420426cSMatt Spinler                    "operator": "minus",
1365*3420426cSMatt Spinler                    "value": 10
1366*3420426cSMatt Spinler                }
1367*3420426cSMatt Spinler            },
1368*3420426cSMatt Spinler            {
1369*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
1370*3420426cSMatt Spinler                "parameter_name": "extmb_dvfs_decrease_temp",
1371*3420426cSMatt Spinler                "modifier": {
1372*3420426cSMatt Spinler                    "operator": "minus",
1373*3420426cSMatt Spinler                    "value": 13
1374*3420426cSMatt Spinler                }
1375*3420426cSMatt Spinler            }
1376*3420426cSMatt Spinler        ]
1377*3420426cSMatt Spinler    },
1378*3420426cSMatt Spinler    {
1379*3420426cSMatt Spinler        // Collect group temperatures each iteration the repeating timer expires
1380*3420426cSMatt Spinler        "name": "Fan control timer loop",
1381*3420426cSMatt Spinler        "groups": [
1382*3420426cSMatt Spinler            {
1383*3420426cSMatt Spinler                "name": "proc0 core temps",
1384*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1385*3420426cSMatt Spinler                "property": { "name": "Value" }
1386*3420426cSMatt Spinler            },
1387*3420426cSMatt Spinler            {
1388*3420426cSMatt Spinler                "name": "proc1 core temps",
1389*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1390*3420426cSMatt Spinler                "property": { "name": "Value" }
1391*3420426cSMatt Spinler            },
1392*3420426cSMatt Spinler            {
1393*3420426cSMatt Spinler                "name": "proc2 core temps",
1394*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1395*3420426cSMatt Spinler                "property": { "name": "Value" }
1396*3420426cSMatt Spinler            },
1397*3420426cSMatt Spinler            {
1398*3420426cSMatt Spinler                "name": "proc3 core temps",
1399*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1400*3420426cSMatt Spinler                "property": { "name": "Value" }
1401*3420426cSMatt Spinler            },
1402*3420426cSMatt Spinler            {
1403*3420426cSMatt Spinler                "name": "proc4 core temps",
1404*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1405*3420426cSMatt Spinler                "property": { "name": "Value" }
1406*3420426cSMatt Spinler            },
1407*3420426cSMatt Spinler            {
1408*3420426cSMatt Spinler                "name": "proc5 core temps",
1409*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1410*3420426cSMatt Spinler                "property": { "name": "Value" }
1411*3420426cSMatt Spinler            },
1412*3420426cSMatt Spinler            {
1413*3420426cSMatt Spinler                "name": "proc6 core temps",
1414*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1415*3420426cSMatt Spinler                "property": { "name": "Value" }
1416*3420426cSMatt Spinler            },
1417*3420426cSMatt Spinler            {
1418*3420426cSMatt Spinler                "name": "proc7 core temps",
1419*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1420*3420426cSMatt Spinler                "property": { "name": "Value" }
1421*3420426cSMatt Spinler            },
1422*3420426cSMatt Spinler            {
1423*3420426cSMatt Spinler                "name": "proc0 ioring temp",
1424*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1425*3420426cSMatt Spinler                "property": { "name": "Value" }
1426*3420426cSMatt Spinler            },
1427*3420426cSMatt Spinler            {
1428*3420426cSMatt Spinler                "name": "proc1 ioring temp",
1429*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1430*3420426cSMatt Spinler                "property": { "name": "Value" }
1431*3420426cSMatt Spinler            },
1432*3420426cSMatt Spinler            {
1433*3420426cSMatt Spinler                "name": "proc2 ioring temp",
1434*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1435*3420426cSMatt Spinler                "property": { "name": "Value" }
1436*3420426cSMatt Spinler            },
1437*3420426cSMatt Spinler            {
1438*3420426cSMatt Spinler                "name": "proc3 ioring temp",
1439*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1440*3420426cSMatt Spinler                "property": { "name": "Value" }
1441*3420426cSMatt Spinler            },
1442*3420426cSMatt Spinler            {
1443*3420426cSMatt Spinler                "name": "proc4 ioring temp",
1444*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1445*3420426cSMatt Spinler                "property": { "name": "Value" }
1446*3420426cSMatt Spinler            },
1447*3420426cSMatt Spinler            {
1448*3420426cSMatt Spinler                "name": "proc5 ioring temp",
1449*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1450*3420426cSMatt Spinler                "property": { "name": "Value" }
1451*3420426cSMatt Spinler            },
1452*3420426cSMatt Spinler            {
1453*3420426cSMatt Spinler                "name": "proc6 ioring temp",
1454*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1455*3420426cSMatt Spinler                "property": { "name": "Value" }
1456*3420426cSMatt Spinler            },
1457*3420426cSMatt Spinler            {
1458*3420426cSMatt Spinler                "name": "proc7 ioring temp",
1459*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1460*3420426cSMatt Spinler                "property": { "name": "Value" }
1461*3420426cSMatt Spinler            },
1462*3420426cSMatt Spinler            {
1463*3420426cSMatt Spinler                "name": "dram temps",
1464*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1465*3420426cSMatt Spinler                "property": { "name": "Value" }
1466*3420426cSMatt Spinler            },
1467*3420426cSMatt Spinler            {
1468*3420426cSMatt Spinler                "name": "pmic temps",
1469*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1470*3420426cSMatt Spinler                "property": { "name": "Value" }
1471*3420426cSMatt Spinler            },
1472*3420426cSMatt Spinler            {
1473*3420426cSMatt Spinler                "name": "internal memory buffer temps",
1474*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1475*3420426cSMatt Spinler                "property": { "name": "Value" }
1476*3420426cSMatt Spinler            },
1477*3420426cSMatt Spinler            {
1478*3420426cSMatt Spinler                "name": "dram and external memory buffer temps",
1479*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1480*3420426cSMatt Spinler                "property": { "name": "Value" }
1481*3420426cSMatt Spinler            },
1482*3420426cSMatt Spinler            {
1483*3420426cSMatt Spinler                "name": "external memory buffer temps",
1484*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1485*3420426cSMatt Spinler                "property": { "name": "Value" }
1486*3420426cSMatt Spinler            },
1487*3420426cSMatt Spinler            {
1488*3420426cSMatt Spinler                "name": "vdd vrm temps",
1489*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1490*3420426cSMatt Spinler                "property": { "name": "Value" }
1491*3420426cSMatt Spinler            },
1492*3420426cSMatt Spinler            {
1493*3420426cSMatt Spinler                "name": "nvme temps",
1494*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1495*3420426cSMatt Spinler                "property": { "name": "Value" }
1496*3420426cSMatt Spinler            },
1497*3420426cSMatt Spinler            {
1498*3420426cSMatt Spinler                "name": "planar temps",
1499*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1500*3420426cSMatt Spinler                "property": { "name": "Value" }
1501*3420426cSMatt Spinler            },
1502*3420426cSMatt Spinler            {
1503*3420426cSMatt Spinler                "name": "pcie cable card temps",
1504*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1505*3420426cSMatt Spinler                "property": { "name": "Value" }
1506*3420426cSMatt Spinler            }
1507*3420426cSMatt Spinler        ],
1508*3420426cSMatt Spinler        "triggers": [
1509*3420426cSMatt Spinler            {
1510*3420426cSMatt Spinler                "class": "timer",
1511*3420426cSMatt Spinler                "type": "repeating",
1512*3420426cSMatt Spinler                "interval": 2000000,
1513*3420426cSMatt Spinler                "preload_groups": true
1514*3420426cSMatt Spinler            }
1515*3420426cSMatt Spinler        ],
1516*3420426cSMatt Spinler        "actions": [
1517*3420426cSMatt Spinler            {
1518*3420426cSMatt Spinler                "name": "set_net_increase_target",
1519*3420426cSMatt Spinler                "groups": [
1520*3420426cSMatt Spinler                    {
1521*3420426cSMatt Spinler                        "name": "proc0 core temps",
1522*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1523*3420426cSMatt Spinler                        "property": { "name": "Value" }
1524*3420426cSMatt Spinler                    }
1525*3420426cSMatt Spinler                ],
1526*3420426cSMatt Spinler                "state_parameter_name": "proc_0_core_dvfs_increase_temp",
1527*3420426cSMatt Spinler                "delta": 255
1528*3420426cSMatt Spinler            },
1529*3420426cSMatt Spinler            {
1530*3420426cSMatt Spinler                "name": "set_net_increase_target",
1531*3420426cSMatt Spinler                "groups": [
1532*3420426cSMatt Spinler                    {
1533*3420426cSMatt Spinler                        "name": "proc1 core temps",
1534*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1535*3420426cSMatt Spinler                        "property": { "name": "Value" }
1536*3420426cSMatt Spinler                    }
1537*3420426cSMatt Spinler                ],
1538*3420426cSMatt Spinler                "state_parameter_name": "proc_1_core_dvfs_increase_temp",
1539*3420426cSMatt Spinler                "delta": 255
1540*3420426cSMatt Spinler            },
1541*3420426cSMatt Spinler            {
1542*3420426cSMatt Spinler                "name": "set_net_increase_target",
1543*3420426cSMatt Spinler                "groups": [
1544*3420426cSMatt Spinler                    {
1545*3420426cSMatt Spinler                        "name": "proc2 core temps",
1546*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1547*3420426cSMatt Spinler                        "property": { "name": "Value" }
1548*3420426cSMatt Spinler                    }
1549*3420426cSMatt Spinler                ],
1550*3420426cSMatt Spinler                "state_parameter_name": "proc_2_core_dvfs_increase_temp",
1551*3420426cSMatt Spinler                "delta": 255
1552*3420426cSMatt Spinler            },
1553*3420426cSMatt Spinler            {
1554*3420426cSMatt Spinler                "name": "set_net_increase_target",
1555*3420426cSMatt Spinler                "groups": [
1556*3420426cSMatt Spinler                    {
1557*3420426cSMatt Spinler                        "name": "proc3 core temps",
1558*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1559*3420426cSMatt Spinler                        "property": { "name": "Value" }
1560*3420426cSMatt Spinler                    }
1561*3420426cSMatt Spinler                ],
1562*3420426cSMatt Spinler                "state_parameter_name": "proc_3_core_dvfs_increase_temp",
1563*3420426cSMatt Spinler                "delta": 255
1564*3420426cSMatt Spinler            },
1565*3420426cSMatt Spinler            {
1566*3420426cSMatt Spinler                "name": "set_net_increase_target",
1567*3420426cSMatt Spinler                "groups": [
1568*3420426cSMatt Spinler                    {
1569*3420426cSMatt Spinler                        "name": "proc4 core temps",
1570*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1571*3420426cSMatt Spinler                        "property": { "name": "Value" }
1572*3420426cSMatt Spinler                    }
1573*3420426cSMatt Spinler                ],
1574*3420426cSMatt Spinler                "state_parameter_name": "proc_4_core_dvfs_increase_temp",
1575*3420426cSMatt Spinler                "delta": 255
1576*3420426cSMatt Spinler            },
1577*3420426cSMatt Spinler            {
1578*3420426cSMatt Spinler                "name": "set_net_increase_target",
1579*3420426cSMatt Spinler                "groups": [
1580*3420426cSMatt Spinler                    {
1581*3420426cSMatt Spinler                        "name": "proc5 core temps",
1582*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1583*3420426cSMatt Spinler                        "property": { "name": "Value" }
1584*3420426cSMatt Spinler                    }
1585*3420426cSMatt Spinler                ],
1586*3420426cSMatt Spinler                "state_parameter_name": "proc_5_core_dvfs_increase_temp",
1587*3420426cSMatt Spinler                "delta": 255
1588*3420426cSMatt Spinler            },
1589*3420426cSMatt Spinler            {
1590*3420426cSMatt Spinler                "name": "set_net_increase_target",
1591*3420426cSMatt Spinler                "groups": [
1592*3420426cSMatt Spinler                    {
1593*3420426cSMatt Spinler                        "name": "proc6 core temps",
1594*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1595*3420426cSMatt Spinler                        "property": { "name": "Value" }
1596*3420426cSMatt Spinler                    }
1597*3420426cSMatt Spinler                ],
1598*3420426cSMatt Spinler                "state_parameter_name": "proc_6_core_dvfs_increase_temp",
1599*3420426cSMatt Spinler                "delta": 255
1600*3420426cSMatt Spinler            },
1601*3420426cSMatt Spinler            {
1602*3420426cSMatt Spinler                "name": "set_net_increase_target",
1603*3420426cSMatt Spinler                "groups": [
1604*3420426cSMatt Spinler                    {
1605*3420426cSMatt Spinler                        "name": "proc7 core temps",
1606*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1607*3420426cSMatt Spinler                        "property": { "name": "Value" }
1608*3420426cSMatt Spinler                    }
1609*3420426cSMatt Spinler                ],
1610*3420426cSMatt Spinler                "state_parameter_name": "proc_7_core_dvfs_increase_temp",
1611*3420426cSMatt Spinler                "delta": 255
1612*3420426cSMatt Spinler            },
1613*3420426cSMatt Spinler            {
1614*3420426cSMatt Spinler                "name": "set_net_increase_target",
1615*3420426cSMatt Spinler                "groups": [
1616*3420426cSMatt Spinler                    {
1617*3420426cSMatt Spinler                        "name": "proc0 ioring temp",
1618*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1619*3420426cSMatt Spinler                        "property": { "name": "Value" }
1620*3420426cSMatt Spinler                    }
1621*3420426cSMatt Spinler                ],
1622*3420426cSMatt Spinler                "state_parameter_name": "proc_0_ioring_dvfs_increase_temp",
1623*3420426cSMatt Spinler                "delta": 255
1624*3420426cSMatt Spinler            },
1625*3420426cSMatt Spinler            {
1626*3420426cSMatt Spinler                "name": "set_net_increase_target",
1627*3420426cSMatt Spinler                "groups": [
1628*3420426cSMatt Spinler                    {
1629*3420426cSMatt Spinler                        "name": "proc1 ioring temp",
1630*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1631*3420426cSMatt Spinler                        "property": { "name": "Value" }
1632*3420426cSMatt Spinler                    }
1633*3420426cSMatt Spinler                ],
1634*3420426cSMatt Spinler                "state_parameter_name": "proc_1_ioring_dvfs_increase_temp",
1635*3420426cSMatt Spinler                "delta": 255
1636*3420426cSMatt Spinler            },
1637*3420426cSMatt Spinler            {
1638*3420426cSMatt Spinler                "name": "set_net_increase_target",
1639*3420426cSMatt Spinler                "groups": [
1640*3420426cSMatt Spinler                    {
1641*3420426cSMatt Spinler                        "name": "proc2 ioring temp",
1642*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1643*3420426cSMatt Spinler                        "property": { "name": "Value" }
1644*3420426cSMatt Spinler                    }
1645*3420426cSMatt Spinler                ],
1646*3420426cSMatt Spinler                "state_parameter_name": "proc_2_ioring_dvfs_increase_temp",
1647*3420426cSMatt Spinler                "delta": 255
1648*3420426cSMatt Spinler            },
1649*3420426cSMatt Spinler            {
1650*3420426cSMatt Spinler                "name": "set_net_increase_target",
1651*3420426cSMatt Spinler                "groups": [
1652*3420426cSMatt Spinler                    {
1653*3420426cSMatt Spinler                        "name": "proc3 ioring temp",
1654*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1655*3420426cSMatt Spinler                        "property": { "name": "Value" }
1656*3420426cSMatt Spinler                    }
1657*3420426cSMatt Spinler                ],
1658*3420426cSMatt Spinler                "state_parameter_name": "proc_3_ioring_dvfs_increase_temp",
1659*3420426cSMatt Spinler                "delta": 255
1660*3420426cSMatt Spinler            },
1661*3420426cSMatt Spinler            {
1662*3420426cSMatt Spinler                "name": "set_net_increase_target",
1663*3420426cSMatt Spinler                "groups": [
1664*3420426cSMatt Spinler                    {
1665*3420426cSMatt Spinler                        "name": "proc4 ioring temp",
1666*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1667*3420426cSMatt Spinler                        "property": { "name": "Value" }
1668*3420426cSMatt Spinler                    }
1669*3420426cSMatt Spinler                ],
1670*3420426cSMatt Spinler                "state_parameter_name": "proc_4_ioring_dvfs_increase_temp",
1671*3420426cSMatt Spinler                "delta": 255
1672*3420426cSMatt Spinler            },
1673*3420426cSMatt Spinler            {
1674*3420426cSMatt Spinler                "name": "set_net_increase_target",
1675*3420426cSMatt Spinler                "groups": [
1676*3420426cSMatt Spinler                    {
1677*3420426cSMatt Spinler                        "name": "proc5 ioring temp",
1678*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1679*3420426cSMatt Spinler                        "property": { "name": "Value" }
1680*3420426cSMatt Spinler                    }
1681*3420426cSMatt Spinler                ],
1682*3420426cSMatt Spinler                "state_parameter_name": "proc_5_ioring_dvfs_increase_temp",
1683*3420426cSMatt Spinler                "delta": 255
1684*3420426cSMatt Spinler            },
1685*3420426cSMatt Spinler            {
1686*3420426cSMatt Spinler                "name": "set_net_increase_target",
1687*3420426cSMatt Spinler                "groups": [
1688*3420426cSMatt Spinler                    {
1689*3420426cSMatt Spinler                        "name": "proc6 ioring temp",
1690*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1691*3420426cSMatt Spinler                        "property": { "name": "Value" }
1692*3420426cSMatt Spinler                    }
1693*3420426cSMatt Spinler                ],
1694*3420426cSMatt Spinler                "state_parameter_name": "proc_6_ioring_dvfs_increase_temp",
1695*3420426cSMatt Spinler                "delta": 255
1696*3420426cSMatt Spinler            },
1697*3420426cSMatt Spinler            {
1698*3420426cSMatt Spinler                "name": "set_net_increase_target",
1699*3420426cSMatt Spinler                "groups": [
1700*3420426cSMatt Spinler                    {
1701*3420426cSMatt Spinler                        "name": "proc7 ioring temp",
1702*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1703*3420426cSMatt Spinler                        "property": { "name": "Value" }
1704*3420426cSMatt Spinler                    }
1705*3420426cSMatt Spinler                ],
1706*3420426cSMatt Spinler                "state_parameter_name": "proc_7_ioring_dvfs_increase_temp",
1707*3420426cSMatt Spinler                "delta": 255
1708*3420426cSMatt Spinler            },
1709*3420426cSMatt Spinler            {
1710*3420426cSMatt Spinler                "name": "set_net_increase_target",
1711*3420426cSMatt Spinler                "groups": [
1712*3420426cSMatt Spinler                    {
1713*3420426cSMatt Spinler                        "name": "dram temps",
1714*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1715*3420426cSMatt Spinler                        "property": { "name": "Value" }
1716*3420426cSMatt Spinler                    }
1717*3420426cSMatt Spinler                ],
1718*3420426cSMatt Spinler                "state_parameter_name": "dram_dvfs_increase_temp",
1719*3420426cSMatt Spinler                "delta": 175
1720*3420426cSMatt Spinler            },
1721*3420426cSMatt Spinler            {
1722*3420426cSMatt Spinler                "name": "set_net_increase_target",
1723*3420426cSMatt Spinler                "groups": [
1724*3420426cSMatt Spinler                    {
1725*3420426cSMatt Spinler                        "name": "pmic temps",
1726*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1727*3420426cSMatt Spinler                        "property": { "name": "Value" }
1728*3420426cSMatt Spinler                    }
1729*3420426cSMatt Spinler                ],
1730*3420426cSMatt Spinler                "state_parameter_name": "pmic_dvfs_increase_temp",
1731*3420426cSMatt Spinler                "delta": 200
1732*3420426cSMatt Spinler            },
1733*3420426cSMatt Spinler            {
1734*3420426cSMatt Spinler                "name": "set_net_increase_target",
1735*3420426cSMatt Spinler                "groups": [
1736*3420426cSMatt Spinler                    {
1737*3420426cSMatt Spinler                        "name": "internal memory buffer temps",
1738*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1739*3420426cSMatt Spinler                        "property": { "name": "Value" }
1740*3420426cSMatt Spinler                    }
1741*3420426cSMatt Spinler                ],
1742*3420426cSMatt Spinler                "state_parameter_name": "intmb_dvfs_increase_temp",
1743*3420426cSMatt Spinler                "delta": 150
1744*3420426cSMatt Spinler            },
1745*3420426cSMatt Spinler            {
1746*3420426cSMatt Spinler                "name": "set_net_increase_target",
1747*3420426cSMatt Spinler                "groups": [
1748*3420426cSMatt Spinler                    {
1749*3420426cSMatt Spinler                        "name": "dram and external memory buffer temps",
1750*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1751*3420426cSMatt Spinler                        "property": { "name": "Value" }
1752*3420426cSMatt Spinler                    }
1753*3420426cSMatt Spinler                ],
1754*3420426cSMatt Spinler                "state_parameter_name": "dram_extmb_dvfs_increase_temp",
1755*3420426cSMatt Spinler                "delta": 200
1756*3420426cSMatt Spinler            },
1757*3420426cSMatt Spinler            {
1758*3420426cSMatt Spinler                "name": "set_net_increase_target",
1759*3420426cSMatt Spinler                "groups": [
1760*3420426cSMatt Spinler                    {
1761*3420426cSMatt Spinler                        "name": "external memory buffer temps",
1762*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1763*3420426cSMatt Spinler                        "property": { "name": "Value" }
1764*3420426cSMatt Spinler                    }
1765*3420426cSMatt Spinler                ],
1766*3420426cSMatt Spinler                "state_parameter_name": "extmb_dvfs_increase_temp",
1767*3420426cSMatt Spinler                "delta": 200
1768*3420426cSMatt Spinler            },
1769*3420426cSMatt Spinler            {
1770*3420426cSMatt Spinler                "name": "set_net_increase_target",
1771*3420426cSMatt Spinler                "groups": [
1772*3420426cSMatt Spinler                    {
1773*3420426cSMatt Spinler                        "name": "vdd vrm temps",
1774*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1775*3420426cSMatt Spinler                        "property": { "name": "Value" }
1776*3420426cSMatt Spinler                    }
1777*3420426cSMatt Spinler                ],
1778*3420426cSMatt Spinler                "state": 85.0,
1779*3420426cSMatt Spinler                "delta": 255
1780*3420426cSMatt Spinler            },
1781*3420426cSMatt Spinler            {
1782*3420426cSMatt Spinler                "name": "set_net_increase_target",
1783*3420426cSMatt Spinler                "groups": [
1784*3420426cSMatt Spinler                    {
1785*3420426cSMatt Spinler                        "name": "nvme temps",
1786*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1787*3420426cSMatt Spinler                        "property": { "name": "Value" }
1788*3420426cSMatt Spinler                    }
1789*3420426cSMatt Spinler                ],
1790*3420426cSMatt Spinler                "state": 58.0,
1791*3420426cSMatt Spinler                "delta": 200
1792*3420426cSMatt Spinler            },
1793*3420426cSMatt Spinler            {
1794*3420426cSMatt Spinler                "name": "set_net_increase_target",
1795*3420426cSMatt Spinler                "groups": [
1796*3420426cSMatt Spinler                    {
1797*3420426cSMatt Spinler                        "name": "planar temps",
1798*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1799*3420426cSMatt Spinler                        "property": { "name": "Value" }
1800*3420426cSMatt Spinler                    }
1801*3420426cSMatt Spinler                ],
1802*3420426cSMatt Spinler                "state": 50.0,
1803*3420426cSMatt Spinler                "delta": 255
1804*3420426cSMatt Spinler            },
1805*3420426cSMatt Spinler            {
1806*3420426cSMatt Spinler                "name": "set_net_increase_target",
1807*3420426cSMatt Spinler                "groups": [
1808*3420426cSMatt Spinler                    {
1809*3420426cSMatt Spinler                        "name": "pcie cable card temps",
1810*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1811*3420426cSMatt Spinler                        "property": { "name": "Value" }
1812*3420426cSMatt Spinler                    }
1813*3420426cSMatt Spinler                ],
1814*3420426cSMatt Spinler                "state": 70.0,
1815*3420426cSMatt Spinler                "delta": 255
1816*3420426cSMatt Spinler            },
1817*3420426cSMatt Spinler            {
1818*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1819*3420426cSMatt Spinler                "groups": [
1820*3420426cSMatt Spinler                    {
1821*3420426cSMatt Spinler                        "name": "proc0 core temps",
1822*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1823*3420426cSMatt Spinler                        "property": { "name": "Value" }
1824*3420426cSMatt Spinler                    }
1825*3420426cSMatt Spinler                ],
1826*3420426cSMatt Spinler                "state_parameter_name": "proc_0_core_dvfs_decrease_temp",
1827*3420426cSMatt Spinler                "delta": 50
1828*3420426cSMatt Spinler            },
1829*3420426cSMatt Spinler            {
1830*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1831*3420426cSMatt Spinler                "groups": [
1832*3420426cSMatt Spinler                    {
1833*3420426cSMatt Spinler                        "name": "proc1 core temps",
1834*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1835*3420426cSMatt Spinler                        "property": { "name": "Value" }
1836*3420426cSMatt Spinler                    }
1837*3420426cSMatt Spinler                ],
1838*3420426cSMatt Spinler                "state_parameter_name": "proc_1_core_dvfs_decrease_temp",
1839*3420426cSMatt Spinler                "delta": 50
1840*3420426cSMatt Spinler            },
1841*3420426cSMatt Spinler            {
1842*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1843*3420426cSMatt Spinler                "groups": [
1844*3420426cSMatt Spinler                    {
1845*3420426cSMatt Spinler                        "name": "proc2 core temps",
1846*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1847*3420426cSMatt Spinler                        "property": { "name": "Value" }
1848*3420426cSMatt Spinler                    }
1849*3420426cSMatt Spinler                ],
1850*3420426cSMatt Spinler                "state_parameter_name": "proc_2_core_dvfs_decrease_temp",
1851*3420426cSMatt Spinler                "delta": 50
1852*3420426cSMatt Spinler            },
1853*3420426cSMatt Spinler            {
1854*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1855*3420426cSMatt Spinler                "groups": [
1856*3420426cSMatt Spinler                    {
1857*3420426cSMatt Spinler                        "name": "proc3 core temps",
1858*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1859*3420426cSMatt Spinler                        "property": { "name": "Value" }
1860*3420426cSMatt Spinler                    }
1861*3420426cSMatt Spinler                ],
1862*3420426cSMatt Spinler                "state_parameter_name": "proc_3_core_dvfs_decrease_temp",
1863*3420426cSMatt Spinler                "delta": 50
1864*3420426cSMatt Spinler            },
1865*3420426cSMatt Spinler            {
1866*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1867*3420426cSMatt Spinler                "groups": [
1868*3420426cSMatt Spinler                    {
1869*3420426cSMatt Spinler                        "name": "proc4 core temps",
1870*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1871*3420426cSMatt Spinler                        "property": { "name": "Value" }
1872*3420426cSMatt Spinler                    }
1873*3420426cSMatt Spinler                ],
1874*3420426cSMatt Spinler                "state_parameter_name": "proc_4_core_dvfs_decrease_temp",
1875*3420426cSMatt Spinler                "delta": 50
1876*3420426cSMatt Spinler            },
1877*3420426cSMatt Spinler            {
1878*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1879*3420426cSMatt Spinler                "groups": [
1880*3420426cSMatt Spinler                    {
1881*3420426cSMatt Spinler                        "name": "proc5 core temps",
1882*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1883*3420426cSMatt Spinler                        "property": { "name": "Value" }
1884*3420426cSMatt Spinler                    }
1885*3420426cSMatt Spinler                ],
1886*3420426cSMatt Spinler                "state_parameter_name": "proc_5_core_dvfs_decrease_temp",
1887*3420426cSMatt Spinler                "delta": 50
1888*3420426cSMatt Spinler            },
1889*3420426cSMatt Spinler            {
1890*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1891*3420426cSMatt Spinler                "groups": [
1892*3420426cSMatt Spinler                    {
1893*3420426cSMatt Spinler                        "name": "proc6 core temps",
1894*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1895*3420426cSMatt Spinler                        "property": { "name": "Value" }
1896*3420426cSMatt Spinler                    }
1897*3420426cSMatt Spinler                ],
1898*3420426cSMatt Spinler                "state_parameter_name": "proc_6_core_dvfs_decrease_temp",
1899*3420426cSMatt Spinler                "delta": 50
1900*3420426cSMatt Spinler            },
1901*3420426cSMatt Spinler            {
1902*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1903*3420426cSMatt Spinler                "groups": [
1904*3420426cSMatt Spinler                    {
1905*3420426cSMatt Spinler                        "name": "proc7 core temps",
1906*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1907*3420426cSMatt Spinler                        "property": { "name": "Value" }
1908*3420426cSMatt Spinler                    }
1909*3420426cSMatt Spinler                ],
1910*3420426cSMatt Spinler                "state_parameter_name": "proc_7_core_dvfs_decrease_temp",
1911*3420426cSMatt Spinler                "delta": 50
1912*3420426cSMatt Spinler            },
1913*3420426cSMatt Spinler            {
1914*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1915*3420426cSMatt Spinler                "groups": [
1916*3420426cSMatt Spinler                    {
1917*3420426cSMatt Spinler                        "name": "proc0 ioring temp",
1918*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1919*3420426cSMatt Spinler                        "property": { "name": "Value" }
1920*3420426cSMatt Spinler                    }
1921*3420426cSMatt Spinler                ],
1922*3420426cSMatt Spinler                "state_parameter_name": "proc_0_ioring_dvfs_decrease_temp",
1923*3420426cSMatt Spinler                "delta": 50
1924*3420426cSMatt Spinler            },
1925*3420426cSMatt Spinler            {
1926*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1927*3420426cSMatt Spinler                "groups": [
1928*3420426cSMatt Spinler                    {
1929*3420426cSMatt Spinler                        "name": "proc1 ioring temp",
1930*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1931*3420426cSMatt Spinler                        "property": { "name": "Value" }
1932*3420426cSMatt Spinler                    }
1933*3420426cSMatt Spinler                ],
1934*3420426cSMatt Spinler                "state_parameter_name": "proc_1_ioring_dvfs_decrease_temp",
1935*3420426cSMatt Spinler                "delta": 50
1936*3420426cSMatt Spinler            },
1937*3420426cSMatt Spinler            {
1938*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1939*3420426cSMatt Spinler                "groups": [
1940*3420426cSMatt Spinler                    {
1941*3420426cSMatt Spinler                        "name": "proc2 ioring temp",
1942*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1943*3420426cSMatt Spinler                        "property": { "name": "Value" }
1944*3420426cSMatt Spinler                    }
1945*3420426cSMatt Spinler                ],
1946*3420426cSMatt Spinler                "state_parameter_name": "proc_2_ioring_dvfs_decrease_temp",
1947*3420426cSMatt Spinler                "delta": 50
1948*3420426cSMatt Spinler            },
1949*3420426cSMatt Spinler            {
1950*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1951*3420426cSMatt Spinler                "groups": [
1952*3420426cSMatt Spinler                    {
1953*3420426cSMatt Spinler                        "name": "proc3 ioring temp",
1954*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1955*3420426cSMatt Spinler                        "property": { "name": "Value" }
1956*3420426cSMatt Spinler                    }
1957*3420426cSMatt Spinler                ],
1958*3420426cSMatt Spinler                "state_parameter_name": "proc_3_ioring_dvfs_decrease_temp",
1959*3420426cSMatt Spinler                "delta": 50
1960*3420426cSMatt Spinler            },
1961*3420426cSMatt Spinler            {
1962*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1963*3420426cSMatt Spinler                "groups": [
1964*3420426cSMatt Spinler                    {
1965*3420426cSMatt Spinler                        "name": "proc4 ioring temp",
1966*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1967*3420426cSMatt Spinler                        "property": { "name": "Value" }
1968*3420426cSMatt Spinler                    }
1969*3420426cSMatt Spinler                ],
1970*3420426cSMatt Spinler                "state_parameter_name": "proc_4_ioring_dvfs_decrease_temp",
1971*3420426cSMatt Spinler                "delta": 50
1972*3420426cSMatt Spinler            },
1973*3420426cSMatt Spinler            {
1974*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1975*3420426cSMatt Spinler                "groups": [
1976*3420426cSMatt Spinler                    {
1977*3420426cSMatt Spinler                        "name": "proc5 ioring temp",
1978*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1979*3420426cSMatt Spinler                        "property": { "name": "Value" }
1980*3420426cSMatt Spinler                    }
1981*3420426cSMatt Spinler                ],
1982*3420426cSMatt Spinler                "state_parameter_name": "proc_5_ioring_dvfs_decrease_temp",
1983*3420426cSMatt Spinler                "delta": 50
1984*3420426cSMatt Spinler            },
1985*3420426cSMatt Spinler            {
1986*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1987*3420426cSMatt Spinler                "groups": [
1988*3420426cSMatt Spinler                    {
1989*3420426cSMatt Spinler                        "name": "proc6 ioring temp",
1990*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
1991*3420426cSMatt Spinler                        "property": { "name": "Value" }
1992*3420426cSMatt Spinler                    }
1993*3420426cSMatt Spinler                ],
1994*3420426cSMatt Spinler                "state_parameter_name": "proc_6_ioring_dvfs_decrease_temp",
1995*3420426cSMatt Spinler                "delta": 50
1996*3420426cSMatt Spinler            },
1997*3420426cSMatt Spinler            {
1998*3420426cSMatt Spinler                "name": "set_net_decrease_target",
1999*3420426cSMatt Spinler                "groups": [
2000*3420426cSMatt Spinler                    {
2001*3420426cSMatt Spinler                        "name": "proc7 ioring temp",
2002*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2003*3420426cSMatt Spinler                        "property": { "name": "Value" }
2004*3420426cSMatt Spinler                    }
2005*3420426cSMatt Spinler                ],
2006*3420426cSMatt Spinler                "state_parameter_name": "proc_7_ioring_dvfs_decrease_temp",
2007*3420426cSMatt Spinler                "delta": 50
2008*3420426cSMatt Spinler            },
2009*3420426cSMatt Spinler            {
2010*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2011*3420426cSMatt Spinler                "groups": [
2012*3420426cSMatt Spinler                    {
2013*3420426cSMatt Spinler                        "name": "dram temps",
2014*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2015*3420426cSMatt Spinler                        "property": { "name": "Value" }
2016*3420426cSMatt Spinler                    }
2017*3420426cSMatt Spinler                ],
2018*3420426cSMatt Spinler                "state_parameter_name": "dram_dvfs_decrease_temp",
2019*3420426cSMatt Spinler                "delta": 40
2020*3420426cSMatt Spinler            },
2021*3420426cSMatt Spinler            {
2022*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2023*3420426cSMatt Spinler                "groups": [
2024*3420426cSMatt Spinler                    {
2025*3420426cSMatt Spinler                        "name": "pmic temps",
2026*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2027*3420426cSMatt Spinler                        "property": { "name": "Value" }
2028*3420426cSMatt Spinler                    }
2029*3420426cSMatt Spinler                ],
2030*3420426cSMatt Spinler                "state_parameter_name": "pmic_dvfs_decrease_temp",
2031*3420426cSMatt Spinler                "delta": 40
2032*3420426cSMatt Spinler            },
2033*3420426cSMatt Spinler            {
2034*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2035*3420426cSMatt Spinler                "groups": [
2036*3420426cSMatt Spinler                    {
2037*3420426cSMatt Spinler                        "name": "internal memory buffer temps",
2038*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2039*3420426cSMatt Spinler                        "property": { "name": "Value" }
2040*3420426cSMatt Spinler                    }
2041*3420426cSMatt Spinler                ],
2042*3420426cSMatt Spinler                "state_parameter_name": "intmb_dvfs_decrease_temp",
2043*3420426cSMatt Spinler                "delta": 40
2044*3420426cSMatt Spinler            },
2045*3420426cSMatt Spinler            {
2046*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2047*3420426cSMatt Spinler                "groups": [
2048*3420426cSMatt Spinler                    {
2049*3420426cSMatt Spinler                        "name": "dram and external memory buffer temps",
2050*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2051*3420426cSMatt Spinler                        "property": { "name": "Value" }
2052*3420426cSMatt Spinler                    }
2053*3420426cSMatt Spinler                ],
2054*3420426cSMatt Spinler                "state_parameter_name": "dram_extmb_dvfs_decrease_temp",
2055*3420426cSMatt Spinler                "delta": 40
2056*3420426cSMatt Spinler            },
2057*3420426cSMatt Spinler            {
2058*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2059*3420426cSMatt Spinler                "groups": [
2060*3420426cSMatt Spinler                    {
2061*3420426cSMatt Spinler                        "name": "external memory buffer temps",
2062*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2063*3420426cSMatt Spinler                        "property": { "name": "Value" }
2064*3420426cSMatt Spinler                    }
2065*3420426cSMatt Spinler                ],
2066*3420426cSMatt Spinler                "state_parameter_name": "extmb_dvfs_decrease_temp",
2067*3420426cSMatt Spinler                "delta": 40
2068*3420426cSMatt Spinler            },
2069*3420426cSMatt Spinler            {
2070*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2071*3420426cSMatt Spinler                "groups": [
2072*3420426cSMatt Spinler                    {
2073*3420426cSMatt Spinler                        "name": "vdd vrm temps",
2074*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2075*3420426cSMatt Spinler                        "property": { "name": "Value" }
2076*3420426cSMatt Spinler                    }
2077*3420426cSMatt Spinler                ],
2078*3420426cSMatt Spinler                "state": 80.0,
2079*3420426cSMatt Spinler                "delta": 30
2080*3420426cSMatt Spinler            },
2081*3420426cSMatt Spinler            {
2082*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2083*3420426cSMatt Spinler                "groups": [
2084*3420426cSMatt Spinler                    {
2085*3420426cSMatt Spinler                        "name": "nvme temps",
2086*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2087*3420426cSMatt Spinler                        "property": { "name": "Value" }
2088*3420426cSMatt Spinler                    }
2089*3420426cSMatt Spinler                ],
2090*3420426cSMatt Spinler                "state": 55.0,
2091*3420426cSMatt Spinler                "delta": 40
2092*3420426cSMatt Spinler            },
2093*3420426cSMatt Spinler            {
2094*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2095*3420426cSMatt Spinler                "groups": [
2096*3420426cSMatt Spinler                    {
2097*3420426cSMatt Spinler                        "name": "planar temps",
2098*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2099*3420426cSMatt Spinler                        "property": { "name": "Value" }
2100*3420426cSMatt Spinler                    }
2101*3420426cSMatt Spinler                ],
2102*3420426cSMatt Spinler                "state": 48.0,
2103*3420426cSMatt Spinler                "delta": 80
2104*3420426cSMatt Spinler            },
2105*3420426cSMatt Spinler            {
2106*3420426cSMatt Spinler                "name": "set_net_decrease_target",
2107*3420426cSMatt Spinler                "groups": [
2108*3420426cSMatt Spinler                    {
2109*3420426cSMatt Spinler                        "name": "pcie cable card temps",
2110*3420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
2111*3420426cSMatt Spinler                        "property": { "name": "Value" }
2112*3420426cSMatt Spinler                    }
2113*3420426cSMatt Spinler                ],
2114*3420426cSMatt Spinler                "state": 65.0,
2115*3420426cSMatt Spinler                "delta": 80
2116*3420426cSMatt Spinler            }
2117*3420426cSMatt Spinler        ]
2118*3420426cSMatt Spinler    },
2119*3420426cSMatt Spinler    {
2120*3420426cSMatt Spinler        // Remove NVMe temperature objects from cache when they are removed from
2121*3420426cSMatt Spinler        // dbus. There's no need to react to their removal.
2122*3420426cSMatt Spinler        "name": "remove nvme objects",
2123*3420426cSMatt Spinler        "groups": [
2124*3420426cSMatt Spinler            {
2125*3420426cSMatt Spinler                "name": "nvme temps",
2126*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2127*3420426cSMatt Spinler                "property": { "name": "Value" }
2128*3420426cSMatt Spinler            },
2129*3420426cSMatt Spinler            {
2130*3420426cSMatt Spinler                "name": "nvme temps",
2131*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2132*3420426cSMatt Spinler                "property": { "name": "Functional" }
2133*3420426cSMatt Spinler            }
2134*3420426cSMatt Spinler        ],
2135*3420426cSMatt Spinler        "triggers": [
2136*3420426cSMatt Spinler            {
2137*3420426cSMatt Spinler                "class": "signal",
2138*3420426cSMatt Spinler                "signal": "interfaces_removed"
2139*3420426cSMatt Spinler            }
2140*3420426cSMatt Spinler        ]
2141*3420426cSMatt Spinler    },
2142*3420426cSMatt Spinler    {
2143*3420426cSMatt Spinler        "name": "set pcie floor index",
2144*3420426cSMatt Spinler        "groups": [
2145*3420426cSMatt Spinler            {
2146*3420426cSMatt Spinler                "name": "pcie slots",
2147*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.PowerState",
2148*3420426cSMatt Spinler                "property": {
2149*3420426cSMatt Spinler                    "name": "PowerState"
2150*3420426cSMatt Spinler                }
2151*3420426cSMatt Spinler            },
2152*3420426cSMatt Spinler            {
2153*3420426cSMatt Spinler                "name": "pcie cards",
2154*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
2155*3420426cSMatt Spinler                "property": {
2156*3420426cSMatt Spinler                    "name": "Function0DeviceId"
2157*3420426cSMatt Spinler                }
2158*3420426cSMatt Spinler            },
2159*3420426cSMatt Spinler            {
2160*3420426cSMatt Spinler                "name": "pcie cards",
2161*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
2162*3420426cSMatt Spinler                "property": {
2163*3420426cSMatt Spinler                    "name": "Function0VendorId"
2164*3420426cSMatt Spinler                }
2165*3420426cSMatt Spinler            },
2166*3420426cSMatt Spinler            {
2167*3420426cSMatt Spinler                "name": "pcie cards",
2168*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
2169*3420426cSMatt Spinler                "property": {
2170*3420426cSMatt Spinler                    "name": "Function0SubsystemId"
2171*3420426cSMatt Spinler                }
2172*3420426cSMatt Spinler            },
2173*3420426cSMatt Spinler            {
2174*3420426cSMatt Spinler                "name": "pcie cards",
2175*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
2176*3420426cSMatt Spinler                "property": {
2177*3420426cSMatt Spinler                    "name": "Function0SubsystemVendorId"
2178*3420426cSMatt Spinler                }
2179*3420426cSMatt Spinler            }
2180*3420426cSMatt Spinler        ],
2181*3420426cSMatt Spinler        "triggers": [
2182*3420426cSMatt Spinler            {
2183*3420426cSMatt Spinler                "class": "init",
2184*3420426cSMatt Spinler                "method": "get_properties"
2185*3420426cSMatt Spinler            },
2186*3420426cSMatt Spinler            {
2187*3420426cSMatt Spinler                "class": "signal",
2188*3420426cSMatt Spinler                "signal": "properties_changed"
2189*3420426cSMatt Spinler            },
2190*3420426cSMatt Spinler            {
2191*3420426cSMatt Spinler                "class": "signal",
2192*3420426cSMatt Spinler                "signal": "interfaces_added"
2193*3420426cSMatt Spinler            }
2194*3420426cSMatt Spinler        ],
2195*3420426cSMatt Spinler        "actions": [
2196*3420426cSMatt Spinler            {
2197*3420426cSMatt Spinler                "name": "pcie_card_floors",
2198*3420426cSMatt Spinler                "use_config_specific_files": true,
2199*3420426cSMatt Spinler                "settle_time": 2
2200*3420426cSMatt Spinler            }
2201*3420426cSMatt Spinler        ]
2202*3420426cSMatt Spinler    },
2203*3420426cSMatt Spinler    {
2204*3420426cSMatt Spinler        "name": "Set altitude offset parameter",
2205*3420426cSMatt Spinler        "groups": [
2206*3420426cSMatt Spinler            {
2207*3420426cSMatt Spinler                "name": "altitude",
2208*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2209*3420426cSMatt Spinler                "property": { "name": "Value" }
2210*3420426cSMatt Spinler            }
2211*3420426cSMatt Spinler        ],
2212*3420426cSMatt Spinler        "triggers": [
2213*3420426cSMatt Spinler            {
2214*3420426cSMatt Spinler                "class": "init",
2215*3420426cSMatt Spinler                "method": "get_properties"
2216*3420426cSMatt Spinler            },
2217*3420426cSMatt Spinler            {
2218*3420426cSMatt Spinler                "class": "signal",
2219*3420426cSMatt Spinler                "signal": "interfaces_added"
2220*3420426cSMatt Spinler            },
2221*3420426cSMatt Spinler            {
2222*3420426cSMatt Spinler                // Refresh altitude every 24hrs
2223*3420426cSMatt Spinler                "class": "timer",
2224*3420426cSMatt Spinler                "type": "repeating",
2225*3420426cSMatt Spinler                "interval": 86400000000,
2226*3420426cSMatt Spinler                "preload_groups": true
2227*3420426cSMatt Spinler            }
2228*3420426cSMatt Spinler        ],
2229*3420426cSMatt Spinler        "actions": [
2230*3420426cSMatt Spinler            {
2231*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
2232*3420426cSMatt Spinler                "parameter_name": "ambient_20_altitude_offset",
2233*3420426cSMatt Spinler                "modifier": {
2234*3420426cSMatt Spinler                    "operator": "less_than",
2235*3420426cSMatt Spinler                    "default_value": 1500,
2236*3420426cSMatt Spinler                    "value": [
2237*3420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
2238*3420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 375 },
2239*3420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 550 },
2240*3420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 775 },
2241*3420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 1000 },
2242*3420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 1275 }
2243*3420426cSMatt Spinler                    ]
2244*3420426cSMatt Spinler                }
2245*3420426cSMatt Spinler            },
2246*3420426cSMatt Spinler            {
2247*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
2248*3420426cSMatt Spinler                "parameter_name": "ambient_25_altitude_offset",
2249*3420426cSMatt Spinler                "modifier": {
2250*3420426cSMatt Spinler                    "operator": "less_than",
2251*3420426cSMatt Spinler                    "default_value": 2000,
2252*3420426cSMatt Spinler                    "value": [
2253*3420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
2254*3420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 450 },
2255*3420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 700 },
2256*3420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 975 },
2257*3420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 1275 },
2258*3420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 1625 }
2259*3420426cSMatt Spinler                    ]
2260*3420426cSMatt Spinler                }
2261*3420426cSMatt Spinler            },
2262*3420426cSMatt Spinler            {
2263*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
2264*3420426cSMatt Spinler                "parameter_name": "ambient_30_altitude_offset",
2265*3420426cSMatt Spinler                "modifier": {
2266*3420426cSMatt Spinler                    "operator": "less_than",
2267*3420426cSMatt Spinler                    "default_value": 2500,
2268*3420426cSMatt Spinler                    "value": [
2269*3420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
2270*3420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 600 },
2271*3420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 900 },
2272*3420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 1275 },
2273*3420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 1650 },
2274*3420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 2100 }
2275*3420426cSMatt Spinler                    ]
2276*3420426cSMatt Spinler                }
2277*3420426cSMatt Spinler            },
2278*3420426cSMatt Spinler            {
2279*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
2280*3420426cSMatt Spinler                "parameter_name": "ambient_35_altitude_offset",
2281*3420426cSMatt Spinler                "modifier": {
2282*3420426cSMatt Spinler                    "operator": "less_than",
2283*3420426cSMatt Spinler                    "default_value": 3000,
2284*3420426cSMatt Spinler                    "value": [
2285*3420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
2286*3420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 750 },
2287*3420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 1175 },
2288*3420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 1625 },
2289*3420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 2125 },
2290*3420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 2725 }
2291*3420426cSMatt Spinler                    ]
2292*3420426cSMatt Spinler                }
2293*3420426cSMatt Spinler            },
2294*3420426cSMatt Spinler            {
2295*3420426cSMatt Spinler                "name": "set_parameter_from_group_max",
2296*3420426cSMatt Spinler                "parameter_name": "ambient_40_altitude_offset",
2297*3420426cSMatt Spinler                "modifier": {
2298*3420426cSMatt Spinler                    "operator": "less_than",
2299*3420426cSMatt Spinler                    "default_value": 3500,
2300*3420426cSMatt Spinler                    "value": [
2301*3420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
2302*3420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 975 },
2303*3420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 1500 },
2304*3420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 2100 },
2305*3420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 2750 },
2306*3420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 3500 }
2307*3420426cSMatt Spinler                    ]
2308*3420426cSMatt Spinler                }
2309*3420426cSMatt Spinler            }
2310*3420426cSMatt Spinler        ]
2311*3420426cSMatt Spinler    },
2312*3420426cSMatt Spinler    {
2313*3420426cSMatt Spinler        "name": "Fan floors",
2314*3420426cSMatt Spinler        "groups": [
2315*3420426cSMatt Spinler            {
2316*3420426cSMatt Spinler                "name": "ambient temp",
2317*3420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2318*3420426cSMatt Spinler                "property": { "name": "Value" }
2319*3420426cSMatt Spinler            }
2320*3420426cSMatt Spinler        ],
2321*3420426cSMatt Spinler        "triggers": [
2322*3420426cSMatt Spinler            {
2323*3420426cSMatt Spinler                "class": "init",
2324*3420426cSMatt Spinler                "method": "get_properties"
2325*3420426cSMatt Spinler            },
2326*3420426cSMatt Spinler            {
2327*3420426cSMatt Spinler                "class": "signal",
2328*3420426cSMatt Spinler                "signal": "properties_changed"
2329*3420426cSMatt Spinler            },
2330*3420426cSMatt Spinler            {
2331*3420426cSMatt Spinler                "class": "signal",
2332*3420426cSMatt Spinler                "signal": "interfaces_added"
2333*3420426cSMatt Spinler            },
2334*3420426cSMatt Spinler            {
2335*3420426cSMatt Spinler                "class": "parameter",
2336*3420426cSMatt Spinler                "parameter": "pcie_floor_index"
2337*3420426cSMatt Spinler            },
2338*3420426cSMatt Spinler            {
2339*3420426cSMatt Spinler                "class": "parameter",
2340*3420426cSMatt Spinler                "parameter": "ambient_20_altitude_offset"
2341*3420426cSMatt Spinler            },
2342*3420426cSMatt Spinler            {
2343*3420426cSMatt Spinler                "class": "parameter",
2344*3420426cSMatt Spinler                "parameter": "ambient_25_altitude_offset"
2345*3420426cSMatt Spinler            },
2346*3420426cSMatt Spinler            {
2347*3420426cSMatt Spinler                "class": "parameter",
2348*3420426cSMatt Spinler                "parameter": "ambient_30_altitude_offset"
2349*3420426cSMatt Spinler            },
2350*3420426cSMatt Spinler            {
2351*3420426cSMatt Spinler                "class": "parameter",
2352*3420426cSMatt Spinler                "parameter": "ambient_35_altitude_offset"
2353*3420426cSMatt Spinler            },
2354*3420426cSMatt Spinler            {
2355*3420426cSMatt Spinler                "class": "parameter",
2356*3420426cSMatt Spinler                "parameter": "ambient_40_altitude_offset"
2357*3420426cSMatt Spinler            }
2358*3420426cSMatt Spinler        ],
2359*3420426cSMatt Spinler        "actions": [
2360*3420426cSMatt Spinler            {
2361*3420426cSMatt Spinler                "name": "mapped_floor",
2362*3420426cSMatt Spinler                "key_group": "ambient temp",
2363*3420426cSMatt Spinler                "fan_floors": [
2364*3420426cSMatt Spinler                    {
2365*3420426cSMatt Spinler                        // Entry valid for temps < 20
2366*3420426cSMatt Spinler                        "key": 20,
2367*3420426cSMatt Spinler                        "default_floor": 3800,
2368*3420426cSMatt Spinler                        "floor_offset_parameter": "ambient_20_altitude_offset",
2369*3420426cSMatt Spinler                        "floors": [
2370*3420426cSMatt Spinler                            {
2371*3420426cSMatt Spinler                                "parameter": "pcie_floor_index",
2372*3420426cSMatt Spinler                                "floors": [
2373*3420426cSMatt Spinler                                    { "value": 1, "floor": 3800 },
2374*3420426cSMatt Spinler                                    { "value": 2, "floor": 4200 },
2375*3420426cSMatt Spinler                                    { "value": 3, "floor": 4600 }
2376*3420426cSMatt Spinler                                ]
2377*3420426cSMatt Spinler                            }
2378*3420426cSMatt Spinler                        ]
2379*3420426cSMatt Spinler                    },
2380*3420426cSMatt Spinler                    {
2381*3420426cSMatt Spinler                        // Entry valid for temps < 25
2382*3420426cSMatt Spinler                        "key": 25,
2383*3420426cSMatt Spinler                        "default_floor": 4400,
2384*3420426cSMatt Spinler                        "floor_offset_parameter": "ambient_25_altitude_offset",
2385*3420426cSMatt Spinler                        "floors": [
2386*3420426cSMatt Spinler                            {
2387*3420426cSMatt Spinler                                "parameter": "pcie_floor_index",
2388*3420426cSMatt Spinler                                "floors": [
2389*3420426cSMatt Spinler                                    { "value": 1, "floor": 4400 },
2390*3420426cSMatt Spinler                                    { "value": 2, "floor": 4800 },
2391*3420426cSMatt Spinler                                    { "value": 3, "floor": 5400 }
2392*3420426cSMatt Spinler                                ]
2393*3420426cSMatt Spinler                            }
2394*3420426cSMatt Spinler                        ]
2395*3420426cSMatt Spinler                    },
2396*3420426cSMatt Spinler                    {
2397*3420426cSMatt Spinler                        // Entry valid for temps < 30
2398*3420426cSMatt Spinler                        "key": 30,
2399*3420426cSMatt Spinler                        "default_floor": 5000,
2400*3420426cSMatt Spinler                        "floor_offset_parameter": "ambient_30_altitude_offset",
2401*3420426cSMatt Spinler                        "floors": [
2402*3420426cSMatt Spinler                            {
2403*3420426cSMatt Spinler                                "parameter": "pcie_floor_index",
2404*3420426cSMatt Spinler                                "floors": [
2405*3420426cSMatt Spinler                                    { "value": 1, "floor": 5000 },
2406*3420426cSMatt Spinler                                    { "value": 2, "floor": 5600 },
2407*3420426cSMatt Spinler                                    { "value": 3, "floor": 6500 }
2408*3420426cSMatt Spinler                                ]
2409*3420426cSMatt Spinler                            }
2410*3420426cSMatt Spinler                        ]
2411*3420426cSMatt Spinler                    },
2412*3420426cSMatt Spinler                    {
2413*3420426cSMatt Spinler                        // Entry valid for temps < 35
2414*3420426cSMatt Spinler                        "key": 35,
2415*3420426cSMatt Spinler                        "default_floor": 5800,
2416*3420426cSMatt Spinler                        "floor_offset_parameter": "ambient_35_altitude_offset",
2417*3420426cSMatt Spinler                        "floors": [
2418*3420426cSMatt Spinler                            {
2419*3420426cSMatt Spinler                                "parameter": "pcie_floor_index",
2420*3420426cSMatt Spinler                                "floors": [
2421*3420426cSMatt Spinler                                    { "value": 1, "floor": 5800 },
2422*3420426cSMatt Spinler                                    { "value": 2, "floor": 6700 },
2423*3420426cSMatt Spinler                                    { "value": 3, "floor": 7700 }
2424*3420426cSMatt Spinler                                ]
2425*3420426cSMatt Spinler                            }
2426*3420426cSMatt Spinler                        ]
2427*3420426cSMatt Spinler                    },
2428*3420426cSMatt Spinler                    {
2429*3420426cSMatt Spinler                        // Entry valid for temps < 40
2430*3420426cSMatt Spinler                        "key": 40,
2431*3420426cSMatt Spinler                        "default_floor": 6900,
2432*3420426cSMatt Spinler                        "floor_offset_parameter": "ambient_40_altitude_offset",
2433*3420426cSMatt Spinler                        "floors": [
2434*3420426cSMatt Spinler                            {
2435*3420426cSMatt Spinler                                "parameter": "pcie_floor_index",
2436*3420426cSMatt Spinler                                "floors": [
2437*3420426cSMatt Spinler                                    { "value": 1, "floor": 6900 },
2438*3420426cSMatt Spinler                                    { "value": 2, "floor": 7900 },
2439*3420426cSMatt Spinler                                    { "value": 3, "floor": 9200 }
2440*3420426cSMatt Spinler                                ]
2441*3420426cSMatt Spinler                            }
2442*3420426cSMatt Spinler                        ]
2443*3420426cSMatt Spinler                    }
2444*3420426cSMatt Spinler                ]
2445*3420426cSMatt Spinler            }
2446*3420426cSMatt Spinler        ]
2447*3420426cSMatt Spinler    }
2448*3420426cSMatt Spinler]
2449