13420426cSMatt Spinler[
23420426cSMatt Spinler    {
33420426cSMatt Spinler        // Hold fans at the given target when a number of fans are missing.
43420426cSMatt Spinler        "name": "fan(s) missing",
53420426cSMatt Spinler        "groups": [
63420426cSMatt Spinler            {
73420426cSMatt Spinler                "name": "fan inventory",
83420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item",
93420426cSMatt Spinler                "property": { "name": "Present" }
103420426cSMatt Spinler            }
113420426cSMatt Spinler        ],
123420426cSMatt Spinler        "triggers": [
133420426cSMatt Spinler            {
143420426cSMatt Spinler                "class": "init",
153420426cSMatt Spinler                "method": "get_properties"
163420426cSMatt Spinler            },
173420426cSMatt Spinler            {
183420426cSMatt Spinler                "class": "signal",
193420426cSMatt Spinler                "signal": "properties_changed"
203420426cSMatt Spinler            }
213420426cSMatt Spinler        ],
223420426cSMatt Spinler        "actions": [
233420426cSMatt Spinler            {
243420426cSMatt Spinler                "name": "count_state_before_target",
253420426cSMatt Spinler                "count": 1,
263420426cSMatt Spinler                "state": false,
273420426cSMatt Spinler                "target": 10400
283420426cSMatt Spinler            }
293420426cSMatt Spinler        ]
303420426cSMatt Spinler    },
313420426cSMatt Spinler    {
323420426cSMatt Spinler        // Hold fans at the given target when a number of rotors are nonfunctional.
333420426cSMatt Spinler        "name": "fan rotor(s) faulted",
343420426cSMatt Spinler        "groups": [
353420426cSMatt Spinler            {
363420426cSMatt Spinler                "name": "fan0 rotor inventory",
373420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
383420426cSMatt Spinler                "property": { "name": "Functional" }
393420426cSMatt Spinler            },
403420426cSMatt Spinler            {
413420426cSMatt Spinler                "name": "fan1 rotor inventory",
423420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
433420426cSMatt Spinler                "property": { "name": "Functional" }
443420426cSMatt Spinler            },
453420426cSMatt Spinler            {
463420426cSMatt Spinler                "name": "fan2 rotor inventory",
473420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
483420426cSMatt Spinler                "property": { "name": "Functional" }
493420426cSMatt Spinler            },
503420426cSMatt Spinler            {
513420426cSMatt Spinler                "name": "fan4 rotor inventory",
523420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
533420426cSMatt Spinler                "property": { "name": "Functional" }
543420426cSMatt Spinler            }
553420426cSMatt Spinler        ],
563420426cSMatt Spinler        "triggers": [
573420426cSMatt Spinler            {
583420426cSMatt Spinler                "class": "init",
593420426cSMatt Spinler                "method": "get_properties"
603420426cSMatt Spinler            },
613420426cSMatt Spinler            {
623420426cSMatt Spinler                "class": "signal",
633420426cSMatt Spinler                "signal": "properties_changed"
643420426cSMatt Spinler            }
653420426cSMatt Spinler        ],
663420426cSMatt Spinler        "actions": [
673420426cSMatt Spinler            {
683420426cSMatt Spinler                "name": "count_state_before_target",
693420426cSMatt Spinler                "count": 1,
703420426cSMatt Spinler                "state": false,
713420426cSMatt Spinler                "target": 10400
723420426cSMatt Spinler            }
733420426cSMatt Spinler        ]
743420426cSMatt Spinler    },
753420426cSMatt Spinler    {
763420426cSMatt Spinler        // Hold fans at the given target when any critical service
773420426cSMatt Spinler        // is not running for 5 seconds.
783420426cSMatt Spinler        "name": "service(s) missing",
793420426cSMatt Spinler        "groups": [
803420426cSMatt Spinler            {
813420426cSMatt Spinler                "name": "fan inventory",
823420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item",
833420426cSMatt Spinler                "property": { "name": "Present" }
843420426cSMatt Spinler            },
853420426cSMatt Spinler            {
863420426cSMatt Spinler                "name": "occ objects",
873420426cSMatt Spinler                "interface": "org.open_power.OCC.Status",
883420426cSMatt Spinler                "property": { "name": "OccActive" }
893420426cSMatt Spinler            },
903420426cSMatt Spinler            {
913420426cSMatt Spinler                "name": "nvme temps",
923420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
933420426cSMatt Spinler                "property": { "name": "Value" }
943420426cSMatt Spinler            },
953420426cSMatt Spinler            {
963420426cSMatt Spinler                "name": "planar temps",
973420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
983420426cSMatt Spinler                "property": { "name": "Value" }
993420426cSMatt Spinler            },
1003420426cSMatt Spinler            {
1013420426cSMatt Spinler                "name": "flett temps",
1023420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1033420426cSMatt Spinler                "property": { "name": "Value" }
1043420426cSMatt Spinler            },
1053420426cSMatt Spinler            {
1063420426cSMatt Spinler                "name": "pcie cable card temps",
1073420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1083420426cSMatt Spinler                "property": { "name": "Value" }
1093420426cSMatt Spinler            },
1103420426cSMatt Spinler            {
1113420426cSMatt Spinler                "name": "ambient temp",
1123420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
1133420426cSMatt Spinler                "property": { "name": "Value" }
1143420426cSMatt Spinler            }
1153420426cSMatt Spinler        ],
1163420426cSMatt Spinler        "triggers": [
1173420426cSMatt Spinler            {
1183420426cSMatt Spinler                "class": "init",
1193420426cSMatt Spinler                "method": "name_has_owner"
1203420426cSMatt Spinler            },
1213420426cSMatt Spinler            {
1223420426cSMatt Spinler                "class": "signal",
1233420426cSMatt Spinler                "signal": "name_owner_changed"
1243420426cSMatt Spinler            }
1253420426cSMatt Spinler        ],
1263420426cSMatt Spinler        "actions": [
1273420426cSMatt Spinler            {
1283420426cSMatt Spinler                "name": "call_actions_based_on_timer",
1293420426cSMatt Spinler                "timer": {
1303420426cSMatt Spinler                    "interval": 5000000,
1313420426cSMatt Spinler                    "type": "oneshot"
1323420426cSMatt Spinler                },
1333420426cSMatt Spinler                "actions": [
1343420426cSMatt Spinler                    {
1353420426cSMatt Spinler                        "name": "set_target_on_missing_owner",
1363420426cSMatt Spinler                        "groups": [
1373420426cSMatt Spinler                            {
1383420426cSMatt Spinler                                "name": "fan inventory",
1393420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Inventory.Item",
1403420426cSMatt Spinler                                "property": { "name": "Present" }
1413420426cSMatt Spinler                            },
1423420426cSMatt Spinler                            {
1433420426cSMatt Spinler                                "name": "occ objects",
1443420426cSMatt Spinler                                "interface": "org.open_power.OCC.Status",
1453420426cSMatt Spinler                                "property": { "name": "OccActive" }
1463420426cSMatt Spinler                            },
1473420426cSMatt Spinler                            {
1483420426cSMatt Spinler                                "name": "nvme temps",
1493420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
1503420426cSMatt Spinler                                "property": { "name": "Value" }
1513420426cSMatt Spinler                            },
1523420426cSMatt Spinler                            {
1533420426cSMatt Spinler                                "name": "planar temps",
1543420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
1553420426cSMatt Spinler                                "property": { "name": "Value" }
1563420426cSMatt Spinler                            },
1573420426cSMatt Spinler                            {
1583420426cSMatt Spinler                                "name": "flett temps",
1593420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
1603420426cSMatt Spinler                                "property": { "name": "Value" }
1613420426cSMatt Spinler                            },
1623420426cSMatt Spinler                            {
1633420426cSMatt Spinler                                "name": "pcie cable card temps",
1643420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
1653420426cSMatt Spinler                                "property": { "name": "Value" }
1663420426cSMatt Spinler                            },
1673420426cSMatt Spinler                            {
1683420426cSMatt Spinler                                "name": "ambient temp",
1693420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
1703420426cSMatt Spinler                                "property": { "name": "Value" }
1713420426cSMatt Spinler                            }
1723420426cSMatt Spinler                        ],
1733420426cSMatt Spinler                        "target": 10400
1743420426cSMatt Spinler                    }
1753420426cSMatt Spinler                ]
1763420426cSMatt Spinler            }
1773420426cSMatt Spinler        ]
1783420426cSMatt Spinler    },
1793420426cSMatt Spinler    {
1803420426cSMatt Spinler        // Set a fan floor if an OCC isn't active
1813420426cSMatt Spinler        "name": "Non-active OCC(s)",
1823420426cSMatt Spinler        "groups": [
1833420426cSMatt Spinler            {
1843420426cSMatt Spinler                "name": "occ objects",
1853420426cSMatt Spinler                "interface": "org.open_power.OCC.Status",
1863420426cSMatt Spinler                "property": {
1873420426cSMatt Spinler                    "name": "OccActive"
1883420426cSMatt Spinler                }
1893420426cSMatt Spinler            }
1903420426cSMatt Spinler        ],
1913420426cSMatt Spinler        "triggers": [
1923420426cSMatt Spinler            {
1933420426cSMatt Spinler                "class": "signal",
1943420426cSMatt Spinler                "signal": "properties_changed"
1953420426cSMatt Spinler            },
1963420426cSMatt Spinler            {
1973420426cSMatt Spinler                "class": "signal",
1983420426cSMatt Spinler                "signal": "interfaces_added"
1993420426cSMatt Spinler            },
2003420426cSMatt Spinler            {
2013420426cSMatt Spinler                "class": "init",
2023420426cSMatt Spinler                "method": "get_properties"
2033420426cSMatt Spinler            }
2043420426cSMatt Spinler        ],
2053420426cSMatt Spinler        "actions": [
2063420426cSMatt Spinler            {
2073420426cSMatt Spinler                "name": "count_state_floor",
2083420426cSMatt Spinler                "count": 1,
2093420426cSMatt Spinler                "state": false,
2103420426cSMatt Spinler                "floor": 10400
2113420426cSMatt Spinler            }
2123420426cSMatt Spinler        ]
2133420426cSMatt Spinler    },
2143420426cSMatt Spinler    {
2153420426cSMatt Spinler        // Set a raised fan floor when any temperature sensor is nonfunctional
2163420426cSMatt Spinler        "name": "Nonfunctional temperature sensors",
2173420426cSMatt Spinler        "groups": [
2183420426cSMatt Spinler            {
2193420426cSMatt Spinler                "name": "proc0 core temps",
2203420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2213420426cSMatt Spinler                "property": { "name": "Functional" }
2223420426cSMatt Spinler            },
2233420426cSMatt Spinler            {
2243420426cSMatt Spinler                "name": "proc1 core temps",
2253420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2263420426cSMatt Spinler                "property": { "name": "Functional" }
2273420426cSMatt Spinler            },
2283420426cSMatt Spinler            {
2293420426cSMatt Spinler                "name": "proc0 ioring temp",
2303420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2313420426cSMatt Spinler                "property": { "name": "Functional" }
2323420426cSMatt Spinler            },
2333420426cSMatt Spinler            {
2343420426cSMatt Spinler                "name": "proc1 ioring temp",
2353420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2363420426cSMatt Spinler                "property": { "name": "Functional" }
2373420426cSMatt Spinler            },
2383420426cSMatt Spinler            {
2393420426cSMatt Spinler                "name": "dram temps",
2403420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2413420426cSMatt Spinler                "property": { "name": "Functional" }
2423420426cSMatt Spinler            },
2433420426cSMatt Spinler            {
2443420426cSMatt Spinler                "name": "pmic temps",
2453420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2463420426cSMatt Spinler                "property": { "name": "Functional" }
2473420426cSMatt Spinler            },
2483420426cSMatt Spinler            {
2493420426cSMatt Spinler                "name": "internal memory buffer temps",
2503420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2513420426cSMatt Spinler                "property": { "name": "Functional" }
2523420426cSMatt Spinler            },
2533420426cSMatt Spinler            {
2543420426cSMatt Spinler                "name": "dram and external memory buffer temps",
2553420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2563420426cSMatt Spinler                "property": { "name": "Functional" }
2573420426cSMatt Spinler            },
2583420426cSMatt Spinler            {
2593420426cSMatt Spinler                "name": "external memory buffer temps",
2603420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2613420426cSMatt Spinler                "property": { "name": "Functional" }
2623420426cSMatt Spinler            },
2633420426cSMatt Spinler            {
2643420426cSMatt Spinler                "name": "vdd vrm temps",
2653420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2663420426cSMatt Spinler                "property": { "name": "Functional" }
2673420426cSMatt Spinler            },
2683420426cSMatt Spinler            {
2693420426cSMatt Spinler                "name": "nvme temps",
2703420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2713420426cSMatt Spinler                "property": { "name": "Functional" }
2723420426cSMatt Spinler            },
2733420426cSMatt Spinler            {
2743420426cSMatt Spinler                "name": "planar temps",
2753420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2763420426cSMatt Spinler                "property": { "name": "Functional" }
2773420426cSMatt Spinler            },
2783420426cSMatt Spinler            {
2793420426cSMatt Spinler                "name": "flett temps",
2803420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2813420426cSMatt Spinler                "property": { "name": "Functional" }
2823420426cSMatt Spinler            },
2833420426cSMatt Spinler            {
2843420426cSMatt Spinler                "name": "pcie cable card temps",
2853420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2863420426cSMatt Spinler                "property": { "name": "Functional" }
2873420426cSMatt Spinler            },
2883420426cSMatt Spinler            {
2893420426cSMatt Spinler                "name": "ambient temp",
2903420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
2913420426cSMatt Spinler                "property": { "name": "Functional" }
2923420426cSMatt Spinler            }
2933420426cSMatt Spinler        ],
2943420426cSMatt Spinler        "triggers": [
2953420426cSMatt Spinler            {
2963420426cSMatt Spinler                "class": "signal",
2973420426cSMatt Spinler                "signal": "properties_changed"
2983420426cSMatt Spinler            },
2993420426cSMatt Spinler            {
3003420426cSMatt Spinler                "class": "signal",
3013420426cSMatt Spinler                "signal": "interfaces_added"
3023420426cSMatt Spinler            },
3033420426cSMatt Spinler            {
3043420426cSMatt Spinler                "class": "signal",
3053420426cSMatt Spinler                "signal": "interfaces_removed"
3063420426cSMatt Spinler            },
3073420426cSMatt Spinler            {
3083420426cSMatt Spinler                "class": "init",
3093420426cSMatt Spinler                "method": "get_properties"
3103420426cSMatt Spinler            }
3113420426cSMatt Spinler        ],
3123420426cSMatt Spinler        "actions": [
3133420426cSMatt Spinler            {
3143420426cSMatt Spinler                "name": "count_state_floor",
3153420426cSMatt Spinler                "count": 1,
3163420426cSMatt Spinler                "state": false,
317*a8c1cf50SMatt Spinler                "delay": 5,
3183420426cSMatt Spinler                "floor": 10400
3193420426cSMatt Spinler            }
3203420426cSMatt Spinler        ]
3213420426cSMatt Spinler    },
3223420426cSMatt Spinler    {
3233420426cSMatt Spinler        "name": "Set Proc 0 Core DVFS parameter",
3243420426cSMatt Spinler        "groups": [
3253420426cSMatt Spinler            {
3263420426cSMatt Spinler                "name": "proc 0 core dvfs temp",
3273420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
3283420426cSMatt Spinler                "property": { "name": "Value" }
3293420426cSMatt Spinler            }
3303420426cSMatt Spinler        ],
3313420426cSMatt Spinler        "triggers": [
3323420426cSMatt Spinler            {
3333420426cSMatt Spinler                "class": "init",
3343420426cSMatt Spinler                "method": "get_properties"
3353420426cSMatt Spinler            },
3363420426cSMatt Spinler            {
3373420426cSMatt Spinler                "class": "signal",
3383420426cSMatt Spinler                "signal": "interfaces_added"
3393420426cSMatt Spinler            },
3403420426cSMatt Spinler            {
3413420426cSMatt Spinler                "class": "signal",
3423420426cSMatt Spinler                "signal": "properties_changed"
3433420426cSMatt Spinler            }
3443420426cSMatt Spinler        ],
3453420426cSMatt Spinler        "actions": [
3463420426cSMatt Spinler            {
3473420426cSMatt Spinler                "name": "set_parameter_from_group_max",
3483420426cSMatt Spinler                "parameter_name": "proc_0_core_dvfs_increase_temp",
3493420426cSMatt Spinler                "modifier": {
3503420426cSMatt Spinler                    "operator": "minus",
3513420426cSMatt Spinler                    "value": 10
3523420426cSMatt Spinler                }
3533420426cSMatt Spinler            },
3543420426cSMatt Spinler            {
3553420426cSMatt Spinler                "name": "set_parameter_from_group_max",
3563420426cSMatt Spinler                "parameter_name": "proc_0_core_dvfs_decrease_temp",
3573420426cSMatt Spinler                "modifier": {
3583420426cSMatt Spinler                    "operator": "minus",
3593420426cSMatt Spinler                    "value": 13
3603420426cSMatt Spinler                }
3613420426cSMatt Spinler            }
3623420426cSMatt Spinler        ]
3633420426cSMatt Spinler    },
3643420426cSMatt Spinler    {
3653420426cSMatt Spinler        "name": "Set Proc 1 Core DVFS parameter",
3663420426cSMatt Spinler        "groups": [
3673420426cSMatt Spinler            {
3683420426cSMatt Spinler                "name": "proc 1 core dvfs temp",
3693420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
3703420426cSMatt Spinler                "property": { "name": "Value" }
3713420426cSMatt Spinler            }
3723420426cSMatt Spinler        ],
3733420426cSMatt Spinler        "triggers": [
3743420426cSMatt Spinler            {
3753420426cSMatt Spinler                "class": "init",
3763420426cSMatt Spinler                "method": "get_properties"
3773420426cSMatt Spinler            },
3783420426cSMatt Spinler            {
3793420426cSMatt Spinler                "class": "signal",
3803420426cSMatt Spinler                "signal": "interfaces_added"
3813420426cSMatt Spinler            },
3823420426cSMatt Spinler            {
3833420426cSMatt Spinler                "class": "signal",
3843420426cSMatt Spinler                "signal": "properties_changed"
3853420426cSMatt Spinler            }
3863420426cSMatt Spinler        ],
3873420426cSMatt Spinler        "actions": [
3883420426cSMatt Spinler            {
3893420426cSMatt Spinler                "name": "set_parameter_from_group_max",
3903420426cSMatt Spinler                "parameter_name": "proc_1_core_dvfs_increase_temp",
3913420426cSMatt Spinler                "modifier": {
3923420426cSMatt Spinler                    "operator": "minus",
3933420426cSMatt Spinler                    "value": 10
3943420426cSMatt Spinler                }
3953420426cSMatt Spinler            },
3963420426cSMatt Spinler            {
3973420426cSMatt Spinler                "name": "set_parameter_from_group_max",
3983420426cSMatt Spinler                "parameter_name": "proc_1_core_dvfs_decrease_temp",
3993420426cSMatt Spinler                "modifier": {
4003420426cSMatt Spinler                    "operator": "minus",
4013420426cSMatt Spinler                    "value": 13
4023420426cSMatt Spinler                }
4033420426cSMatt Spinler            }
4043420426cSMatt Spinler        ]
4053420426cSMatt Spinler    },
4063420426cSMatt Spinler    {
4073420426cSMatt Spinler        "name": "Set Proc 0 IO Ring DVFS parameter",
4083420426cSMatt Spinler        "groups": [
4093420426cSMatt Spinler            {
4103420426cSMatt Spinler                "name": "proc 0 ioring dvfs temp",
4113420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
4123420426cSMatt Spinler                "property": { "name": "Value" }
4133420426cSMatt Spinler            }
4143420426cSMatt Spinler        ],
4153420426cSMatt Spinler        "triggers": [
4163420426cSMatt Spinler            {
4173420426cSMatt Spinler                "class": "init",
4183420426cSMatt Spinler                "method": "get_properties"
4193420426cSMatt Spinler            },
4203420426cSMatt Spinler            {
4213420426cSMatt Spinler                "class": "signal",
4223420426cSMatt Spinler                "signal": "interfaces_added"
4233420426cSMatt Spinler            },
4243420426cSMatt Spinler            {
4253420426cSMatt Spinler                "class": "signal",
4263420426cSMatt Spinler                "signal": "properties_changed"
4273420426cSMatt Spinler            }
4283420426cSMatt Spinler        ],
4293420426cSMatt Spinler        "actions": [
4303420426cSMatt Spinler            {
4313420426cSMatt Spinler                "name": "set_parameter_from_group_max",
4323420426cSMatt Spinler                "parameter_name": "proc_0_ioring_dvfs_increase_temp",
4333420426cSMatt Spinler                "modifier": {
4343420426cSMatt Spinler                    "operator": "minus",
4353420426cSMatt Spinler                    "value": 10
4363420426cSMatt Spinler                }
4373420426cSMatt Spinler            },
4383420426cSMatt Spinler            {
4393420426cSMatt Spinler                "name": "set_parameter_from_group_max",
4403420426cSMatt Spinler                "parameter_name": "proc_0_ioring_dvfs_decrease_temp",
4413420426cSMatt Spinler                "modifier": {
4423420426cSMatt Spinler                    "operator": "minus",
4433420426cSMatt Spinler                    "value": 13
4443420426cSMatt Spinler                }
4453420426cSMatt Spinler            }
4463420426cSMatt Spinler        ]
4473420426cSMatt Spinler    },
4483420426cSMatt Spinler    {
4493420426cSMatt Spinler        "name": "Set Proc 1 IO Ring DVFS parameter",
4503420426cSMatt Spinler        "groups": [
4513420426cSMatt Spinler            {
4523420426cSMatt Spinler                "name": "proc 1 ioring dvfs temp",
4533420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
4543420426cSMatt Spinler                "property": { "name": "Value" }
4553420426cSMatt Spinler            }
4563420426cSMatt Spinler        ],
4573420426cSMatt Spinler        "triggers": [
4583420426cSMatt Spinler            {
4593420426cSMatt Spinler                "class": "init",
4603420426cSMatt Spinler                "method": "get_properties"
4613420426cSMatt Spinler            },
4623420426cSMatt Spinler            {
4633420426cSMatt Spinler                "class": "signal",
4643420426cSMatt Spinler                "signal": "interfaces_added"
4653420426cSMatt Spinler            },
4663420426cSMatt Spinler            {
4673420426cSMatt Spinler                "class": "signal",
4683420426cSMatt Spinler                "signal": "properties_changed"
4693420426cSMatt Spinler            }
4703420426cSMatt Spinler        ],
4713420426cSMatt Spinler        "actions": [
4723420426cSMatt Spinler            {
4733420426cSMatt Spinler                "name": "set_parameter_from_group_max",
4743420426cSMatt Spinler                "parameter_name": "proc_1_ioring_dvfs_increase_temp",
4753420426cSMatt Spinler                "modifier": {
4763420426cSMatt Spinler                    "operator": "minus",
4773420426cSMatt Spinler                    "value": 10
4783420426cSMatt Spinler                }
4793420426cSMatt Spinler            },
4803420426cSMatt Spinler            {
4813420426cSMatt Spinler                "name": "set_parameter_from_group_max",
4823420426cSMatt Spinler                "parameter_name": "proc_1_ioring_dvfs_decrease_temp",
4833420426cSMatt Spinler                "modifier": {
4843420426cSMatt Spinler                    "operator": "minus",
4853420426cSMatt Spinler                    "value": 13
4863420426cSMatt Spinler                }
4873420426cSMatt Spinler            }
4883420426cSMatt Spinler        ]
4893420426cSMatt Spinler    },
4903420426cSMatt Spinler    {
4913420426cSMatt Spinler        "name": "Set DRAM DVFS parameter",
4923420426cSMatt Spinler        "groups": [
4933420426cSMatt Spinler            {
4943420426cSMatt Spinler                "name": "dram dvfs temp",
4953420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
4963420426cSMatt Spinler                "property": { "name": "Value" }
4973420426cSMatt Spinler            }
4983420426cSMatt Spinler        ],
4993420426cSMatt Spinler        "triggers": [
5003420426cSMatt Spinler            {
5013420426cSMatt Spinler                "class": "init",
5023420426cSMatt Spinler                "method": "get_properties"
5033420426cSMatt Spinler            },
5043420426cSMatt Spinler            {
5053420426cSMatt Spinler                "class": "signal",
5063420426cSMatt Spinler                "signal": "properties_changed"
5073420426cSMatt Spinler            },
5083420426cSMatt Spinler            {
5093420426cSMatt Spinler                "class": "signal",
5103420426cSMatt Spinler                "signal": "interfaces_added"
5113420426cSMatt Spinler            }
5123420426cSMatt Spinler        ],
5133420426cSMatt Spinler        "actions": [
5143420426cSMatt Spinler            {
5153420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5163420426cSMatt Spinler                "parameter_name": "dram_dvfs_increase_temp",
5173420426cSMatt Spinler                "modifier": {
5183420426cSMatt Spinler                    "operator": "minus",
5193420426cSMatt Spinler                    "value": 10
5203420426cSMatt Spinler                }
5213420426cSMatt Spinler            },
5223420426cSMatt Spinler            {
5233420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5243420426cSMatt Spinler                "parameter_name": "dram_dvfs_decrease_temp",
5253420426cSMatt Spinler                "modifier": {
5263420426cSMatt Spinler                    "operator": "minus",
5273420426cSMatt Spinler                    "value": 13
5283420426cSMatt Spinler                }
5293420426cSMatt Spinler            }
5303420426cSMatt Spinler        ]
5313420426cSMatt Spinler    },
5323420426cSMatt Spinler    {
5333420426cSMatt Spinler        "name": "Set PMIC DVFS parameter",
5343420426cSMatt Spinler        "groups": [
5353420426cSMatt Spinler            {
5363420426cSMatt Spinler                "name": "pmic dvfs temp",
5373420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
5383420426cSMatt Spinler                "property": { "name": "Value" }
5393420426cSMatt Spinler            }
5403420426cSMatt Spinler        ],
5413420426cSMatt Spinler        "triggers": [
5423420426cSMatt Spinler            {
5433420426cSMatt Spinler                "class": "init",
5443420426cSMatt Spinler                "method": "get_properties"
5453420426cSMatt Spinler            },
5463420426cSMatt Spinler            {
5473420426cSMatt Spinler                "class": "signal",
5483420426cSMatt Spinler                "signal": "properties_changed"
5493420426cSMatt Spinler            },
5503420426cSMatt Spinler            {
5513420426cSMatt Spinler                "class": "signal",
5523420426cSMatt Spinler                "signal": "interfaces_added"
5533420426cSMatt Spinler            }
5543420426cSMatt Spinler        ],
5553420426cSMatt Spinler        "actions": [
5563420426cSMatt Spinler            {
5573420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5583420426cSMatt Spinler                "parameter_name": "pmic_dvfs_increase_temp",
5593420426cSMatt Spinler                "modifier": {
5603420426cSMatt Spinler                    "operator": "minus",
5613420426cSMatt Spinler                    "value": 10
5623420426cSMatt Spinler                }
5633420426cSMatt Spinler            },
5643420426cSMatt Spinler            {
5653420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5663420426cSMatt Spinler                "parameter_name": "pmic_dvfs_decrease_temp",
5673420426cSMatt Spinler                "modifier": {
5683420426cSMatt Spinler                    "operator": "minus",
5693420426cSMatt Spinler                    "value": 13
5703420426cSMatt Spinler                }
5713420426cSMatt Spinler            }
5723420426cSMatt Spinler        ]
5733420426cSMatt Spinler    },
5743420426cSMatt Spinler    {
5753420426cSMatt Spinler        "name": "Set internal memory buffer DVFS parameter",
5763420426cSMatt Spinler        "groups": [
5773420426cSMatt Spinler            {
5783420426cSMatt Spinler                "name": "internal memory buffer dvfs temp",
5793420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
5803420426cSMatt Spinler                "property": { "name": "Value" }
5813420426cSMatt Spinler            }
5823420426cSMatt Spinler        ],
5833420426cSMatt Spinler        "triggers": [
5843420426cSMatt Spinler            {
5853420426cSMatt Spinler                "class": "init",
5863420426cSMatt Spinler                "method": "get_properties"
5873420426cSMatt Spinler            },
5883420426cSMatt Spinler            {
5893420426cSMatt Spinler                "class": "signal",
5903420426cSMatt Spinler                "signal": "properties_changed"
5913420426cSMatt Spinler            },
5923420426cSMatt Spinler            {
5933420426cSMatt Spinler                "class": "signal",
5943420426cSMatt Spinler                "signal": "interfaces_added"
5953420426cSMatt Spinler            }
5963420426cSMatt Spinler        ],
5973420426cSMatt Spinler        "actions": [
5983420426cSMatt Spinler            {
5993420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6003420426cSMatt Spinler                "parameter_name": "intmb_dvfs_increase_temp",
6013420426cSMatt Spinler                "modifier": {
6023420426cSMatt Spinler                    "operator": "minus",
6033420426cSMatt Spinler                    "value": 10
6043420426cSMatt Spinler                }
6053420426cSMatt Spinler            },
6063420426cSMatt Spinler            {
6073420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6083420426cSMatt Spinler                "parameter_name": "intmb_dvfs_decrease_temp",
6093420426cSMatt Spinler                "modifier": {
6103420426cSMatt Spinler                    "operator": "minus",
6113420426cSMatt Spinler                    "value": 13
6123420426cSMatt Spinler                }
6133420426cSMatt Spinler            }
6143420426cSMatt Spinler        ]
6153420426cSMatt Spinler    },
6163420426cSMatt Spinler    {
6173420426cSMatt Spinler        "name": "Set DRAM and external memory buffer DVFS parameter",
6183420426cSMatt Spinler        "groups": [
6193420426cSMatt Spinler            {
6203420426cSMatt Spinler                "name": "dram and external memory buffer dvfs temp",
6213420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
6223420426cSMatt Spinler                "property": { "name": "Value" }
6233420426cSMatt Spinler            }
6243420426cSMatt Spinler        ],
6253420426cSMatt Spinler        "triggers": [
6263420426cSMatt Spinler            {
6273420426cSMatt Spinler                "class": "init",
6283420426cSMatt Spinler                "method": "get_properties"
6293420426cSMatt Spinler            },
6303420426cSMatt Spinler            {
6313420426cSMatt Spinler                "class": "signal",
6323420426cSMatt Spinler                "signal": "properties_changed"
6333420426cSMatt Spinler            },
6343420426cSMatt Spinler            {
6353420426cSMatt Spinler                "class": "signal",
6363420426cSMatt Spinler                "signal": "interfaces_added"
6373420426cSMatt Spinler            }
6383420426cSMatt Spinler        ],
6393420426cSMatt Spinler        "actions": [
6403420426cSMatt Spinler            {
6413420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6423420426cSMatt Spinler                "parameter_name": "dram_extmb_dvfs_increase_temp",
6433420426cSMatt Spinler                "modifier": {
6443420426cSMatt Spinler                    "operator": "minus",
6453420426cSMatt Spinler                    "value": 10
6463420426cSMatt Spinler                }
6473420426cSMatt Spinler            },
6483420426cSMatt Spinler            {
6493420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6503420426cSMatt Spinler                "parameter_name": "dram_extmb_dvfs_decrease_temp",
6513420426cSMatt Spinler                "modifier": {
6523420426cSMatt Spinler                    "operator": "minus",
6533420426cSMatt Spinler                    "value": 13
6543420426cSMatt Spinler                }
6553420426cSMatt Spinler            }
6563420426cSMatt Spinler        ]
6573420426cSMatt Spinler    },
6583420426cSMatt Spinler    {
6593420426cSMatt Spinler        "name": "Set external memory buffer DVFS parameter",
6603420426cSMatt Spinler        "groups": [
6613420426cSMatt Spinler            {
6623420426cSMatt Spinler                "name": "external memory buffer dvfs temp",
6633420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
6643420426cSMatt Spinler                "property": { "name": "Value" }
6653420426cSMatt Spinler            }
6663420426cSMatt Spinler        ],
6673420426cSMatt Spinler        "triggers": [
6683420426cSMatt Spinler            {
6693420426cSMatt Spinler                "class": "init",
6703420426cSMatt Spinler                "method": "get_properties"
6713420426cSMatt Spinler            },
6723420426cSMatt Spinler            {
6733420426cSMatt Spinler                "class": "signal",
6743420426cSMatt Spinler                "signal": "properties_changed"
6753420426cSMatt Spinler            },
6763420426cSMatt Spinler            {
6773420426cSMatt Spinler                "class": "signal",
6783420426cSMatt Spinler                "signal": "interfaces_added"
6793420426cSMatt Spinler            }
6803420426cSMatt Spinler        ],
6813420426cSMatt Spinler        "actions": [
6823420426cSMatt Spinler            {
6833420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6843420426cSMatt Spinler                "parameter_name": "extmb_dvfs_increase_temp",
6853420426cSMatt Spinler                "modifier": {
6863420426cSMatt Spinler                    "operator": "minus",
6873420426cSMatt Spinler                    "value": 7
6883420426cSMatt Spinler                }
6893420426cSMatt Spinler            },
6903420426cSMatt Spinler            {
6913420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6923420426cSMatt Spinler                "parameter_name": "extmb_dvfs_decrease_temp",
6933420426cSMatt Spinler                "modifier": {
6943420426cSMatt Spinler                    "operator": "minus",
6953420426cSMatt Spinler                    "value": 10
6963420426cSMatt Spinler                }
6973420426cSMatt Spinler            }
6983420426cSMatt Spinler        ]
6993420426cSMatt Spinler    },
7003420426cSMatt Spinler    {
7013420426cSMatt Spinler        // Collect group temperatures each iteration the repeating timer expires
7023420426cSMatt Spinler        "name": "Fan control timer loop",
7033420426cSMatt Spinler        "groups": [
7043420426cSMatt Spinler            {
7053420426cSMatt Spinler                "name": "proc0 core temps",
7063420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7073420426cSMatt Spinler                "property": { "name": "Value" }
7083420426cSMatt Spinler            },
7093420426cSMatt Spinler            {
7103420426cSMatt Spinler                "name": "proc1 core temps",
7113420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7123420426cSMatt Spinler                "property": { "name": "Value" }
7133420426cSMatt Spinler            },
7143420426cSMatt Spinler            {
7153420426cSMatt Spinler                "name": "proc0 ioring temp",
7163420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7173420426cSMatt Spinler                "property": { "name": "Value" }
7183420426cSMatt Spinler            },
7193420426cSMatt Spinler            {
7203420426cSMatt Spinler                "name": "proc1 ioring temp",
7213420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7223420426cSMatt Spinler                "property": { "name": "Value" }
7233420426cSMatt Spinler            },
7243420426cSMatt Spinler            {
7253420426cSMatt Spinler                "name": "dram temps",
7263420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7273420426cSMatt Spinler                "property": { "name": "Value" }
7283420426cSMatt Spinler            },
7293420426cSMatt Spinler            {
7303420426cSMatt Spinler                "name": "pmic temps",
7313420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7323420426cSMatt Spinler                "property": { "name": "Value" }
7333420426cSMatt Spinler            },
7343420426cSMatt Spinler            {
7353420426cSMatt Spinler                "name": "internal memory buffer temps",
7363420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7373420426cSMatt Spinler                "property": { "name": "Value" }
7383420426cSMatt Spinler            },
7393420426cSMatt Spinler            {
7403420426cSMatt Spinler                "name": "dram and external memory buffer temps",
7413420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7423420426cSMatt Spinler                "property": { "name": "Value" }
7433420426cSMatt Spinler            },
7443420426cSMatt Spinler            {
7453420426cSMatt Spinler                "name": "external memory buffer temps",
7463420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7473420426cSMatt Spinler                "property": { "name": "Value" }
7483420426cSMatt Spinler            },
7493420426cSMatt Spinler            {
7503420426cSMatt Spinler                "name": "vdd vrm temps",
7513420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7523420426cSMatt Spinler                "property": { "name": "Value" }
7533420426cSMatt Spinler            },
7543420426cSMatt Spinler            {
7553420426cSMatt Spinler                "name": "nvme temps",
7563420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7573420426cSMatt Spinler                "property": { "name": "Value" }
7583420426cSMatt Spinler            },
7593420426cSMatt Spinler            {
7603420426cSMatt Spinler                "name": "planar temps",
7613420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7623420426cSMatt Spinler                "property": { "name": "Value" }
7633420426cSMatt Spinler            },
7643420426cSMatt Spinler            {
7653420426cSMatt Spinler                "name": "flett temps",
7663420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7673420426cSMatt Spinler                "property": { "name": "Value" }
7683420426cSMatt Spinler            },
7693420426cSMatt Spinler            {
7703420426cSMatt Spinler                "name": "pcie cable card temps",
7713420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7723420426cSMatt Spinler                "property": { "name": "Value" }
7733420426cSMatt Spinler            }
7743420426cSMatt Spinler        ],
7753420426cSMatt Spinler        "triggers": [
7763420426cSMatt Spinler            {
7773420426cSMatt Spinler                "class": "timer",
7783420426cSMatt Spinler                "type": "repeating",
7793420426cSMatt Spinler                "interval": 2000000,
7803420426cSMatt Spinler                "preload_groups": true
7813420426cSMatt Spinler            }
7823420426cSMatt Spinler        ],
7833420426cSMatt Spinler        "actions": [
7843420426cSMatt Spinler            {
7853420426cSMatt Spinler                "name": "set_net_increase_target",
7863420426cSMatt Spinler                "groups": [
7873420426cSMatt Spinler                    {
7883420426cSMatt Spinler                        "name": "proc0 core temps",
7893420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
7903420426cSMatt Spinler                        "property": { "name": "Value" }
7913420426cSMatt Spinler                    }
7923420426cSMatt Spinler                ],
7933420426cSMatt Spinler                "state_parameter_name": "proc_0_core_dvfs_increase_temp",
7943420426cSMatt Spinler                "delta": 300
7953420426cSMatt Spinler            },
7963420426cSMatt Spinler            {
7973420426cSMatt Spinler                "name": "set_net_increase_target",
7983420426cSMatt Spinler                "groups": [
7993420426cSMatt Spinler                    {
8003420426cSMatt Spinler                        "name": "proc1 core temps",
8013420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8023420426cSMatt Spinler                        "property": { "name": "Value" }
8033420426cSMatt Spinler                    }
8043420426cSMatt Spinler                ],
8053420426cSMatt Spinler                "state_parameter_name": "proc_1_core_dvfs_increase_temp",
8063420426cSMatt Spinler                "delta": 300
8073420426cSMatt Spinler            },
8083420426cSMatt Spinler            {
8093420426cSMatt Spinler                "name": "set_net_increase_target",
8103420426cSMatt Spinler                "groups": [
8113420426cSMatt Spinler                    {
8123420426cSMatt Spinler                        "name": "proc0 ioring temp",
8133420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8143420426cSMatt Spinler                        "property": { "name": "Value" }
8153420426cSMatt Spinler                    }
8163420426cSMatt Spinler                ],
8173420426cSMatt Spinler                "state_parameter_name": "proc_0_ioring_dvfs_increase_temp",
8183420426cSMatt Spinler                "delta": 300
8193420426cSMatt Spinler            },
8203420426cSMatt Spinler            {
8213420426cSMatt Spinler                "name": "set_net_increase_target",
8223420426cSMatt Spinler                "groups": [
8233420426cSMatt Spinler                    {
8243420426cSMatt Spinler                        "name": "proc1 ioring temp",
8253420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8263420426cSMatt Spinler                        "property": { "name": "Value" }
8273420426cSMatt Spinler                    }
8283420426cSMatt Spinler                ],
8293420426cSMatt Spinler                "state_parameter_name": "proc_1_ioring_dvfs_increase_temp",
8303420426cSMatt Spinler                "delta": 300
8313420426cSMatt Spinler            },
8323420426cSMatt Spinler            {
8333420426cSMatt Spinler                "name": "set_net_increase_target",
8343420426cSMatt Spinler                "groups": [
8353420426cSMatt Spinler                    {
8363420426cSMatt Spinler                        "name": "dram temps",
8373420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8383420426cSMatt Spinler                        "property": { "name": "Value" }
8393420426cSMatt Spinler                    }
8403420426cSMatt Spinler                ],
8413420426cSMatt Spinler                "state_parameter_name": "dram_dvfs_increase_temp",
8423420426cSMatt Spinler                "delta": 200
8433420426cSMatt Spinler            },
8443420426cSMatt Spinler            {
8453420426cSMatt Spinler                "name": "set_net_increase_target",
8463420426cSMatt Spinler                "groups": [
8473420426cSMatt Spinler                    {
8483420426cSMatt Spinler                        "name": "pmic temps",
8493420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8503420426cSMatt Spinler                        "property": { "name": "Value" }
8513420426cSMatt Spinler                    }
8523420426cSMatt Spinler                ],
8533420426cSMatt Spinler                "state_parameter_name": "pmic_dvfs_increase_temp",
8543420426cSMatt Spinler                "delta": 200
8553420426cSMatt Spinler            },
8563420426cSMatt Spinler            {
8573420426cSMatt Spinler                "name": "set_net_increase_target",
8583420426cSMatt Spinler                "groups": [
8593420426cSMatt Spinler                    {
8603420426cSMatt Spinler                        "name": "internal memory buffer temps",
8613420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8623420426cSMatt Spinler                        "property": { "name": "Value" }
8633420426cSMatt Spinler                    }
8643420426cSMatt Spinler                ],
8653420426cSMatt Spinler                "state_parameter_name": "intmb_dvfs_increase_temp",
8663420426cSMatt Spinler                "delta": 200
8673420426cSMatt Spinler            },
8683420426cSMatt Spinler            {
8693420426cSMatt Spinler                "name": "set_net_increase_target",
8703420426cSMatt Spinler                "groups": [
8713420426cSMatt Spinler                    {
8723420426cSMatt Spinler                        "name": "dram and external memory buffer temps",
8733420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8743420426cSMatt Spinler                        "property": { "name": "Value" }
8753420426cSMatt Spinler                    }
8763420426cSMatt Spinler                ],
8773420426cSMatt Spinler                "state_parameter_name": "dram_extmb_dvfs_increase_temp",
8783420426cSMatt Spinler                "delta": 200
8793420426cSMatt Spinler            },
8803420426cSMatt Spinler            {
8813420426cSMatt Spinler                "name": "set_net_increase_target",
8823420426cSMatt Spinler                "groups": [
8833420426cSMatt Spinler                    {
8843420426cSMatt Spinler                        "name": "external memory buffer temps",
8853420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8863420426cSMatt Spinler                        "property": { "name": "Value" }
8873420426cSMatt Spinler                    }
8883420426cSMatt Spinler                ],
8893420426cSMatt Spinler                "state_parameter_name": "extmb_dvfs_increase_temp",
8903420426cSMatt Spinler                "delta": 200
8913420426cSMatt Spinler            },
8923420426cSMatt Spinler            {
8933420426cSMatt Spinler                "name": "set_net_increase_target",
8943420426cSMatt Spinler                "groups": [
8953420426cSMatt Spinler                    {
8963420426cSMatt Spinler                        "name": "vdd vrm temps",
8973420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
8983420426cSMatt Spinler                        "property": { "name": "Value" }
8993420426cSMatt Spinler                    }
9003420426cSMatt Spinler                ],
9013420426cSMatt Spinler                "state": 82.0,
9023420426cSMatt Spinler                "delta": 300
9033420426cSMatt Spinler            },
9043420426cSMatt Spinler            {
9053420426cSMatt Spinler                "name": "set_net_increase_target",
9063420426cSMatt Spinler                "groups": [
9073420426cSMatt Spinler                    {
9083420426cSMatt Spinler                        "name": "nvme temps",
9093420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9103420426cSMatt Spinler                        "property": { "name": "Value" }
9113420426cSMatt Spinler                    }
9123420426cSMatt Spinler                ],
9133420426cSMatt Spinler                "state": 58.0,
9143420426cSMatt Spinler                "delta": 200
9153420426cSMatt Spinler            },
9163420426cSMatt Spinler            {
9173420426cSMatt Spinler                "name": "set_net_increase_target",
9183420426cSMatt Spinler                "groups": [
9193420426cSMatt Spinler                    {
9203420426cSMatt Spinler                        "name": "planar temps",
9213420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9223420426cSMatt Spinler                        "property": { "name": "Value" }
9233420426cSMatt Spinler                    }
9243420426cSMatt Spinler                ],
9253420426cSMatt Spinler                "state": 65.0,
9263420426cSMatt Spinler                "delta": 255
9273420426cSMatt Spinler            },
9283420426cSMatt Spinler            {
9293420426cSMatt Spinler                "name": "set_net_increase_target",
9303420426cSMatt Spinler                "groups": [
9313420426cSMatt Spinler                    {
9323420426cSMatt Spinler                        "name": "flett temps",
9333420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9343420426cSMatt Spinler                        "property": { "name": "Value" }
9353420426cSMatt Spinler                    }
9363420426cSMatt Spinler                ],
9373420426cSMatt Spinler                "state": 80.0,
9383420426cSMatt Spinler                "delta": 200
9393420426cSMatt Spinler            },
9403420426cSMatt Spinler            {
9413420426cSMatt Spinler                "name": "set_net_increase_target",
9423420426cSMatt Spinler                "groups": [
9433420426cSMatt Spinler                    {
9443420426cSMatt Spinler                        "name": "pcie cable card temps",
9453420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9463420426cSMatt Spinler                        "property": { "name": "Value" }
9473420426cSMatt Spinler                    }
9483420426cSMatt Spinler                ],
9493420426cSMatt Spinler                "state": 70.0,
9503420426cSMatt Spinler                "delta": 255
9513420426cSMatt Spinler            },
9523420426cSMatt Spinler            {
9533420426cSMatt Spinler                "name": "set_net_decrease_target",
9543420426cSMatt Spinler                "groups": [
9553420426cSMatt Spinler                    {
9563420426cSMatt Spinler                        "name": "proc0 core temps",
9573420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9583420426cSMatt Spinler                        "property": { "name": "Value" }
9593420426cSMatt Spinler                    }
9603420426cSMatt Spinler                ],
9613420426cSMatt Spinler                "state_parameter_name": "proc_0_core_dvfs_decrease_temp",
9623420426cSMatt Spinler                "delta": 50
9633420426cSMatt Spinler            },
9643420426cSMatt Spinler            {
9653420426cSMatt Spinler                "name": "set_net_decrease_target",
9663420426cSMatt Spinler                "groups": [
9673420426cSMatt Spinler                    {
9683420426cSMatt Spinler                        "name": "proc1 core temps",
9693420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9703420426cSMatt Spinler                        "property": { "name": "Value" }
9713420426cSMatt Spinler                    }
9723420426cSMatt Spinler                ],
9733420426cSMatt Spinler                "state_parameter_name": "proc_1_core_dvfs_decrease_temp",
9743420426cSMatt Spinler                "delta": 50
9753420426cSMatt Spinler            },
9763420426cSMatt Spinler            {
9773420426cSMatt Spinler                "name": "set_net_decrease_target",
9783420426cSMatt Spinler                "groups": [
9793420426cSMatt Spinler                    {
9803420426cSMatt Spinler                        "name": "proc0 ioring temp",
9813420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9823420426cSMatt Spinler                        "property": { "name": "Value" }
9833420426cSMatt Spinler                    }
9843420426cSMatt Spinler                ],
9853420426cSMatt Spinler                "state_parameter_name": "proc_0_ioring_dvfs_decrease_temp",
9863420426cSMatt Spinler                "delta": 50
9873420426cSMatt Spinler            },
9883420426cSMatt Spinler            {
9893420426cSMatt Spinler                "name": "set_net_decrease_target",
9903420426cSMatt Spinler                "groups": [
9913420426cSMatt Spinler                    {
9923420426cSMatt Spinler                        "name": "proc1 ioring temp",
9933420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
9943420426cSMatt Spinler                        "property": { "name": "Value" }
9953420426cSMatt Spinler                    }
9963420426cSMatt Spinler                ],
9973420426cSMatt Spinler                "state_parameter_name": "proc_1_ioring_dvfs_decrease_temp",
9983420426cSMatt Spinler                "delta": 50
9993420426cSMatt Spinler            },
10003420426cSMatt Spinler            {
10013420426cSMatt Spinler                "name": "set_net_decrease_target",
10023420426cSMatt Spinler                "groups": [
10033420426cSMatt Spinler                    {
10043420426cSMatt Spinler                        "name": "dram temps",
10053420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10063420426cSMatt Spinler                        "property": { "name": "Value" }
10073420426cSMatt Spinler                    }
10083420426cSMatt Spinler                ],
10093420426cSMatt Spinler                "state_parameter_name": "dram_dvfs_decrease_temp",
10103420426cSMatt Spinler                "delta": 50
10113420426cSMatt Spinler            },
10123420426cSMatt Spinler            {
10133420426cSMatt Spinler                "name": "set_net_decrease_target",
10143420426cSMatt Spinler                "groups": [
10153420426cSMatt Spinler                    {
10163420426cSMatt Spinler                        "name": "pmic temps",
10173420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10183420426cSMatt Spinler                        "property": { "name": "Value" }
10193420426cSMatt Spinler                    }
10203420426cSMatt Spinler                ],
10213420426cSMatt Spinler                "state_parameter_name": "pmic_dvfs_decrease_temp",
10223420426cSMatt Spinler                "delta": 50
10233420426cSMatt Spinler            },
10243420426cSMatt Spinler            {
10253420426cSMatt Spinler                "name": "set_net_decrease_target",
10263420426cSMatt Spinler                "groups": [
10273420426cSMatt Spinler                    {
10283420426cSMatt Spinler                        "name": "internal memory buffer temps",
10293420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10303420426cSMatt Spinler                        "property": { "name": "Value" }
10313420426cSMatt Spinler                    }
10323420426cSMatt Spinler                ],
10333420426cSMatt Spinler                "state_parameter_name": "intmb_dvfs_decrease_temp",
10343420426cSMatt Spinler                "delta": 50
10353420426cSMatt Spinler            },
10363420426cSMatt Spinler            {
10373420426cSMatt Spinler                "name": "set_net_decrease_target",
10383420426cSMatt Spinler                "groups": [
10393420426cSMatt Spinler                    {
10403420426cSMatt Spinler                        "name": "dram and external memory buffer temps",
10413420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10423420426cSMatt Spinler                        "property": { "name": "Value" }
10433420426cSMatt Spinler                    }
10443420426cSMatt Spinler                ],
10453420426cSMatt Spinler                "state_parameter_name": "dram_extmb_dvfs_decrease_temp",
10463420426cSMatt Spinler                "delta": 50
10473420426cSMatt Spinler            },
10483420426cSMatt Spinler            {
10493420426cSMatt Spinler                "name": "set_net_decrease_target",
10503420426cSMatt Spinler                "groups": [
10513420426cSMatt Spinler                    {
10523420426cSMatt Spinler                        "name": "external memory buffer temps",
10533420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10543420426cSMatt Spinler                        "property": { "name": "Value" }
10553420426cSMatt Spinler                    }
10563420426cSMatt Spinler                ],
10573420426cSMatt Spinler                "state_parameter_name": "extmb_dvfs_decrease_temp",
10583420426cSMatt Spinler                "delta": 50
10593420426cSMatt Spinler            },
10603420426cSMatt Spinler            {
10613420426cSMatt Spinler                "name": "set_net_decrease_target",
10623420426cSMatt Spinler                "groups": [
10633420426cSMatt Spinler                    {
10643420426cSMatt Spinler                        "name": "vdd vrm temps",
10653420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10663420426cSMatt Spinler                        "property": { "name": "Value" }
10673420426cSMatt Spinler                    }
10683420426cSMatt Spinler                ],
10693420426cSMatt Spinler                "state": 79.0,
10703420426cSMatt Spinler                "delta": 50
10713420426cSMatt Spinler            },
10723420426cSMatt Spinler            {
10733420426cSMatt Spinler                "name": "set_net_decrease_target",
10743420426cSMatt Spinler                "groups": [
10753420426cSMatt Spinler                    {
10763420426cSMatt Spinler                        "name": "nvme temps",
10773420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10783420426cSMatt Spinler                        "property": { "name": "Value" }
10793420426cSMatt Spinler                    }
10803420426cSMatt Spinler                ],
10813420426cSMatt Spinler                "state": 55.0,
10823420426cSMatt Spinler                "delta": 50
10833420426cSMatt Spinler            },
10843420426cSMatt Spinler            {
10853420426cSMatt Spinler                "name": "set_net_decrease_target",
10863420426cSMatt Spinler                "groups": [
10873420426cSMatt Spinler                    {
10883420426cSMatt Spinler                        "name": "planar temps",
10893420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
10903420426cSMatt Spinler                        "property": { "name": "Value" }
10913420426cSMatt Spinler                    }
10923420426cSMatt Spinler                ],
10933420426cSMatt Spinler                "state": 60.0,
10943420426cSMatt Spinler                "delta": 50
10953420426cSMatt Spinler            },
10963420426cSMatt Spinler            {
10973420426cSMatt Spinler                "name": "set_net_decrease_target",
10983420426cSMatt Spinler                "groups": [
10993420426cSMatt Spinler                    {
11003420426cSMatt Spinler                        "name": "flett temps",
11013420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
11023420426cSMatt Spinler                        "property": { "name": "Value" }
11033420426cSMatt Spinler                    }
11043420426cSMatt Spinler                ],
11053420426cSMatt Spinler                "state": 75.0,
11063420426cSMatt Spinler                "delta": 40
11073420426cSMatt Spinler            },
11083420426cSMatt Spinler            {
11093420426cSMatt Spinler                "name": "set_net_decrease_target",
11103420426cSMatt Spinler                "groups": [
11113420426cSMatt Spinler                    {
11123420426cSMatt Spinler                        "name": "pcie cable card temps",
11133420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
11143420426cSMatt Spinler                        "property": { "name": "Value" }
11153420426cSMatt Spinler                    }
11163420426cSMatt Spinler                ],
11173420426cSMatt Spinler                "state": 65.0,
11183420426cSMatt Spinler                "delta": 50
11193420426cSMatt Spinler            }
11203420426cSMatt Spinler        ]
11213420426cSMatt Spinler    },
11223420426cSMatt Spinler    {
11233420426cSMatt Spinler        // Remove NVMe temperature objects from cache when they are removed from
11243420426cSMatt Spinler        // dbus. There's no need to react to their removal.
11253420426cSMatt Spinler        "name": "remove nvme objects",
11263420426cSMatt Spinler        "groups": [
11273420426cSMatt Spinler            {
11283420426cSMatt Spinler                "name": "nvme temps",
11293420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
11303420426cSMatt Spinler                "property": { "name": "Value" }
11313420426cSMatt Spinler            },
11323420426cSMatt Spinler            {
11333420426cSMatt Spinler                "name": "nvme temps",
11343420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
11353420426cSMatt Spinler                "property": { "name": "Functional" }
11363420426cSMatt Spinler            }
11373420426cSMatt Spinler        ],
11383420426cSMatt Spinler        "triggers": [
11393420426cSMatt Spinler            {
11403420426cSMatt Spinler                "class": "signal",
11413420426cSMatt Spinler                "signal": "interfaces_removed"
11423420426cSMatt Spinler            }
11433420426cSMatt Spinler        ]
11443420426cSMatt Spinler    },
11453420426cSMatt Spinler    {
11463420426cSMatt Spinler        "name": "set pcie floor index",
11473420426cSMatt Spinler        "groups": [
11483420426cSMatt Spinler            {
11493420426cSMatt Spinler                "name": "pcie slots",
11503420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.PowerState",
11513420426cSMatt Spinler                "property": {
11523420426cSMatt Spinler                    "name": "PowerState"
11533420426cSMatt Spinler                }
11543420426cSMatt Spinler            },
11553420426cSMatt Spinler            {
11563420426cSMatt Spinler                "name": "pcie cards",
11573420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
11583420426cSMatt Spinler                "property": {
11593420426cSMatt Spinler                    "name": "Function0DeviceId"
11603420426cSMatt Spinler                }
11613420426cSMatt Spinler            },
11623420426cSMatt Spinler            {
11633420426cSMatt Spinler                "name": "pcie cards",
11643420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
11653420426cSMatt Spinler                "property": {
11663420426cSMatt Spinler                    "name": "Function0VendorId"
11673420426cSMatt Spinler                }
11683420426cSMatt Spinler            },
11693420426cSMatt Spinler            {
11703420426cSMatt Spinler                "name": "pcie cards",
11713420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
11723420426cSMatt Spinler                "property": {
11733420426cSMatt Spinler                    "name": "Function0SubsystemId"
11743420426cSMatt Spinler                }
11753420426cSMatt Spinler            },
11763420426cSMatt Spinler            {
11773420426cSMatt Spinler                "name": "pcie cards",
11783420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
11793420426cSMatt Spinler                "property": {
11803420426cSMatt Spinler                    "name": "Function0SubsystemVendorId"
11813420426cSMatt Spinler                }
11823420426cSMatt Spinler            }
11833420426cSMatt Spinler        ],
11843420426cSMatt Spinler        "triggers": [
11853420426cSMatt Spinler            {
11863420426cSMatt Spinler                "class": "init",
11873420426cSMatt Spinler                "method": "get_properties"
11883420426cSMatt Spinler            },
11893420426cSMatt Spinler            {
11903420426cSMatt Spinler                "class": "signal",
11913420426cSMatt Spinler                "signal": "properties_changed"
11923420426cSMatt Spinler            },
11933420426cSMatt Spinler            {
11943420426cSMatt Spinler                "class": "signal",
11953420426cSMatt Spinler                "signal": "interfaces_added"
11963420426cSMatt Spinler            }
11973420426cSMatt Spinler        ],
11983420426cSMatt Spinler        "actions": [
11993420426cSMatt Spinler            {
12003420426cSMatt Spinler                "name": "pcie_card_floors",
12013420426cSMatt Spinler                "use_config_specific_files": true,
12023420426cSMatt Spinler                "settle_time": 2
12033420426cSMatt Spinler            }
12043420426cSMatt Spinler        ]
12053420426cSMatt Spinler    },
12063420426cSMatt Spinler    {
12073420426cSMatt Spinler        "name": "Set altitude offset parameter",
12083420426cSMatt Spinler        "groups": [
12093420426cSMatt Spinler            {
12103420426cSMatt Spinler                "name": "altitude",
12113420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
12123420426cSMatt Spinler                "property": { "name": "Value" }
12133420426cSMatt Spinler            }
12143420426cSMatt Spinler        ],
12153420426cSMatt Spinler        "triggers": [
12163420426cSMatt Spinler            {
12173420426cSMatt Spinler                "class": "init",
12183420426cSMatt Spinler                "method": "get_properties"
12193420426cSMatt Spinler            },
12203420426cSMatt Spinler            {
12213420426cSMatt Spinler                "class": "signal",
12223420426cSMatt Spinler                "signal": "interfaces_added"
12233420426cSMatt Spinler            },
12243420426cSMatt Spinler            {
12253420426cSMatt Spinler                // Refresh altitude every 24hrs
12263420426cSMatt Spinler                "class": "timer",
12273420426cSMatt Spinler                "type": "repeating",
12283420426cSMatt Spinler                "interval": 86400000000,
12293420426cSMatt Spinler                "preload_groups": true
12303420426cSMatt Spinler            }
12313420426cSMatt Spinler        ],
12323420426cSMatt Spinler        "actions": [
12333420426cSMatt Spinler            {
12343420426cSMatt Spinler                "name": "set_parameter_from_group_max",
12353420426cSMatt Spinler                "parameter_name": "altitude_offset",
12363420426cSMatt Spinler                "modifier": {
12373420426cSMatt Spinler                    "operator": "less_than",
12383420426cSMatt Spinler                    "default_value": 3000,
12393420426cSMatt Spinler                    "value": [
12403420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 0 },
12413420426cSMatt Spinler                        { "arg_value": 1900, "parameter_value": 1000 },
12423420426cSMatt Spinler                        { "arg_value": 2800, "parameter_value": 2000 }
12433420426cSMatt Spinler                    ]
12443420426cSMatt Spinler                }
12453420426cSMatt Spinler            }
12463420426cSMatt Spinler        ]
12473420426cSMatt Spinler    },
12483420426cSMatt Spinler    {
12493420426cSMatt Spinler        "name": "Fan floors",
12503420426cSMatt Spinler        "groups": [
12513420426cSMatt Spinler            {
12523420426cSMatt Spinler                "name": "ambient temp",
12533420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
12543420426cSMatt Spinler                "property": { "name": "Value" }
12553420426cSMatt Spinler            },
12563420426cSMatt Spinler            {
12573420426cSMatt Spinler                "name": "cpu 0 inventory",
12583420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Decorator.Asset",
12593420426cSMatt Spinler                "property": { "name": "Model" }
12603420426cSMatt Spinler            }
12613420426cSMatt Spinler        ],
12623420426cSMatt Spinler        "triggers": [
12633420426cSMatt Spinler            {
12643420426cSMatt Spinler                "class": "init",
12653420426cSMatt Spinler                "method": "get_properties"
12663420426cSMatt Spinler            },
12673420426cSMatt Spinler            {
12683420426cSMatt Spinler                "class": "signal",
12693420426cSMatt Spinler                "signal": "properties_changed"
12703420426cSMatt Spinler            },
12713420426cSMatt Spinler            {
12723420426cSMatt Spinler                "class": "signal",
12733420426cSMatt Spinler                "signal": "interfaces_added"
12743420426cSMatt Spinler            },
12753420426cSMatt Spinler            {
12763420426cSMatt Spinler                "class": "parameter",
12773420426cSMatt Spinler                "parameter": "pcie_floor_index"
12783420426cSMatt Spinler            },
12793420426cSMatt Spinler            {
12803420426cSMatt Spinler                "class": "parameter",
12813420426cSMatt Spinler                "parameter": "altitude_offset"
12823420426cSMatt Spinler            }
12833420426cSMatt Spinler        ],
12843420426cSMatt Spinler        "actions": [
12853420426cSMatt Spinler            {
12863420426cSMatt Spinler                "name": "mapped_floor",
12873420426cSMatt Spinler                "key_group": "ambient temp",
12883420426cSMatt Spinler                "condition_group": "cpu 0 inventory",
12893420426cSMatt Spinler                "condition_value": "5CF9",
12903420426cSMatt Spinler                "condition_op": "not_equal",
12913420426cSMatt Spinler                "fan_floors": [
12923420426cSMatt Spinler                    {
12933420426cSMatt Spinler                        // Entry valid for ambient temp < 27
12943420426cSMatt Spinler                        "key": 27,
12953420426cSMatt Spinler                        "default_floor": 3700,
12963420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
12973420426cSMatt Spinler                        "floors": [
12983420426cSMatt Spinler                            {
12993420426cSMatt Spinler                                "parameter": "pcie_floor_index",
13003420426cSMatt Spinler                                "floors": [
13013420426cSMatt Spinler                                    { "value": 1, "floor": 6000 },
13023420426cSMatt Spinler                                    { "value": 2, "floor": 7000 },
13033420426cSMatt Spinler                                    { "value": 3, "floor": 8000 }
13043420426cSMatt Spinler                                ]
13053420426cSMatt Spinler                            }
13063420426cSMatt Spinler                        ]
13073420426cSMatt Spinler                    },
13083420426cSMatt Spinler                    {
13093420426cSMatt Spinler                        // Entry valid for ambient temp < 32
13103420426cSMatt Spinler                        "key": 32,
13113420426cSMatt Spinler                        "default_floor": 5000,
13123420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
13133420426cSMatt Spinler                        "floors": [
13143420426cSMatt Spinler                            {
13153420426cSMatt Spinler                                "parameter": "pcie_floor_index",
13163420426cSMatt Spinler                                "floors": [
13173420426cSMatt Spinler                                    { "value": 1, "floor": 7000 },
13183420426cSMatt Spinler                                    { "value": 2, "floor": 9000 },
13193420426cSMatt Spinler                                    { "value": 3, "floor": 9500 }
13203420426cSMatt Spinler                                ]
13213420426cSMatt Spinler                            }
13223420426cSMatt Spinler                        ]
13233420426cSMatt Spinler                    },
13243420426cSMatt Spinler                    {
13253420426cSMatt Spinler                        // Entry valid for ambient temp < 37
13263420426cSMatt Spinler                        "key": 37,
13273420426cSMatt Spinler                        "default_floor": 6000,
13283420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
13293420426cSMatt Spinler                        "floors": [
13303420426cSMatt Spinler                            {
13313420426cSMatt Spinler                                "parameter": "pcie_floor_index",
13323420426cSMatt Spinler                                "floors": [
13333420426cSMatt Spinler                                    { "value": 1, "floor": 9000 },
13343420426cSMatt Spinler                                    { "value": 2, "floor": 9500 },
13353420426cSMatt Spinler                                    { "value": 3, "floor": 10400 }
13363420426cSMatt Spinler                                ]
13373420426cSMatt Spinler                            }
13383420426cSMatt Spinler                        ]
13393420426cSMatt Spinler                    },
13403420426cSMatt Spinler                    {
13413420426cSMatt Spinler                        // Entry valid for ambient temp < 42
13423420426cSMatt Spinler                        "key": 42,
13433420426cSMatt Spinler                        "default_floor": 8000,
13443420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
13453420426cSMatt Spinler                        "floors": [
13463420426cSMatt Spinler                            {
13473420426cSMatt Spinler                                "parameter": "pcie_floor_index",
13483420426cSMatt Spinler                                "floors": [
13493420426cSMatt Spinler                                    { "value": 1, "floor": 9500 },
13503420426cSMatt Spinler                                    { "value": 2, "floor": 10400 },
13513420426cSMatt Spinler                                    { "value": 3, "floor": 10400 }
13523420426cSMatt Spinler                                ]
13533420426cSMatt Spinler                            }
13543420426cSMatt Spinler                        ]
13553420426cSMatt Spinler                    }
13563420426cSMatt Spinler                ]
13573420426cSMatt Spinler            },
13583420426cSMatt Spinler            {
13593420426cSMatt Spinler                "name": "mapped_floor",
13603420426cSMatt Spinler                "key_group": "ambient temp",
13613420426cSMatt Spinler                "condition_group": "cpu 0 inventory",
13623420426cSMatt Spinler                "condition_value": "5CF9",
13633420426cSMatt Spinler                "condition_op": "equal",
13643420426cSMatt Spinler                "fan_floors": [
13653420426cSMatt Spinler                    {
13663420426cSMatt Spinler                        // Entry valid for ambient temp < 27
13673420426cSMatt Spinler                        "key": 27,
13683420426cSMatt Spinler                        "default_floor": 5000,
13693420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
13703420426cSMatt Spinler                        "floors": [
13713420426cSMatt Spinler                            {
13723420426cSMatt Spinler                                "parameter": "pcie_floor_index",
13733420426cSMatt Spinler                                "floors": [
13743420426cSMatt Spinler                                    { "value": 1, "floor": 7000 },
13753420426cSMatt Spinler                                    { "value": 2, "floor": 8000 },
13763420426cSMatt Spinler                                    { "value": 3, "floor": 9000 }
13773420426cSMatt Spinler                                ]
13783420426cSMatt Spinler                            }
13793420426cSMatt Spinler                        ]
13803420426cSMatt Spinler                    },
13813420426cSMatt Spinler                    {
13823420426cSMatt Spinler                        // Entry valid for ambient temp < 32
13833420426cSMatt Spinler                        "key": 32,
13843420426cSMatt Spinler                        "default_floor": 6000,
13853420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
13863420426cSMatt Spinler                        "floors": [
13873420426cSMatt Spinler                            {
13883420426cSMatt Spinler                                "parameter": "pcie_floor_index",
13893420426cSMatt Spinler                                "floors": [
13903420426cSMatt Spinler                                    { "value": 1, "floor": 8000 },
13913420426cSMatt Spinler                                    { "value": 2, "floor": 9000 },
13923420426cSMatt Spinler                                    { "value": 3, "floor": 9500 }
13933420426cSMatt Spinler                                ]
13943420426cSMatt Spinler                            }
13953420426cSMatt Spinler                        ]
13963420426cSMatt Spinler                    },
13973420426cSMatt Spinler                    {
13983420426cSMatt Spinler                        // Entry valid for ambient temp < 37
13993420426cSMatt Spinler                        "key": 37,
14003420426cSMatt Spinler                        "default_floor": 7000,
14013420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
14023420426cSMatt Spinler                        "floors": [
14033420426cSMatt Spinler                            {
14043420426cSMatt Spinler                                "parameter": "pcie_floor_index",
14053420426cSMatt Spinler                                "floors": [
14063420426cSMatt Spinler                                    { "value": 1, "floor": 9000 },
14073420426cSMatt Spinler                                    { "value": 2, "floor": 9500 },
14083420426cSMatt Spinler                                    { "value": 3, "floor": 10400 }
14093420426cSMatt Spinler                                ]
14103420426cSMatt Spinler                            }
14113420426cSMatt Spinler                        ]
14123420426cSMatt Spinler                    },
14133420426cSMatt Spinler                    {
14143420426cSMatt Spinler                        // Entry valid for ambient temp < 42
14153420426cSMatt Spinler                        "key": 42,
14163420426cSMatt Spinler                        "default_floor": 8000,
14173420426cSMatt Spinler                        "floor_offset_parameter": "altitude_offset",
14183420426cSMatt Spinler                        "floors": [
14193420426cSMatt Spinler                            {
14203420426cSMatt Spinler                                "parameter": "pcie_floor_index",
14213420426cSMatt Spinler                                "floors": [
14223420426cSMatt Spinler                                    { "value": 1, "floor": 9500 },
14233420426cSMatt Spinler                                    { "value": 2, "floor": 10400 },
14243420426cSMatt Spinler                                    { "value": 3, "floor": 10400 }
14253420426cSMatt Spinler                                ]
14263420426cSMatt Spinler                            }
14273420426cSMatt Spinler                        ]
14283420426cSMatt Spinler                    }
14293420426cSMatt Spinler                ]
14303420426cSMatt Spinler            }
14313420426cSMatt Spinler        ]
14323420426cSMatt Spinler    }
14333420426cSMatt Spinler]
1434