1{
2    "$schema": "http://json-schema.org/draft-07/schema#",
3    "definitions": {
4        "Aggregate": {
5            "additionalProperties": false,
6            "properties": {
7                "Address": {
8                    "$ref": "#/definitions/Types/Address"
9                },
10                "AllowedFailures": {
11                    "$ref": "#/definitions/Types/AllowedFailures"
12                },
13                "AlphaF": {
14                    "$ref": "#/definitions/Types/AlphaF"
15                },
16                "AlphaS": {
17                    "$ref": "#/definitions/Types/AlphaS"
18                },
19                "BindConnector": {
20                    "$ref": "#/definitions/Types/BindConnector"
21                },
22                "BindPresence": {
23                    "$ref": "#/definitions/Types/BindPresence"
24                },
25                "BridgeGpio": {
26                    "$ref": "#/definitions/Types/BridgeGpio"
27                },
28                "Bus": {
29                    "$ref": "#/definitions/Types/Bus"
30                },
31                "C1": {
32                    "$ref": "#/definitions/Types/C1"
33                },
34                "C2": {
35                    "$ref": "#/definitions/Types/C2"
36                },
37                "CPURequired": {
38                    "$ref": "#/definitions/Types/CPURequired"
39                },
40                "ChannelNames": {
41                    "$ref": "#/definitions/Types/ChannelNames"
42                },
43                "Class": {
44                    "$ref": "#/definitions/Types/Class"
45                },
46                "Connector": {
47                    "$ref": "#/definitions/Types/Connector"
48                },
49                "CpuID": {
50                    "$ref": "#/definitions/Types/CpuID"
51                },
52                "CurrScaleFactor": {
53                    "$ref": "#/definitions/Types/CurrScaleFactor"
54                },
55                "Direction": {
56                    "$ref": "#/definitions/Types/Direction"
57                },
58                "DtsCritOffset": {
59                    "$ref": "#/definitions/Types/DtsCritOffset"
60                },
61                "FFGainCoefficient": {
62                    "$ref": "#/definitions/Types/FFGainCoefficient"
63                },
64                "FFOffCoefficient": {
65                    "$ref": "#/definitions/Types/FFOffCoefficient"
66                },
67                "FailSafePercent": {
68                    "$ref": "#/definitions/Types/FailSafePercent"
69                },
70                "FaultIndex": {
71                    "$ref": "#/definitions/Types/FaultIndex"
72                },
73                "FaultType": {
74                    "$ref": "#/definitions/Types/FaultType"
75                },
76                "GpioPins": {
77                    "$ref": "#/definitions/Types/GpioPins"
78                },
79                "GpioPolarity": {
80                    "$ref": "#/definitions/Types/GpioPolarity"
81                },
82                "ICoefficient": {
83                    "$ref": "#/definitions/Types/ICoefficient"
84                },
85                "ILimitMax": {
86                    "$ref": "#/definitions/Types/ILimitMax"
87                },
88                "ILimitMin": {
89                    "$ref": "#/definitions/Types/ILimitMin"
90                },
91                "Index": {
92                    "$ref": "#/definitions/Types/Index"
93                },
94                "Inputs": {
95                    "$ref": "#/definitions/Types/Inputs"
96                },
97                "Labels": {
98                    "$ref": "#/definitions/Types/Labels"
99                },
100                "LedGpioPins": {
101                    "$ref": "#/definitions/Types/LedGpioPins"
102                },
103                "MaxCFM": {
104                    "$ref": "#/definitions/Types/MaxCFM"
105                },
106                "MaxReading": {
107                    "$ref": "#/definitions/Types/MaxReading"
108                },
109                "MinThermalOutput": {
110                    "$ref": "#/definitions/Types/MinThermalOutput"
111                },
112                "Name": {
113                    "$ref": "#/definitions/Types/Name"
114                },
115                "Name1": {
116                    "$ref": "#/definitions/Types/Name1"
117                },
118                "NegativeHysteresis": {
119                    "$ref": "#/definitions/Types/NegativeHysteresis"
120                },
121                "OffsetValue": {
122                    "$ref": "#/definitions/Types/OffsetValue"
123                },
124                "OutLimitMax": {
125                    "$ref": "#/definitions/Types/OutLimitMax"
126                },
127                "OutLimitMin": {
128                    "$ref": "#/definitions/Types/OutLimitMin"
129                },
130                "Output": {
131                    "$ref": "#/definitions/Types/Output"
132                },
133                "Outputs": {
134                    "$ref": "#/definitions/Types/Outputs"
135                },
136                "PCoefficient": {
137                    "$ref": "#/definitions/Types/PCoefficient"
138                },
139                "Polarity": {
140                    "$ref": "#/definitions/Types/Polarity"
141                },
142                "Polling": {
143                    "$ref": "#/definitions/Types/Polling"
144                },
145                "PositiveHysteresis": {
146                    "$ref": "#/definitions/Types/PositiveHysteresis"
147                },
148                "PowerFactorMax": {
149                    "$ref": "#/definitions/Types/PowerFactorMax"
150                },
151                "PowerFactorMin": {
152                    "$ref": "#/definitions/Types/PowerFactorMin"
153                },
154                "PowerScaleFactor": {
155                    "$ref": "#/definitions/Types/PowerScaleFactor"
156                },
157                "PowerState": {
158                    "$ref": "#/definitions/Types/PowerState"
159                },
160                "Presence": {
161                    "$ref": "#/definitions/Types/Presence"
162                },
163                "PresenceGpio": {
164                    "$ref": "#/definitions/Types/PresenceGpio"
165                },
166                "Profiles": {
167                    "$ref": "#/definitions/Types/Profiles"
168                },
169                "Pwm": {
170                    "$ref": "#/definitions/Types/Pwm"
171                },
172                "QMax": {
173                    "$ref": "#/definitions/Types/QMax"
174                },
175                "QMin": {
176                    "$ref": "#/definitions/Types/QMin"
177                },
178                "Reading": {
179                    "$ref": "#/definitions/Types/Reading"
180                },
181                "RedundantCount": {
182                    "$ref": "#/definitions/Types/RedundantCount"
183                },
184                "ScaleFactor": {
185                    "$ref": "#/definitions/Types/ScaleFactor"
186                },
187                "ScaleValue": {
188                    "$ref": "#/definitions/Types/ScaleValue"
189                },
190                "SensorType": {
191                    "$ref": "#/definitions/Types/SensorType"
192                },
193                "SetPoint": {
194                    "$ref": "#/definitions/Types/SetPoint"
195                },
196                "SetPointOffset": {
197                    "$ref": "#/definitions/Types/SetPointOffset"
198                },
199                "SlewNeg": {
200                    "$ref": "#/definitions/Types/SlewNeg"
201                },
202                "SlewPos": {
203                    "$ref": "#/definitions/Types/SlewPos"
204                },
205                "Status": {
206                    "$ref": "#/definitions/Types/Status"
207                },
208                "TachMaxPercent": {
209                    "$ref": "#/definitions/Types/TachMaxPercent"
210                },
211                "TachMinPercent": {
212                    "$ref": "#/definitions/Types/TachMinPercent"
213                },
214                "Tachs": {
215                    "$ref": "#/definitions/Types/Tachs"
216                },
217                "Thresholds": {
218                    "$ref": "#/definitions/Types/Thresholds"
219                },
220                "Type": {
221                    "$ref": "#/definitions/Types/Type"
222                },
223                "Zones": {
224                    "$ref": "#/definitions/Types/Zones"
225                }
226            },
227            "required": [
228                "Name",
229                "Type"
230            ],
231            "type": "object"
232        },
233        "Types": {
234            "Address": {
235                "type": [
236                    "string",
237                    "array"
238                ]
239            },
240            "AllowedFailures": {
241                "type": "number"
242            },
243            "AlphaF": {
244                "type": "number"
245            },
246            "AlphaS": {
247                "type": "number"
248            },
249            "BindConnector": {
250                "type": "string"
251            },
252            "BindPresence": {
253                "type": "string"
254            },
255            "BridgeGpio": {
256                "type": [
257                    "number",
258                    "array"
259                ]
260            },
261            "Bus": {
262                "type": [
263                    "string",
264                    "number"
265                ]
266            },
267            "C1": {
268                "type": "number"
269            },
270            "C2": {
271                "type": "number"
272            },
273            "CPURequired": {
274                "type": "number"
275            },
276            "ChannelNames": {
277                "items": {
278                    "type": "string"
279                },
280                "type": "array"
281            },
282            "Class": {
283                "type": "string"
284            },
285            "Connector": {
286                "properties": {
287                    "Name": {
288                        "type": "string"
289                    },
290                    "Pwm": {
291                        "type": "number"
292                    },
293                    "Tachs": {
294                        "items": {
295                            "type": "number"
296                        },
297                        "type": "array"
298                    }
299                },
300                "required": [
301                    "Name",
302                    "Pwm",
303                    "Tachs"
304                ],
305                "type": "object"
306            },
307            "CpuID": {
308                "type": "number"
309            },
310            "CurrScaleFactor": {
311                "type": "number"
312            },
313            "Direction": {
314                "type": "string"
315            },
316            "DtsCritOffset": {
317                "type": "number"
318            },
319            "FFGainCoefficient": {
320                "type": "number"
321            },
322            "FFOffCoefficient": {
323                "type": "number"
324            },
325            "FailSafePercent": {
326                "type": "number"
327            },
328            "FaultIndex": {
329                "type": "number"
330            },
331            "FaultType": {
332                "type": "string"
333            },
334            "GpioPins": {
335                "items": {
336                    "type": "number"
337                },
338                "type": "array"
339            },
340            "GpioPolarity": {
341                "enum": [
342                    "Low"
343                ]
344            },
345            "ICoefficient": {
346                "type": "number"
347            },
348            "ILimitMax": {
349                "type": "number"
350            },
351            "ILimitMin": {
352                "type": "number"
353            },
354            "Index": {
355                "type": "number"
356            },
357            "Inputs": {
358                "items": {
359                    "type": "string"
360                },
361                "type": "array"
362            },
363            "Labels": {
364                "items": {
365                    "type": "string"
366                },
367                "type": "array"
368            },
369            "LedGpioPins": {
370                "items": {
371                    "type": "number"
372                },
373                "type": "array"
374            },
375            "MaxCFM": {
376                "type": "number"
377            },
378            "MaxReading": {
379                "type": "number"
380            },
381            "MinThermalOutput": {
382                "type": "number"
383            },
384            "Name": {
385                "type": "string"
386            },
387            "Name1": {
388                "type": "string"
389            },
390            "NegativeHysteresis": {
391                "type": "number"
392            },
393            "OffsetValue": {
394                "type": "number"
395            },
396            "OutLimitMax": {
397                "type": "number"
398            },
399            "OutLimitMin": {
400                "type": "number"
401            },
402            "Output": {
403                "items": {
404                    "type": "number"
405                },
406                "type": "array"
407            },
408            "Outputs": {
409                "items": {
410                    "type": "string"
411                },
412                "type": "array"
413            },
414            "PCoefficient": {
415                "type": "number"
416            },
417            "Polarity": {
418                "type": "string"
419            },
420            "Polling": {
421                "type": "object"
422            },
423            "PositiveHysteresis": {
424                "type": "number"
425            },
426            "PowerFactorMax": {
427                "type": "number"
428            },
429            "PowerFactorMin": {
430                "type": "number"
431            },
432            "PowerScaleFactor": {
433                "type": "number"
434            },
435            "PowerState": {
436                "type": "string"
437            },
438            "Presence": {
439                "properties": {
440                    "PinName": {
441                        "type": "string"
442                    },
443                    "Polarity": {
444                        "enum": "Low"
445                    }
446                },
447                "type": "object"
448            },
449            "PresenceGpio": {
450                "type": [
451                    "number",
452                    "array"
453                ]
454            },
455            "Profiles": {
456                "items": {
457                    "type": "string"
458                },
459                "type": "array"
460            },
461            "Pwm": {
462                "type": "number"
463            },
464            "QMax": {
465                "type": "number"
466            },
467            "QMin": {
468                "type": "number"
469            },
470            "Reading": {
471                "items": {
472                    "type": "number"
473                },
474                "type": "array"
475            },
476            "RedundantCount": {
477                "type": "number"
478            },
479            "ScaleFactor": {
480                "type": "number"
481            },
482            "ScaleValue": {
483                "type": "number"
484            },
485            "SensorType": {
486                "type": "string"
487            },
488            "SetPoint": {
489                "type": "number"
490            },
491            "SetPointOffset": {
492                "type": "string"
493            },
494            "SlewNeg": {
495                "type": "number"
496            },
497            "SlewPos": {
498                "type": "number"
499            },
500            "Status": {
501                "type": "string"
502            },
503            "TachMaxPercent": {
504                "type": "number"
505            },
506            "TachMinPercent": {
507                "type": "number"
508            },
509            "Tachs": {
510                "items": {
511                    "type": [
512                        "number",
513                        "string"
514                    ]
515                },
516                "type": "array"
517            },
518            "Thresholds": {
519                "items": {
520                    "properties": {
521                        "Direction": {
522                            "type": "string"
523                        },
524                        "Label": {
525                            "type": "string"
526                        },
527                        "Name": {
528                            "type": "string"
529                        },
530                        "Severity": {
531                            "type": "number"
532                        },
533                        "Value": {
534                            "type": "number"
535                        }
536                    },
537                    "required": [
538                        "Direction",
539                        "Name",
540                        "Severity",
541                        "Value"
542                    ],
543                    "type": "object"
544                },
545                "type": "array"
546            },
547            "Type": {
548                "type": "string"
549            },
550            "Zones": {
551                "items": {
552                    "type": "string"
553                },
554                "type": "array"
555            }
556        }
557    }
558}
559