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