1*cb47a835SChris Cain{
2*cb47a835SChris Cain    "Exposes": [
3*cb47a835SChris Cain        {
4*cb47a835SChris Cain            "Address": "0x52",
5*cb47a835SChris Cain            "BindConnector": "Fan1 connector",
6*cb47a835SChris Cain            "Bus": 6,
7*cb47a835SChris Cain            "Index": 0,
8*cb47a835SChris Cain            "MaxReading": 36200,
9*cb47a835SChris Cain            "Name": "Fan1a_in",
10*cb47a835SChris Cain            "PowerState": "Always",
11*cb47a835SChris Cain            "Presence": {
12*cb47a835SChris Cain                "PinName": "FAN0_PRESENCE_R_N",
13*cb47a835SChris Cain                "Polarity": "Low"
14*cb47a835SChris Cain            },
15*cb47a835SChris Cain            "Thresholds": [
16*cb47a835SChris Cain                {
17*cb47a835SChris Cain                    "Direction": "less than",
18*cb47a835SChris Cain                    "Name": "lower critical",
19*cb47a835SChris Cain                    "Severity": 1,
20*cb47a835SChris Cain                    "Value": 0
21*cb47a835SChris Cain                },
22*cb47a835SChris Cain                {
23*cb47a835SChris Cain                    "Direction": "less than",
24*cb47a835SChris Cain                    "Name": "lower non critical",
25*cb47a835SChris Cain                    "Severity": 0,
26*cb47a835SChris Cain                    "Value": 1800
27*cb47a835SChris Cain                },
28*cb47a835SChris Cain                {
29*cb47a835SChris Cain                    "Direction": "greater than",
30*cb47a835SChris Cain                    "Name": "upper critical",
31*cb47a835SChris Cain                    "Severity": 1,
32*cb47a835SChris Cain                    "Value": 36200
33*cb47a835SChris Cain                },
34*cb47a835SChris Cain                {
35*cb47a835SChris Cain                    "Direction": "greater than",
36*cb47a835SChris Cain                    "Name": "upper non critical",
37*cb47a835SChris Cain                    "Severity": 0,
38*cb47a835SChris Cain                    "Value": 28960
39*cb47a835SChris Cain                }
40*cb47a835SChris Cain            ],
41*cb47a835SChris Cain            "Type": "I2CFan"
42*cb47a835SChris Cain        },
43*cb47a835SChris Cain        {
44*cb47a835SChris Cain            "Address": "0x52",
45*cb47a835SChris Cain            "BindConnector": "Fan1 connector",
46*cb47a835SChris Cain            "Bus": 6,
47*cb47a835SChris Cain            "Index": 1,
48*cb47a835SChris Cain            "MaxReading": 0,
49*cb47a835SChris Cain            "Name": "Fan1b_in",
50*cb47a835SChris Cain            "PowerState": "Always",
51*cb47a835SChris Cain            "Thresholds": [
52*cb47a835SChris Cain                {
53*cb47a835SChris Cain                    "Direction": "less than",
54*cb47a835SChris Cain                    "Name": "lower critical",
55*cb47a835SChris Cain                    "Severity": 1,
56*cb47a835SChris Cain                    "Value": 0
57*cb47a835SChris Cain                },
58*cb47a835SChris Cain                {
59*cb47a835SChris Cain                    "Direction": "less than",
60*cb47a835SChris Cain                    "Name": "lower non critical",
61*cb47a835SChris Cain                    "Severity": 0,
62*cb47a835SChris Cain                    "Value": 1800
63*cb47a835SChris Cain                },
64*cb47a835SChris Cain                {
65*cb47a835SChris Cain                    "Direction": "greater than",
66*cb47a835SChris Cain                    "Name": "upper critical",
67*cb47a835SChris Cain                    "Severity": 1,
68*cb47a835SChris Cain                    "Value": 36200
69*cb47a835SChris Cain                },
70*cb47a835SChris Cain                {
71*cb47a835SChris Cain                    "Direction": "greater than",
72*cb47a835SChris Cain                    "Name": "upper non critical",
73*cb47a835SChris Cain                    "Severity": 0,
74*cb47a835SChris Cain                    "Value": 28960
75*cb47a835SChris Cain                }
76*cb47a835SChris Cain            ],
77*cb47a835SChris Cain            "Type": "I2CFan"
78*cb47a835SChris Cain        },
79*cb47a835SChris Cain        {
80*cb47a835SChris Cain            "Address": "0x52",
81*cb47a835SChris Cain            "BindConnector": "Fan2 connector",
82*cb47a835SChris Cain            "Bus": 6,
83*cb47a835SChris Cain            "Index": 2,
84*cb47a835SChris Cain            "MaxReading": 0,
85*cb47a835SChris Cain            "Name": "Fan2a_in",
86*cb47a835SChris Cain            "PowerState": "Always",
87*cb47a835SChris Cain            "Presence": {
88*cb47a835SChris Cain                "PinName": "FAN1_PRESENCE_R_N",
89*cb47a835SChris Cain                "Polarity": "Low"
90*cb47a835SChris Cain            },
91*cb47a835SChris Cain            "Thresholds": [
92*cb47a835SChris Cain                {
93*cb47a835SChris Cain                    "Direction": "less than",
94*cb47a835SChris Cain                    "Name": "lower critical",
95*cb47a835SChris Cain                    "Severity": 1,
96*cb47a835SChris Cain                    "Value": 0
97*cb47a835SChris Cain                },
98*cb47a835SChris Cain                {
99*cb47a835SChris Cain                    "Direction": "less than",
100*cb47a835SChris Cain                    "Name": "lower non critical",
101*cb47a835SChris Cain                    "Severity": 0,
102*cb47a835SChris Cain                    "Value": 1800
103*cb47a835SChris Cain                },
104*cb47a835SChris Cain                {
105*cb47a835SChris Cain                    "Direction": "greater than",
106*cb47a835SChris Cain                    "Name": "upper critical",
107*cb47a835SChris Cain                    "Severity": 1,
108*cb47a835SChris Cain                    "Value": 36200
109*cb47a835SChris Cain                },
110*cb47a835SChris Cain                {
111*cb47a835SChris Cain                    "Direction": "greater than",
112*cb47a835SChris Cain                    "Name": "upper non critical",
113*cb47a835SChris Cain                    "Severity": 0,
114*cb47a835SChris Cain                    "Value": 28960
115*cb47a835SChris Cain                }
116*cb47a835SChris Cain            ],
117*cb47a835SChris Cain            "Type": "I2CFan"
118*cb47a835SChris Cain        },
119*cb47a835SChris Cain        {
120*cb47a835SChris Cain            "Address": "0x52",
121*cb47a835SChris Cain            "BindConnector": "Fan2 connector",
122*cb47a835SChris Cain            "Bus": 6,
123*cb47a835SChris Cain            "Index": 3,
124*cb47a835SChris Cain            "MaxReading": 0,
125*cb47a835SChris Cain            "Name": "Fan2b_in",
126*cb47a835SChris Cain            "PowerState": "Always",
127*cb47a835SChris Cain            "Thresholds": [
128*cb47a835SChris Cain                {
129*cb47a835SChris Cain                    "Direction": "less than",
130*cb47a835SChris Cain                    "Name": "lower critical",
131*cb47a835SChris Cain                    "Severity": 1,
132*cb47a835SChris Cain                    "Value": 0
133*cb47a835SChris Cain                },
134*cb47a835SChris Cain                {
135*cb47a835SChris Cain                    "Direction": "less than",
136*cb47a835SChris Cain                    "Name": "lower non critical",
137*cb47a835SChris Cain                    "Severity": 0,
138*cb47a835SChris Cain                    "Value": 1800
139*cb47a835SChris Cain                },
140*cb47a835SChris Cain                {
141*cb47a835SChris Cain                    "Direction": "greater than",
142*cb47a835SChris Cain                    "Name": "upper critical",
143*cb47a835SChris Cain                    "Severity": 1,
144*cb47a835SChris Cain                    "Value": 36200
145*cb47a835SChris Cain                },
146*cb47a835SChris Cain                {
147*cb47a835SChris Cain                    "Direction": "greater than",
148*cb47a835SChris Cain                    "Name": "upper non critical",
149*cb47a835SChris Cain                    "Severity": 0,
150*cb47a835SChris Cain                    "Value": 28960
151*cb47a835SChris Cain                }
152*cb47a835SChris Cain            ],
153*cb47a835SChris Cain            "Type": "I2CFan"
154*cb47a835SChris Cain        },
155*cb47a835SChris Cain        {
156*cb47a835SChris Cain            "Address": "0x52",
157*cb47a835SChris Cain            "BindConnector": "Fan3 connector",
158*cb47a835SChris Cain            "Bus": 6,
159*cb47a835SChris Cain            "Index": 4,
160*cb47a835SChris Cain            "MaxReading": 0,
161*cb47a835SChris Cain            "Name": "Fan3a_in",
162*cb47a835SChris Cain            "PowerState": "Always",
163*cb47a835SChris Cain            "Presence": {
164*cb47a835SChris Cain                "PinName": "FAN2_PRESENCE_R_N",
165*cb47a835SChris Cain                "Polarity": "Low"
166*cb47a835SChris Cain            },
167*cb47a835SChris Cain            "Thresholds": [
168*cb47a835SChris Cain                {
169*cb47a835SChris Cain                    "Direction": "less than",
170*cb47a835SChris Cain                    "Name": "lower critical",
171*cb47a835SChris Cain                    "Severity": 1,
172*cb47a835SChris Cain                    "Value": 0
173*cb47a835SChris Cain                },
174*cb47a835SChris Cain                {
175*cb47a835SChris Cain                    "Direction": "less than",
176*cb47a835SChris Cain                    "Name": "lower non critical",
177*cb47a835SChris Cain                    "Severity": 0,
178*cb47a835SChris Cain                    "Value": 1800
179*cb47a835SChris Cain                },
180*cb47a835SChris Cain                {
181*cb47a835SChris Cain                    "Direction": "greater than",
182*cb47a835SChris Cain                    "Name": "upper critical",
183*cb47a835SChris Cain                    "Severity": 1,
184*cb47a835SChris Cain                    "Value": 36200
185*cb47a835SChris Cain                },
186*cb47a835SChris Cain                {
187*cb47a835SChris Cain                    "Direction": "greater than",
188*cb47a835SChris Cain                    "Name": "upper non critical",
189*cb47a835SChris Cain                    "Severity": 0,
190*cb47a835SChris Cain                    "Value": 28960
191*cb47a835SChris Cain                }
192*cb47a835SChris Cain            ],
193*cb47a835SChris Cain            "Type": "I2CFan"
194*cb47a835SChris Cain        },
195*cb47a835SChris Cain        {
196*cb47a835SChris Cain            "Address": "0x52",
197*cb47a835SChris Cain            "BindConnector": "Fan3 connector",
198*cb47a835SChris Cain            "Bus": 6,
199*cb47a835SChris Cain            "Index": 5,
200*cb47a835SChris Cain            "MaxReading": 0,
201*cb47a835SChris Cain            "Name": "Fan3b_in",
202*cb47a835SChris Cain            "PowerState": "Always",
203*cb47a835SChris Cain            "Thresholds": [
204*cb47a835SChris Cain                {
205*cb47a835SChris Cain                    "Direction": "less than",
206*cb47a835SChris Cain                    "Name": "lower critical",
207*cb47a835SChris Cain                    "Severity": 1,
208*cb47a835SChris Cain                    "Value": 0
209*cb47a835SChris Cain                },
210*cb47a835SChris Cain                {
211*cb47a835SChris Cain                    "Direction": "less than",
212*cb47a835SChris Cain                    "Name": "lower non critical",
213*cb47a835SChris Cain                    "Severity": 0,
214*cb47a835SChris Cain                    "Value": 1800
215*cb47a835SChris Cain                },
216*cb47a835SChris Cain                {
217*cb47a835SChris Cain                    "Direction": "greater than",
218*cb47a835SChris Cain                    "Name": "upper critical",
219*cb47a835SChris Cain                    "Severity": 1,
220*cb47a835SChris Cain                    "Value": 36200
221*cb47a835SChris Cain                },
222*cb47a835SChris Cain                {
223*cb47a835SChris Cain                    "Direction": "greater than",
224*cb47a835SChris Cain                    "Name": "upper non critical",
225*cb47a835SChris Cain                    "Severity": 0,
226*cb47a835SChris Cain                    "Value": 28960
227*cb47a835SChris Cain                }
228*cb47a835SChris Cain            ],
229*cb47a835SChris Cain            "Type": "I2CFan"
230*cb47a835SChris Cain        },
231*cb47a835SChris Cain        {
232*cb47a835SChris Cain            "Address": "0x52",
233*cb47a835SChris Cain            "BindConnector": "Fan4 connector",
234*cb47a835SChris Cain            "Bus": 6,
235*cb47a835SChris Cain            "Index": 6,
236*cb47a835SChris Cain            "MaxReading": 0,
237*cb47a835SChris Cain            "Name": "Fan4a_in",
238*cb47a835SChris Cain            "PowerState": "Always",
239*cb47a835SChris Cain            "Presence": {
240*cb47a835SChris Cain                "PinName": "FAN3_PRESENCE_R_N",
241*cb47a835SChris Cain                "Polarity": "Low"
242*cb47a835SChris Cain            },
243*cb47a835SChris Cain            "Thresholds": [
244*cb47a835SChris Cain                {
245*cb47a835SChris Cain                    "Direction": "less than",
246*cb47a835SChris Cain                    "Name": "lower critical",
247*cb47a835SChris Cain                    "Severity": 1,
248*cb47a835SChris Cain                    "Value": 0
249*cb47a835SChris Cain                },
250*cb47a835SChris Cain                {
251*cb47a835SChris Cain                    "Direction": "less than",
252*cb47a835SChris Cain                    "Name": "lower non critical",
253*cb47a835SChris Cain                    "Severity": 0,
254*cb47a835SChris Cain                    "Value": 1800
255*cb47a835SChris Cain                },
256*cb47a835SChris Cain                {
257*cb47a835SChris Cain                    "Direction": "greater than",
258*cb47a835SChris Cain                    "Name": "upper critical",
259*cb47a835SChris Cain                    "Severity": 1,
260*cb47a835SChris Cain                    "Value": 36200
261*cb47a835SChris Cain                },
262*cb47a835SChris Cain                {
263*cb47a835SChris Cain                    "Direction": "greater than",
264*cb47a835SChris Cain                    "Name": "upper non critical",
265*cb47a835SChris Cain                    "Severity": 0,
266*cb47a835SChris Cain                    "Value": 28960
267*cb47a835SChris Cain                }
268*cb47a835SChris Cain            ],
269*cb47a835SChris Cain            "Type": "I2CFan"
270*cb47a835SChris Cain        },
271*cb47a835SChris Cain        {
272*cb47a835SChris Cain            "Address": "0x52",
273*cb47a835SChris Cain            "BindConnector": "Fan4 connector",
274*cb47a835SChris Cain            "Bus": 6,
275*cb47a835SChris Cain            "Index": 7,
276*cb47a835SChris Cain            "MaxReading": 0,
277*cb47a835SChris Cain            "Name": "Fan4b_in",
278*cb47a835SChris Cain            "PowerState": "Always",
279*cb47a835SChris Cain            "Thresholds": [
280*cb47a835SChris Cain                {
281*cb47a835SChris Cain                    "Direction": "less than",
282*cb47a835SChris Cain                    "Name": "lower critical",
283*cb47a835SChris Cain                    "Severity": 1,
284*cb47a835SChris Cain                    "Value": 0
285*cb47a835SChris Cain                },
286*cb47a835SChris Cain                {
287*cb47a835SChris Cain                    "Direction": "less than",
288*cb47a835SChris Cain                    "Name": "lower non critical",
289*cb47a835SChris Cain                    "Severity": 0,
290*cb47a835SChris Cain                    "Value": 1800
291*cb47a835SChris Cain                },
292*cb47a835SChris Cain                {
293*cb47a835SChris Cain                    "Direction": "greater than",
294*cb47a835SChris Cain                    "Name": "upper critical",
295*cb47a835SChris Cain                    "Severity": 1,
296*cb47a835SChris Cain                    "Value": 36200
297*cb47a835SChris Cain                },
298*cb47a835SChris Cain                {
299*cb47a835SChris Cain                    "Direction": "greater than",
300*cb47a835SChris Cain                    "Name": "upper non critical",
301*cb47a835SChris Cain                    "Severity": 0,
302*cb47a835SChris Cain                    "Value": 28960
303*cb47a835SChris Cain                }
304*cb47a835SChris Cain            ],
305*cb47a835SChris Cain            "Type": "I2CFan"
306*cb47a835SChris Cain        },
307*cb47a835SChris Cain        {
308*cb47a835SChris Cain            "Address": "0x52",
309*cb47a835SChris Cain            "BindConnector": "Fan5 connector",
310*cb47a835SChris Cain            "Bus": 6,
311*cb47a835SChris Cain            "Index": 8,
312*cb47a835SChris Cain            "MaxReading": 0,
313*cb47a835SChris Cain            "Name": "Fan5a_in",
314*cb47a835SChris Cain            "PowerState": "Always",
315*cb47a835SChris Cain            "Presence": {
316*cb47a835SChris Cain                "PinName": "FAN4_PRESENCE_R_N",
317*cb47a835SChris Cain                "Polarity": "Low"
318*cb47a835SChris Cain            },
319*cb47a835SChris Cain            "Thresholds": [
320*cb47a835SChris Cain                {
321*cb47a835SChris Cain                    "Direction": "less than",
322*cb47a835SChris Cain                    "Name": "lower critical",
323*cb47a835SChris Cain                    "Severity": 1,
324*cb47a835SChris Cain                    "Value": 0
325*cb47a835SChris Cain                },
326*cb47a835SChris Cain                {
327*cb47a835SChris Cain                    "Direction": "less than",
328*cb47a835SChris Cain                    "Name": "lower non critical",
329*cb47a835SChris Cain                    "Severity": 0,
330*cb47a835SChris Cain                    "Value": 1800
331*cb47a835SChris Cain                },
332*cb47a835SChris Cain                {
333*cb47a835SChris Cain                    "Direction": "greater than",
334*cb47a835SChris Cain                    "Name": "upper critical",
335*cb47a835SChris Cain                    "Severity": 1,
336*cb47a835SChris Cain                    "Value": 36200
337*cb47a835SChris Cain                },
338*cb47a835SChris Cain                {
339*cb47a835SChris Cain                    "Direction": "greater than",
340*cb47a835SChris Cain                    "Name": "upper non critical",
341*cb47a835SChris Cain                    "Severity": 0,
342*cb47a835SChris Cain                    "Value": 28960
343*cb47a835SChris Cain                }
344*cb47a835SChris Cain            ],
345*cb47a835SChris Cain            "Type": "I2CFan"
346*cb47a835SChris Cain        },
347*cb47a835SChris Cain        {
348*cb47a835SChris Cain            "Address": "0x52",
349*cb47a835SChris Cain            "BindConnector": "Fan5 connector",
350*cb47a835SChris Cain            "Bus": 6,
351*cb47a835SChris Cain            "Index": 9,
352*cb47a835SChris Cain            "MaxReading": 0,
353*cb47a835SChris Cain            "Name": "Fan5b_in",
354*cb47a835SChris Cain            "PowerState": "Always",
355*cb47a835SChris Cain            "Thresholds": [
356*cb47a835SChris Cain                {
357*cb47a835SChris Cain                    "Direction": "less than",
358*cb47a835SChris Cain                    "Name": "lower critical",
359*cb47a835SChris Cain                    "Severity": 1,
360*cb47a835SChris Cain                    "Value": 0
361*cb47a835SChris Cain                },
362*cb47a835SChris Cain                {
363*cb47a835SChris Cain                    "Direction": "less than",
364*cb47a835SChris Cain                    "Name": "lower non critical",
365*cb47a835SChris Cain                    "Severity": 0,
366*cb47a835SChris Cain                    "Value": 1800
367*cb47a835SChris Cain                },
368*cb47a835SChris Cain                {
369*cb47a835SChris Cain                    "Direction": "greater than",
370*cb47a835SChris Cain                    "Name": "upper critical",
371*cb47a835SChris Cain                    "Severity": 1,
372*cb47a835SChris Cain                    "Value": 36200
373*cb47a835SChris Cain                },
374*cb47a835SChris Cain                {
375*cb47a835SChris Cain                    "Direction": "greater than",
376*cb47a835SChris Cain                    "Name": "upper non critical",
377*cb47a835SChris Cain                    "Severity": 0,
378*cb47a835SChris Cain                    "Value": 28960
379*cb47a835SChris Cain                }
380*cb47a835SChris Cain            ],
381*cb47a835SChris Cain            "Type": "I2CFan"
382*cb47a835SChris Cain        },
383*cb47a835SChris Cain        {
384*cb47a835SChris Cain            "Address": "0x54",
385*cb47a835SChris Cain            "BindConnector": "Fan6 connector",
386*cb47a835SChris Cain            "Bus": 6,
387*cb47a835SChris Cain            "Index": 0,
388*cb47a835SChris Cain            "MaxReading": 0,
389*cb47a835SChris Cain            "Name": "Fan6_in",
390*cb47a835SChris Cain            "PowerState": "Always",
391*cb47a835SChris Cain            "Presence": {
392*cb47a835SChris Cain                "PinName": "FAN5_PRESENCE_N",
393*cb47a835SChris Cain                "Polarity": "Low"
394*cb47a835SChris Cain            },
395*cb47a835SChris Cain            "Thresholds": [
396*cb47a835SChris Cain                {
397*cb47a835SChris Cain                    "Direction": "less than",
398*cb47a835SChris Cain                    "Name": "lower critical",
399*cb47a835SChris Cain                    "Severity": 1,
400*cb47a835SChris Cain                    "Value": 0
401*cb47a835SChris Cain                },
402*cb47a835SChris Cain                {
403*cb47a835SChris Cain                    "Direction": "less than",
404*cb47a835SChris Cain                    "Name": "lower non critical",
405*cb47a835SChris Cain                    "Severity": 0,
406*cb47a835SChris Cain                    "Value": 1800
407*cb47a835SChris Cain                },
408*cb47a835SChris Cain                {
409*cb47a835SChris Cain                    "Direction": "greater than",
410*cb47a835SChris Cain                    "Name": "upper critical",
411*cb47a835SChris Cain                    "Severity": 1,
412*cb47a835SChris Cain                    "Value": 36200
413*cb47a835SChris Cain                },
414*cb47a835SChris Cain                {
415*cb47a835SChris Cain                    "Direction": "greater than",
416*cb47a835SChris Cain                    "Name": "upper non critical",
417*cb47a835SChris Cain                    "Severity": 0,
418*cb47a835SChris Cain                    "Value": 28960
419*cb47a835SChris Cain                }
420*cb47a835SChris Cain            ],
421*cb47a835SChris Cain            "Type": "I2CFan"
422*cb47a835SChris Cain        },
423*cb47a835SChris Cain        {
424*cb47a835SChris Cain            "Address": "0x54",
425*cb47a835SChris Cain            "BindConnector": "Fan7 connector",
426*cb47a835SChris Cain            "Bus": 6,
427*cb47a835SChris Cain            "Index": 1,
428*cb47a835SChris Cain            "MaxReading": 0,
429*cb47a835SChris Cain            "Name": "Fan7_in",
430*cb47a835SChris Cain            "PowerState": "Always",
431*cb47a835SChris Cain            "Presence": {
432*cb47a835SChris Cain                "PinName": "FAN6_PRESENCE_N",
433*cb47a835SChris Cain                "Polarity": "Low"
434*cb47a835SChris Cain            },
435*cb47a835SChris Cain            "Thresholds": [
436*cb47a835SChris Cain                {
437*cb47a835SChris Cain                    "Direction": "less than",
438*cb47a835SChris Cain                    "Name": "lower critical",
439*cb47a835SChris Cain                    "Severity": 1,
440*cb47a835SChris Cain                    "Value": 0
441*cb47a835SChris Cain                },
442*cb47a835SChris Cain                {
443*cb47a835SChris Cain                    "Direction": "less than",
444*cb47a835SChris Cain                    "Name": "lower non critical",
445*cb47a835SChris Cain                    "Severity": 0,
446*cb47a835SChris Cain                    "Value": 1800
447*cb47a835SChris Cain                },
448*cb47a835SChris Cain                {
449*cb47a835SChris Cain                    "Direction": "greater than",
450*cb47a835SChris Cain                    "Name": "upper critical",
451*cb47a835SChris Cain                    "Severity": 1,
452*cb47a835SChris Cain                    "Value": 36200
453*cb47a835SChris Cain                },
454*cb47a835SChris Cain                {
455*cb47a835SChris Cain                    "Direction": "greater than",
456*cb47a835SChris Cain                    "Name": "upper non critical",
457*cb47a835SChris Cain                    "Severity": 0,
458*cb47a835SChris Cain                    "Value": 28960
459*cb47a835SChris Cain                }
460*cb47a835SChris Cain            ],
461*cb47a835SChris Cain            "Type": "I2CFan"
462*cb47a835SChris Cain        },
463*cb47a835SChris Cain        {
464*cb47a835SChris Cain            "Class": "fan",
465*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
466*cb47a835SChris Cain            "FFOffCoefficient": 0,
467*cb47a835SChris Cain            "ICoefficient": 0,
468*cb47a835SChris Cain            "ILimitMax": 0,
469*cb47a835SChris Cain            "ILimitMin": 0,
470*cb47a835SChris Cain            "Inputs": [
471*cb47a835SChris Cain                "Fan1a_in",
472*cb47a835SChris Cain                "Fan1b_in"
473*cb47a835SChris Cain            ],
474*cb47a835SChris Cain            "Name": "Fan1_PID",
475*cb47a835SChris Cain            "NegativeHysteresis": 0,
476*cb47a835SChris Cain            "OutLimitMax": 100,
477*cb47a835SChris Cain            "OutLimitMin": 18,
478*cb47a835SChris Cain            "Outputs": [
479*cb47a835SChris Cain                "Fan1_Pwm"
480*cb47a835SChris Cain            ],
481*cb47a835SChris Cain            "PCoefficient": 0.0026,
482*cb47a835SChris Cain            "PositiveHysteresis": 0,
483*cb47a835SChris Cain            "SetPoint": 70,
484*cb47a835SChris Cain            "SlewNeg": 0,
485*cb47a835SChris Cain            "SlewPos": 0,
486*cb47a835SChris Cain            "Type": "Pid",
487*cb47a835SChris Cain            "Zones": [
488*cb47a835SChris Cain                "CECIO"
489*cb47a835SChris Cain            ]
490*cb47a835SChris Cain        },
491*cb47a835SChris Cain        {
492*cb47a835SChris Cain            "Class": "fan",
493*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
494*cb47a835SChris Cain            "FFOffCoefficient": 0,
495*cb47a835SChris Cain            "ICoefficient": 0,
496*cb47a835SChris Cain            "ILimitMax": 0,
497*cb47a835SChris Cain            "ILimitMin": 0,
498*cb47a835SChris Cain            "Inputs": [
499*cb47a835SChris Cain                "Fan2a_in",
500*cb47a835SChris Cain                "Fan2b_in"
501*cb47a835SChris Cain            ],
502*cb47a835SChris Cain            "Name": "Fan2_PID",
503*cb47a835SChris Cain            "NegativeHysteresis": 0,
504*cb47a835SChris Cain            "OutLimitMax": 100,
505*cb47a835SChris Cain            "OutLimitMin": 18,
506*cb47a835SChris Cain            "Outputs": [
507*cb47a835SChris Cain                "Fan2_Pwm"
508*cb47a835SChris Cain            ],
509*cb47a835SChris Cain            "PCoefficient": 0.0026,
510*cb47a835SChris Cain            "PositiveHysteresis": 0,
511*cb47a835SChris Cain            "SetPoint": 70,
512*cb47a835SChris Cain            "SlewNeg": 0,
513*cb47a835SChris Cain            "SlewPos": 0,
514*cb47a835SChris Cain            "Type": "Pid",
515*cb47a835SChris Cain            "Zones": [
516*cb47a835SChris Cain                "CECIO"
517*cb47a835SChris Cain            ]
518*cb47a835SChris Cain        },
519*cb47a835SChris Cain        {
520*cb47a835SChris Cain            "Class": "fan",
521*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
522*cb47a835SChris Cain            "FFOffCoefficient": 0,
523*cb47a835SChris Cain            "ICoefficient": 0,
524*cb47a835SChris Cain            "ILimitMax": 0,
525*cb47a835SChris Cain            "ILimitMin": 0,
526*cb47a835SChris Cain            "Inputs": [
527*cb47a835SChris Cain                "Fan3a_in",
528*cb47a835SChris Cain                "Fan3b_in"
529*cb47a835SChris Cain            ],
530*cb47a835SChris Cain            "Name": "Fan3_PID",
531*cb47a835SChris Cain            "NegativeHysteresis": 0,
532*cb47a835SChris Cain            "OutLimitMax": 100,
533*cb47a835SChris Cain            "OutLimitMin": 18,
534*cb47a835SChris Cain            "Outputs": [
535*cb47a835SChris Cain                "Fan3_Pwm"
536*cb47a835SChris Cain            ],
537*cb47a835SChris Cain            "PCoefficient": 0.0026,
538*cb47a835SChris Cain            "PositiveHysteresis": 0,
539*cb47a835SChris Cain            "SetPoint": 70,
540*cb47a835SChris Cain            "SlewNeg": 0,
541*cb47a835SChris Cain            "SlewPos": 0,
542*cb47a835SChris Cain            "Type": "Pid",
543*cb47a835SChris Cain            "Zones": [
544*cb47a835SChris Cain                "CECIO"
545*cb47a835SChris Cain            ]
546*cb47a835SChris Cain        },
547*cb47a835SChris Cain        {
548*cb47a835SChris Cain            "Class": "fan",
549*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
550*cb47a835SChris Cain            "FFOffCoefficient": 0,
551*cb47a835SChris Cain            "ICoefficient": 0,
552*cb47a835SChris Cain            "ILimitMax": 0,
553*cb47a835SChris Cain            "ILimitMin": 0,
554*cb47a835SChris Cain            "Inputs": [
555*cb47a835SChris Cain                "Fan4a_in",
556*cb47a835SChris Cain                "Fan4b_in"
557*cb47a835SChris Cain            ],
558*cb47a835SChris Cain            "Name": "Fan4_PID",
559*cb47a835SChris Cain            "NegativeHysteresis": 0,
560*cb47a835SChris Cain            "OutLimitMax": 100,
561*cb47a835SChris Cain            "OutLimitMin": 18,
562*cb47a835SChris Cain            "Outputs": [
563*cb47a835SChris Cain                "Fan4_Pwm"
564*cb47a835SChris Cain            ],
565*cb47a835SChris Cain            "PCoefficient": 0.0026,
566*cb47a835SChris Cain            "PositiveHysteresis": 0,
567*cb47a835SChris Cain            "SetPoint": 70,
568*cb47a835SChris Cain            "SlewNeg": 0,
569*cb47a835SChris Cain            "SlewPos": 0,
570*cb47a835SChris Cain            "Type": "Pid",
571*cb47a835SChris Cain            "Zones": [
572*cb47a835SChris Cain                "CECIO"
573*cb47a835SChris Cain            ]
574*cb47a835SChris Cain        },
575*cb47a835SChris Cain        {
576*cb47a835SChris Cain            "Class": "fan",
577*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
578*cb47a835SChris Cain            "FFOffCoefficient": 0,
579*cb47a835SChris Cain            "ICoefficient": 0,
580*cb47a835SChris Cain            "ILimitMax": 0,
581*cb47a835SChris Cain            "ILimitMin": 0,
582*cb47a835SChris Cain            "Inputs": [
583*cb47a835SChris Cain                "Fan5a_in",
584*cb47a835SChris Cain                "Fan5b_in"
585*cb47a835SChris Cain            ],
586*cb47a835SChris Cain            "Name": "Fan5_PID",
587*cb47a835SChris Cain            "NegativeHysteresis": 0,
588*cb47a835SChris Cain            "OutLimitMax": 100,
589*cb47a835SChris Cain            "OutLimitMin": 18,
590*cb47a835SChris Cain            "Outputs": [
591*cb47a835SChris Cain                "Fan5_Pwm"
592*cb47a835SChris Cain            ],
593*cb47a835SChris Cain            "PCoefficient": 0.0026,
594*cb47a835SChris Cain            "PositiveHysteresis": 0,
595*cb47a835SChris Cain            "SetPoint": 70,
596*cb47a835SChris Cain            "SlewNeg": 0,
597*cb47a835SChris Cain            "SlewPos": 0,
598*cb47a835SChris Cain            "Type": "Pid",
599*cb47a835SChris Cain            "Zones": [
600*cb47a835SChris Cain                "CECIO"
601*cb47a835SChris Cain            ]
602*cb47a835SChris Cain        },
603*cb47a835SChris Cain        {
604*cb47a835SChris Cain            "Class": "fan",
605*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
606*cb47a835SChris Cain            "FFOffCoefficient": 0,
607*cb47a835SChris Cain            "ICoefficient": 0,
608*cb47a835SChris Cain            "ILimitMax": 0,
609*cb47a835SChris Cain            "ILimitMin": 0,
610*cb47a835SChris Cain            "Inputs": [
611*cb47a835SChris Cain                "Fan6_in"
612*cb47a835SChris Cain            ],
613*cb47a835SChris Cain            "Name": "Fan6_PID",
614*cb47a835SChris Cain            "NegativeHysteresis": 0,
615*cb47a835SChris Cain            "OutLimitMax": 100,
616*cb47a835SChris Cain            "OutLimitMin": 18,
617*cb47a835SChris Cain            "Outputs": [
618*cb47a835SChris Cain                "Fan6_Pwm"
619*cb47a835SChris Cain            ],
620*cb47a835SChris Cain            "PCoefficient": 0.0026,
621*cb47a835SChris Cain            "PositiveHysteresis": 0,
622*cb47a835SChris Cain            "SetPoint": 70,
623*cb47a835SChris Cain            "SlewNeg": 0,
624*cb47a835SChris Cain            "SlewPos": 0,
625*cb47a835SChris Cain            "Type": "Pid",
626*cb47a835SChris Cain            "Zones": [
627*cb47a835SChris Cain                "NVME"
628*cb47a835SChris Cain            ]
629*cb47a835SChris Cain        },
630*cb47a835SChris Cain        {
631*cb47a835SChris Cain            "Class": "fan",
632*cb47a835SChris Cain            "FFGainCoefficient": 0.0079,
633*cb47a835SChris Cain            "FFOffCoefficient": 0,
634*cb47a835SChris Cain            "ICoefficient": 0,
635*cb47a835SChris Cain            "ILimitMax": 0,
636*cb47a835SChris Cain            "ILimitMin": 0,
637*cb47a835SChris Cain            "Inputs": [
638*cb47a835SChris Cain                "Fan7_in"
639*cb47a835SChris Cain            ],
640*cb47a835SChris Cain            "Name": "Fan7_PID",
641*cb47a835SChris Cain            "NegativeHysteresis": 0,
642*cb47a835SChris Cain            "OutLimitMax": 100,
643*cb47a835SChris Cain            "OutLimitMin": 18,
644*cb47a835SChris Cain            "Outputs": [
645*cb47a835SChris Cain                "Fan7_Pwm"
646*cb47a835SChris Cain            ],
647*cb47a835SChris Cain            "PCoefficient": 0.0026,
648*cb47a835SChris Cain            "PositiveHysteresis": 0,
649*cb47a835SChris Cain            "SetPoint": 70,
650*cb47a835SChris Cain            "SlewNeg": 0,
651*cb47a835SChris Cain            "SlewPos": 0,
652*cb47a835SChris Cain            "Type": "Pid",
653*cb47a835SChris Cain            "Zones": [
654*cb47a835SChris Cain                "NVME"
655*cb47a835SChris Cain            ]
656*cb47a835SChris Cain        },
657*cb47a835SChris Cain        {
658*cb47a835SChris Cain            "Class": "temp",
659*cb47a835SChris Cain            "FFGainCoefficient": 0,
660*cb47a835SChris Cain            "FFOffCoefficient": 0,
661*cb47a835SChris Cain            "ICoefficient": -5,
662*cb47a835SChris Cain            "ILimitMax": 18000,
663*cb47a835SChris Cain            "ILimitMin": 2500,
664*cb47a835SChris Cain            "Inputs": [
665*cb47a835SChris Cain                "BCM0_TEMP Temperature",
666*cb47a835SChris Cain                "BCM1_TEMP Temperature",
667*cb47a835SChris Cain                "BCM2_TEMP Temperature",
668*cb47a835SChris Cain                "BCM3_TEMP Temperature"
669*cb47a835SChris Cain            ],
670*cb47a835SChris Cain            "Name": "PSU Temperature",
671*cb47a835SChris Cain            "NegativeHysteresis": 0,
672*cb47a835SChris Cain            "OutLimitMax": 18000,
673*cb47a835SChris Cain            "OutLimitMin": 2500,
674*cb47a835SChris Cain            "Outputs": [],
675*cb47a835SChris Cain            "PCoefficient": -500,
676*cb47a835SChris Cain            "PositiveHysteresis": 0,
677*cb47a835SChris Cain            "SetPoint": 95,
678*cb47a835SChris Cain            "SlewNeg": 0,
679*cb47a835SChris Cain            "SlewPos": 0,
680*cb47a835SChris Cain            "Type": "Pid",
681*cb47a835SChris Cain            "Zones": [
682*cb47a835SChris Cain                "CECIO"
683*cb47a835SChris Cain            ]
684*cb47a835SChris Cain        },
685*cb47a835SChris Cain        {
686*cb47a835SChris Cain            "Class": "temp",
687*cb47a835SChris Cain            "FFGainCoefficient": 0,
688*cb47a835SChris Cain            "FFOffCoefficient": 0,
689*cb47a835SChris Cain            "ICoefficient": -5,
690*cb47a835SChris Cain            "ILimitMax": 18000,
691*cb47a835SChris Cain            "ILimitMin": 2500,
692*cb47a835SChris Cain            "Inputs": [
693*cb47a835SChris Cain                "Ambient 0 Temp",
694*cb47a835SChris Cain                "Ambient 1 Temp"
695*cb47a835SChris Cain            ],
696*cb47a835SChris Cain            "Name": "Ambient Temperature",
697*cb47a835SChris Cain            "NegativeHysteresis": 0,
698*cb47a835SChris Cain            "OutLimitMax": 18000,
699*cb47a835SChris Cain            "OutLimitMin": 2500,
700*cb47a835SChris Cain            "Outputs": [],
701*cb47a835SChris Cain            "PCoefficient": -500,
702*cb47a835SChris Cain            "PositiveHysteresis": 0,
703*cb47a835SChris Cain            "SetPoint": 85,
704*cb47a835SChris Cain            "SlewNeg": 0,
705*cb47a835SChris Cain            "SlewPos": 0,
706*cb47a835SChris Cain            "Type": "Pid",
707*cb47a835SChris Cain            "Zones": [
708*cb47a835SChris Cain                "CECIO"
709*cb47a835SChris Cain            ]
710*cb47a835SChris Cain        },
711*cb47a835SChris Cain        {
712*cb47a835SChris Cain            "FailSafePercent": 100,
713*cb47a835SChris Cain            "MinThermalOutput": 2500,
714*cb47a835SChris Cain            "Name": "CECIO",
715*cb47a835SChris Cain            "Type": "Pid.Zone"
716*cb47a835SChris Cain        },
717*cb47a835SChris Cain        {
718*cb47a835SChris Cain            "FailSafePercent": 100,
719*cb47a835SChris Cain            "MinThermalOutput": 2500,
720*cb47a835SChris Cain            "Name": "NVME",
721*cb47a835SChris Cain            "Type": "Pid.Zone"
722*cb47a835SChris Cain        }
723*cb47a835SChris Cain    ],
724*cb47a835SChris Cain    "Name": "chassis",
725*cb47a835SChris Cain    "Probe": "xyz.openbmc_project.FruDevice({'BOARD_PRODUCT_NAME': '.*SYS1', 'BOARD_MANUFACTURER': 'IBM'})",
726*cb47a835SChris Cain    "Type": "Chassis",
727*cb47a835SChris Cain    "xyz.openbmc_project.Inventory.Decorator.Asset": {
728*cb47a835SChris Cain        "Manufacturer": "$PRODUCT_MANUFACTURER",
729*cb47a835SChris Cain        "Model": "$PRODUCT_PRODUCT_NAME",
730*cb47a835SChris Cain        "PartNumber": "$CHASSIS_PART_NUMBER",
731*cb47a835SChris Cain        "SerialNumber": "$CHASSIS_SERIAL_NUMBER"
732*cb47a835SChris Cain    }
733*cb47a835SChris Cain}
734