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": 11300
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": "fan3 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": 2,
703420426cSMatt Spinler                "state": false,
713420426cSMatt Spinler                "target": 11300
723420426cSMatt Spinler            }
733420426cSMatt Spinler        ]
743420426cSMatt Spinler    },
753420426cSMatt Spinler    {
763420426cSMatt Spinler        // (for the following 4 rules)
773420426cSMatt Spinler        // if a dual-rotor fan becomes non-functional, lock its speed to
783420426cSMatt Spinler        // poweron_target to lock the other rotor to full_speed
793420426cSMatt Spinler        "name": "nonfunc rotor override-0",
803420426cSMatt Spinler        "groups": [
813420426cSMatt Spinler            {
823420426cSMatt Spinler                "name": "fan0 rotor inventory",
833420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
843420426cSMatt Spinler                "property": { "name": "Functional" }
853420426cSMatt Spinler            }
863420426cSMatt Spinler        ],
873420426cSMatt Spinler        "triggers": [
883420426cSMatt Spinler            {
893420426cSMatt Spinler                "class": "init",
903420426cSMatt Spinler                "method": "get_properties"
913420426cSMatt Spinler            },
923420426cSMatt Spinler            {
933420426cSMatt Spinler                "class": "signal",
943420426cSMatt Spinler                "signal": "properties_changed"
953420426cSMatt Spinler            }
963420426cSMatt Spinler        ],
973420426cSMatt Spinler        "actions": [
983420426cSMatt Spinler            {
993420426cSMatt Spinler                "name": "override_fan_target",
1003420426cSMatt Spinler                "count": 1,
1013420426cSMatt Spinler                "state": false,
1023420426cSMatt Spinler                "fans": ["fan0"],
1033420426cSMatt Spinler                "target": 11300
1043420426cSMatt Spinler            }
1053420426cSMatt Spinler        ]
1063420426cSMatt Spinler    },
1073420426cSMatt Spinler    {
1083420426cSMatt Spinler        "name": "nonfunc rotor override-1",
1093420426cSMatt Spinler        "groups": [
1103420426cSMatt Spinler            {
1113420426cSMatt Spinler                "name": "fan1 rotor inventory",
1123420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
1133420426cSMatt Spinler                "property": { "name": "Functional" }
1143420426cSMatt Spinler            }
1153420426cSMatt Spinler        ],
1163420426cSMatt Spinler        "triggers": [
1173420426cSMatt Spinler            {
1183420426cSMatt Spinler                "class": "init",
1193420426cSMatt Spinler                "method": "get_properties"
1203420426cSMatt Spinler            },
1213420426cSMatt Spinler            {
1223420426cSMatt Spinler                "class": "signal",
1233420426cSMatt Spinler                "signal": "properties_changed"
1243420426cSMatt Spinler            }
1253420426cSMatt Spinler        ],
1263420426cSMatt Spinler        "actions": [
1273420426cSMatt Spinler            {
1283420426cSMatt Spinler                "name": "override_fan_target",
1293420426cSMatt Spinler                "count": 1,
1303420426cSMatt Spinler                "state": false,
1313420426cSMatt Spinler                "fans": ["fan1"],
1323420426cSMatt Spinler                "target": 11300
1333420426cSMatt Spinler            }
1343420426cSMatt Spinler        ]
1353420426cSMatt Spinler    },
1363420426cSMatt Spinler    {
1373420426cSMatt Spinler        "name": "nonfunc rotor override-2",
1383420426cSMatt Spinler        "groups": [
1393420426cSMatt Spinler            {
1403420426cSMatt Spinler                "name": "fan2 rotor inventory",
1413420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
1423420426cSMatt Spinler                "property": { "name": "Functional" }
1433420426cSMatt Spinler            }
1443420426cSMatt Spinler        ],
1453420426cSMatt Spinler        "triggers": [
1463420426cSMatt Spinler            {
1473420426cSMatt Spinler                "class": "init",
1483420426cSMatt Spinler                "method": "get_properties"
1493420426cSMatt Spinler            },
1503420426cSMatt Spinler            {
1513420426cSMatt Spinler                "class": "signal",
1523420426cSMatt Spinler                "signal": "properties_changed"
1533420426cSMatt Spinler            }
1543420426cSMatt Spinler        ],
1553420426cSMatt Spinler        "actions": [
1563420426cSMatt Spinler            {
1573420426cSMatt Spinler                "name": "override_fan_target",
1583420426cSMatt Spinler                "count": 1,
1593420426cSMatt Spinler                "state": false,
1603420426cSMatt Spinler                "fans": ["fan2"],
1613420426cSMatt Spinler                "target": 11300
1623420426cSMatt Spinler            }
1633420426cSMatt Spinler        ]
1643420426cSMatt Spinler    },
1653420426cSMatt Spinler    {
1663420426cSMatt Spinler        "name": "nonfunc rotor override-3",
1673420426cSMatt Spinler        "groups": [
1683420426cSMatt Spinler            {
1693420426cSMatt Spinler                "name": "fan3 rotor inventory",
1703420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
1713420426cSMatt Spinler                "property": { "name": "Functional" }
1723420426cSMatt Spinler            }
1733420426cSMatt Spinler        ],
1743420426cSMatt Spinler        "triggers": [
1753420426cSMatt Spinler            {
1763420426cSMatt Spinler                "class": "init",
1773420426cSMatt Spinler                "method": "get_properties"
1783420426cSMatt Spinler            },
1793420426cSMatt Spinler            {
1803420426cSMatt Spinler                "class": "signal",
1813420426cSMatt Spinler                "signal": "properties_changed"
1823420426cSMatt Spinler            }
1833420426cSMatt Spinler        ],
1843420426cSMatt Spinler        "actions": [
1853420426cSMatt Spinler            {
1863420426cSMatt Spinler                "name": "override_fan_target",
1873420426cSMatt Spinler                "count": 1,
1883420426cSMatt Spinler                "state": false,
1893420426cSMatt Spinler                "fans": ["fan3"],
1903420426cSMatt Spinler                "target": 11300
1913420426cSMatt Spinler            }
1923420426cSMatt Spinler        ]
1933420426cSMatt Spinler    },
1943420426cSMatt Spinler    {
1953420426cSMatt Spinler        // Hold fans at the given target when any critical service
1963420426cSMatt Spinler        // is not running for 5 seconds.
1973420426cSMatt Spinler        "name": "service(s) missing",
1983420426cSMatt Spinler        "groups": [
1993420426cSMatt Spinler            {
2003420426cSMatt Spinler                "name": "fan inventory",
2013420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item",
2023420426cSMatt Spinler                "property": { "name": "Present" }
2033420426cSMatt Spinler            },
2043420426cSMatt Spinler            {
2053420426cSMatt Spinler                "name": "occ objects",
2063420426cSMatt Spinler                "interface": "org.open_power.OCC.Status",
2073420426cSMatt Spinler                "property": { "name": "OccActive" }
2083420426cSMatt Spinler            },
2093420426cSMatt Spinler            {
2103420426cSMatt Spinler                "name": "nvme temps",
2113420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2123420426cSMatt Spinler                "property": { "name": "Value" }
2133420426cSMatt Spinler            },
2143420426cSMatt Spinler            {
2153420426cSMatt Spinler                "name": "planar temps",
2163420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2173420426cSMatt Spinler                "property": { "name": "Value" }
2183420426cSMatt Spinler            },
2193420426cSMatt Spinler            {
2203420426cSMatt Spinler                "name": "pcie cable card temps",
2213420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2223420426cSMatt Spinler                "property": { "name": "Value" }
2233420426cSMatt Spinler            },
2243420426cSMatt Spinler            {
2253420426cSMatt Spinler                "name": "ambient temp",
2263420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2273420426cSMatt Spinler                "property": { "name": "Value" }
2283420426cSMatt Spinler            },
2293420426cSMatt Spinler            {
2303420426cSMatt Spinler                "name": "altitude",
2313420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
2323420426cSMatt Spinler                "property": { "name": "Value" }
2333420426cSMatt Spinler            }
2343420426cSMatt Spinler        ],
2353420426cSMatt Spinler        "triggers": [
2363420426cSMatt Spinler            {
2373420426cSMatt Spinler                "class": "init",
2383420426cSMatt Spinler                "method": "name_has_owner"
2393420426cSMatt Spinler            },
2403420426cSMatt Spinler            {
2413420426cSMatt Spinler                "class": "signal",
2423420426cSMatt Spinler                "signal": "name_owner_changed"
2433420426cSMatt Spinler            }
2443420426cSMatt Spinler        ],
2453420426cSMatt Spinler        "actions": [
2463420426cSMatt Spinler            {
2473420426cSMatt Spinler                "name": "call_actions_based_on_timer",
2483420426cSMatt Spinler                "timer": {
2493420426cSMatt Spinler                    "interval": 5000000,
2503420426cSMatt Spinler                    "type": "oneshot"
2513420426cSMatt Spinler                },
2523420426cSMatt Spinler                "actions": [
2533420426cSMatt Spinler                    {
2543420426cSMatt Spinler                        "name": "set_target_on_missing_owner",
2553420426cSMatt Spinler                        "groups": [
2563420426cSMatt Spinler                            {
2573420426cSMatt Spinler                                "name": "fan inventory",
2583420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Inventory.Item",
2593420426cSMatt Spinler                                "property": { "name": "Present" }
2603420426cSMatt Spinler                            },
2613420426cSMatt Spinler                            {
2623420426cSMatt Spinler                                "name": "occ objects",
2633420426cSMatt Spinler                                "interface": "org.open_power.OCC.Status",
2643420426cSMatt Spinler                                "property": { "name": "OccActive" }
2653420426cSMatt Spinler                            },
2663420426cSMatt Spinler                            {
2673420426cSMatt Spinler                                "name": "nvme temps",
2683420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
2693420426cSMatt Spinler                                "property": { "name": "Value" }
2703420426cSMatt Spinler                            },
2713420426cSMatt Spinler                            {
2723420426cSMatt Spinler                                "name": "planar temps",
2733420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
2743420426cSMatt Spinler                                "property": { "name": "Value" }
2753420426cSMatt Spinler                            },
2763420426cSMatt Spinler                            {
2773420426cSMatt Spinler                                "name": "pcie cable card temps",
2783420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
2793420426cSMatt Spinler                                "property": { "name": "Value" }
2803420426cSMatt Spinler                            },
2813420426cSMatt Spinler                            {
2823420426cSMatt Spinler                                "name": "ambient temp",
2833420426cSMatt Spinler                                "interface": "xyz.openbmc_project.Sensor.Value",
2843420426cSMatt Spinler                                "property": { "name": "Value" }
2853420426cSMatt Spinler                            }
2863420426cSMatt Spinler                        ],
2873420426cSMatt Spinler                        "target": 9700
2883420426cSMatt Spinler                    }
2893420426cSMatt Spinler                ]
2903420426cSMatt Spinler            }
2913420426cSMatt Spinler        ]
2923420426cSMatt Spinler    },
2933420426cSMatt Spinler    {
2943420426cSMatt Spinler        // Set a fan floor if an OCC isn't active
2953420426cSMatt Spinler        "name": "Non-active OCC(s)",
2963420426cSMatt Spinler        "groups": [
2973420426cSMatt Spinler            {
2983420426cSMatt Spinler                "name": "occ objects",
2993420426cSMatt Spinler                "interface": "org.open_power.OCC.Status",
3003420426cSMatt Spinler                "property": {
3013420426cSMatt Spinler                    "name": "OccActive"
3023420426cSMatt Spinler                }
3033420426cSMatt Spinler            }
3043420426cSMatt Spinler        ],
3053420426cSMatt Spinler        "triggers": [
3063420426cSMatt Spinler            {
3073420426cSMatt Spinler                "class": "signal",
3083420426cSMatt Spinler                "signal": "properties_changed"
3093420426cSMatt Spinler            },
3103420426cSMatt Spinler            {
3113420426cSMatt Spinler                "class": "signal",
3123420426cSMatt Spinler                "signal": "interfaces_added"
3133420426cSMatt Spinler            },
3143420426cSMatt Spinler            {
3153420426cSMatt Spinler                "class": "init",
3163420426cSMatt Spinler                "method": "get_properties"
3173420426cSMatt Spinler            }
3183420426cSMatt Spinler        ],
3193420426cSMatt Spinler        "actions": [
3203420426cSMatt Spinler            {
3213420426cSMatt Spinler                "name": "count_state_floor",
3223420426cSMatt Spinler                "count": 1,
3233420426cSMatt Spinler                "state": false,
3243420426cSMatt Spinler                "floor": 11300
3253420426cSMatt Spinler            }
3263420426cSMatt Spinler        ]
3273420426cSMatt Spinler    },
3283420426cSMatt Spinler    {
3293420426cSMatt Spinler        // Set a raised fan floor when any temperature or altitude sensor is
3303420426cSMatt Spinler        // nonfunctional
3313420426cSMatt Spinler        "name": "Nonfunctional temperature sensors",
3323420426cSMatt Spinler        "groups": [
3333420426cSMatt Spinler            {
3343420426cSMatt Spinler                "name": "proc0 core temps",
3353420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3363420426cSMatt Spinler                "property": { "name": "Functional" }
3373420426cSMatt Spinler            },
3383420426cSMatt Spinler            {
3393420426cSMatt Spinler                "name": "proc1 core temps",
3403420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3413420426cSMatt Spinler                "property": { "name": "Functional" }
3423420426cSMatt Spinler            },
3433420426cSMatt Spinler            {
3443420426cSMatt Spinler                "name": "proc2 core temps",
3453420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3463420426cSMatt Spinler                "property": { "name": "Functional" }
3473420426cSMatt Spinler            },
3483420426cSMatt Spinler            {
3493420426cSMatt Spinler                "name": "proc3 core temps",
3503420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3513420426cSMatt Spinler                "property": { "name": "Functional" }
3523420426cSMatt Spinler            },
3533420426cSMatt Spinler            {
3543420426cSMatt Spinler                "name": "proc4 core temps",
3553420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3563420426cSMatt Spinler                "property": { "name": "Functional" }
3573420426cSMatt Spinler            },
3583420426cSMatt Spinler            {
3593420426cSMatt Spinler                "name": "proc5 core temps",
3603420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3613420426cSMatt Spinler                "property": { "name": "Functional" }
3623420426cSMatt Spinler            },
3633420426cSMatt Spinler            {
3643420426cSMatt Spinler                "name": "proc6 core temps",
3653420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3663420426cSMatt Spinler                "property": { "name": "Functional" }
3673420426cSMatt Spinler            },
3683420426cSMatt Spinler            {
3693420426cSMatt Spinler                "name": "proc7 core temps",
3703420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3713420426cSMatt Spinler                "property": { "name": "Functional" }
3723420426cSMatt Spinler            },
3733420426cSMatt Spinler            {
3743420426cSMatt Spinler                "name": "proc0 ioring temp",
3753420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3763420426cSMatt Spinler                "property": { "name": "Functional" }
3773420426cSMatt Spinler            },
3783420426cSMatt Spinler            {
3793420426cSMatt Spinler                "name": "proc1 ioring temp",
3803420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3813420426cSMatt Spinler                "property": { "name": "Functional" }
3823420426cSMatt Spinler            },
3833420426cSMatt Spinler            {
3843420426cSMatt Spinler                "name": "proc2 ioring temp",
3853420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3863420426cSMatt Spinler                "property": { "name": "Functional" }
3873420426cSMatt Spinler            },
3883420426cSMatt Spinler            {
3893420426cSMatt Spinler                "name": "proc3 ioring temp",
3903420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3913420426cSMatt Spinler                "property": { "name": "Functional" }
3923420426cSMatt Spinler            },
3933420426cSMatt Spinler            {
3943420426cSMatt Spinler                "name": "proc4 ioring temp",
3953420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
3963420426cSMatt Spinler                "property": { "name": "Functional" }
3973420426cSMatt Spinler            },
3983420426cSMatt Spinler            {
3993420426cSMatt Spinler                "name": "proc5 ioring temp",
4003420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4013420426cSMatt Spinler                "property": { "name": "Functional" }
4023420426cSMatt Spinler            },
4033420426cSMatt Spinler            {
4043420426cSMatt Spinler                "name": "proc6 ioring temp",
4053420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4063420426cSMatt Spinler                "property": { "name": "Functional" }
4073420426cSMatt Spinler            },
4083420426cSMatt Spinler            {
4093420426cSMatt Spinler                "name": "proc7 ioring temp",
4103420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4113420426cSMatt Spinler                "property": { "name": "Functional" }
4123420426cSMatt Spinler            },
4133420426cSMatt Spinler            {
4143420426cSMatt Spinler                "name": "dram temps",
4153420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4163420426cSMatt Spinler                "property": { "name": "Functional" }
4173420426cSMatt Spinler            },
4183420426cSMatt Spinler            {
4193420426cSMatt Spinler                "name": "pmic temps",
4203420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4213420426cSMatt Spinler                "property": { "name": "Functional" }
4223420426cSMatt Spinler            },
4233420426cSMatt Spinler            {
4243420426cSMatt Spinler                "name": "internal memory buffer temps",
4253420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4263420426cSMatt Spinler                "property": { "name": "Functional" }
4273420426cSMatt Spinler            },
4283420426cSMatt Spinler            {
4293420426cSMatt Spinler                "name": "dram and external memory buffer temps",
4303420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4313420426cSMatt Spinler                "property": { "name": "Functional" }
4323420426cSMatt Spinler            },
4333420426cSMatt Spinler            {
4343420426cSMatt Spinler                "name": "external memory buffer temps",
4353420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4363420426cSMatt Spinler                "property": { "name": "Functional" }
4373420426cSMatt Spinler            },
4383420426cSMatt Spinler            {
4393420426cSMatt Spinler                "name": "vdd vrm temps",
4403420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4413420426cSMatt Spinler                "property": { "name": "Functional" }
4423420426cSMatt Spinler            },
4433420426cSMatt Spinler            {
4443420426cSMatt Spinler                "name": "nvme temps",
4453420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4463420426cSMatt Spinler                "property": { "name": "Functional" }
4473420426cSMatt Spinler            },
4483420426cSMatt Spinler            {
4493420426cSMatt Spinler                "name": "planar temps",
4503420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4513420426cSMatt Spinler                "property": { "name": "Functional" }
4523420426cSMatt Spinler            },
4533420426cSMatt Spinler            {
4543420426cSMatt Spinler                "name": "pcie cable card temps",
4553420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4563420426cSMatt Spinler                "property": { "name": "Functional" }
4573420426cSMatt Spinler            },
4583420426cSMatt Spinler            {
4593420426cSMatt Spinler                "name": "ambient temp",
4603420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4613420426cSMatt Spinler                "property": { "name": "Functional" }
4623420426cSMatt Spinler            },
4633420426cSMatt Spinler            {
4643420426cSMatt Spinler                "name": "altitude",
4653420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
4663420426cSMatt Spinler                "property": { "name": "Functional" }
4673420426cSMatt Spinler            }
4683420426cSMatt Spinler        ],
4693420426cSMatt Spinler        "triggers": [
4703420426cSMatt Spinler            {
4713420426cSMatt Spinler                "class": "signal",
4723420426cSMatt Spinler                "signal": "properties_changed"
4733420426cSMatt Spinler            },
4743420426cSMatt Spinler            {
4753420426cSMatt Spinler                "class": "signal",
4763420426cSMatt Spinler                "signal": "interfaces_added"
4773420426cSMatt Spinler            },
4783420426cSMatt Spinler            {
4793420426cSMatt Spinler                "class": "signal",
4803420426cSMatt Spinler                "signal": "interfaces_removed"
4813420426cSMatt Spinler            },
4823420426cSMatt Spinler            {
4833420426cSMatt Spinler                "class": "init",
4843420426cSMatt Spinler                "method": "get_properties"
4853420426cSMatt Spinler            }
4863420426cSMatt Spinler        ],
4873420426cSMatt Spinler        "actions": [
4883420426cSMatt Spinler            {
4893420426cSMatt Spinler                "name": "count_state_floor",
4903420426cSMatt Spinler                "count": 1,
4913420426cSMatt Spinler                "state": false,
492*a8c1cf50SMatt Spinler                "delay": 5,
4933420426cSMatt Spinler                "floor": 11300
4943420426cSMatt Spinler            }
4953420426cSMatt Spinler        ]
4963420426cSMatt Spinler    },
4973420426cSMatt Spinler    {
4983420426cSMatt Spinler        "name": "Set Proc 0 Core DVFS parameter",
4993420426cSMatt Spinler        "groups": [
5003420426cSMatt Spinler            {
5013420426cSMatt Spinler                "name": "proc 0 core dvfs temp",
5023420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
5033420426cSMatt Spinler                "property": { "name": "Value" }
5043420426cSMatt Spinler            }
5053420426cSMatt Spinler        ],
5063420426cSMatt Spinler        "triggers": [
5073420426cSMatt Spinler            {
5083420426cSMatt Spinler                "class": "init",
5093420426cSMatt Spinler                "method": "get_properties"
5103420426cSMatt Spinler            },
5113420426cSMatt Spinler            {
5123420426cSMatt Spinler                "class": "signal",
5133420426cSMatt Spinler                "signal": "interfaces_added"
5143420426cSMatt Spinler            },
5153420426cSMatt Spinler            {
5163420426cSMatt Spinler                "class": "signal",
5173420426cSMatt Spinler                "signal": "properties_changed"
5183420426cSMatt Spinler            }
5193420426cSMatt Spinler        ],
5203420426cSMatt Spinler        "actions": [
5213420426cSMatt Spinler            {
5223420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5233420426cSMatt Spinler                "parameter_name": "proc_0_core_dvfs_increase_temp",
5243420426cSMatt Spinler                "modifier": {
5253420426cSMatt Spinler                    "operator": "minus",
5263420426cSMatt Spinler                    "value": 7
5273420426cSMatt Spinler                }
5283420426cSMatt Spinler            },
5293420426cSMatt Spinler            {
5303420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5313420426cSMatt Spinler                "parameter_name": "proc_0_core_dvfs_decrease_temp",
5323420426cSMatt Spinler                "modifier": {
5333420426cSMatt Spinler                    "operator": "minus",
5343420426cSMatt Spinler                    "value": 9
5353420426cSMatt Spinler                }
5363420426cSMatt Spinler            }
5373420426cSMatt Spinler        ]
5383420426cSMatt Spinler    },
5393420426cSMatt Spinler    {
5403420426cSMatt Spinler        "name": "Set Proc 1 Core DVFS parameter",
5413420426cSMatt Spinler        "groups": [
5423420426cSMatt Spinler            {
5433420426cSMatt Spinler                "name": "proc 1 core dvfs temp",
5443420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
5453420426cSMatt Spinler                "property": { "name": "Value" }
5463420426cSMatt Spinler            }
5473420426cSMatt Spinler        ],
5483420426cSMatt Spinler        "triggers": [
5493420426cSMatt Spinler            {
5503420426cSMatt Spinler                "class": "init",
5513420426cSMatt Spinler                "method": "get_properties"
5523420426cSMatt Spinler            },
5533420426cSMatt Spinler            {
5543420426cSMatt Spinler                "class": "signal",
5553420426cSMatt Spinler                "signal": "interfaces_added"
5563420426cSMatt Spinler            },
5573420426cSMatt Spinler            {
5583420426cSMatt Spinler                "class": "signal",
5593420426cSMatt Spinler                "signal": "properties_changed"
5603420426cSMatt Spinler            }
5613420426cSMatt Spinler        ],
5623420426cSMatt Spinler        "actions": [
5633420426cSMatt Spinler            {
5643420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5653420426cSMatt Spinler                "parameter_name": "proc_1_core_dvfs_increase_temp",
5663420426cSMatt Spinler                "modifier": {
5673420426cSMatt Spinler                    "operator": "minus",
5683420426cSMatt Spinler                    "value": 7
5693420426cSMatt Spinler                }
5703420426cSMatt Spinler            },
5713420426cSMatt Spinler            {
5723420426cSMatt Spinler                "name": "set_parameter_from_group_max",
5733420426cSMatt Spinler                "parameter_name": "proc_1_core_dvfs_decrease_temp",
5743420426cSMatt Spinler                "modifier": {
5753420426cSMatt Spinler                    "operator": "minus",
5763420426cSMatt Spinler                    "value": 9
5773420426cSMatt Spinler                }
5783420426cSMatt Spinler            }
5793420426cSMatt Spinler        ]
5803420426cSMatt Spinler    },
5813420426cSMatt Spinler    {
5823420426cSMatt Spinler        "name": "Set Proc 2 Core DVFS parameter",
5833420426cSMatt Spinler        "groups": [
5843420426cSMatt Spinler            {
5853420426cSMatt Spinler                "name": "proc 2 core dvfs temp",
5863420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
5873420426cSMatt Spinler                "property": { "name": "Value" }
5883420426cSMatt Spinler            }
5893420426cSMatt Spinler        ],
5903420426cSMatt Spinler        "triggers": [
5913420426cSMatt Spinler            {
5923420426cSMatt Spinler                "class": "init",
5933420426cSMatt Spinler                "method": "get_properties"
5943420426cSMatt Spinler            },
5953420426cSMatt Spinler            {
5963420426cSMatt Spinler                "class": "signal",
5973420426cSMatt Spinler                "signal": "interfaces_added"
5983420426cSMatt Spinler            },
5993420426cSMatt Spinler            {
6003420426cSMatt Spinler                "class": "signal",
6013420426cSMatt Spinler                "signal": "properties_changed"
6023420426cSMatt Spinler            }
6033420426cSMatt Spinler        ],
6043420426cSMatt Spinler        "actions": [
6053420426cSMatt Spinler            {
6063420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6073420426cSMatt Spinler                "parameter_name": "proc_2_core_dvfs_increase_temp",
6083420426cSMatt Spinler                "modifier": {
6093420426cSMatt Spinler                    "operator": "minus",
6103420426cSMatt Spinler                    "value": 7
6113420426cSMatt Spinler                }
6123420426cSMatt Spinler            },
6133420426cSMatt Spinler            {
6143420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6153420426cSMatt Spinler                "parameter_name": "proc_2_core_dvfs_decrease_temp",
6163420426cSMatt Spinler                "modifier": {
6173420426cSMatt Spinler                    "operator": "minus",
6183420426cSMatt Spinler                    "value": 9
6193420426cSMatt Spinler                }
6203420426cSMatt Spinler            }
6213420426cSMatt Spinler        ]
6223420426cSMatt Spinler    },
6233420426cSMatt Spinler    {
6243420426cSMatt Spinler        "name": "Set Proc 3 Core DVFS parameter",
6253420426cSMatt Spinler        "groups": [
6263420426cSMatt Spinler            {
6273420426cSMatt Spinler                "name": "proc 3 core dvfs temp",
6283420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
6293420426cSMatt Spinler                "property": { "name": "Value" }
6303420426cSMatt Spinler            }
6313420426cSMatt Spinler        ],
6323420426cSMatt Spinler        "triggers": [
6333420426cSMatt Spinler            {
6343420426cSMatt Spinler                "class": "init",
6353420426cSMatt Spinler                "method": "get_properties"
6363420426cSMatt Spinler            },
6373420426cSMatt Spinler            {
6383420426cSMatt Spinler                "class": "signal",
6393420426cSMatt Spinler                "signal": "interfaces_added"
6403420426cSMatt Spinler            },
6413420426cSMatt Spinler            {
6423420426cSMatt Spinler                "class": "signal",
6433420426cSMatt Spinler                "signal": "properties_changed"
6443420426cSMatt Spinler            }
6453420426cSMatt Spinler        ],
6463420426cSMatt Spinler        "actions": [
6473420426cSMatt Spinler            {
6483420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6493420426cSMatt Spinler                "parameter_name": "proc_3_core_dvfs_increase_temp",
6503420426cSMatt Spinler                "modifier": {
6513420426cSMatt Spinler                    "operator": "minus",
6523420426cSMatt Spinler                    "value": 7
6533420426cSMatt Spinler                }
6543420426cSMatt Spinler            },
6553420426cSMatt Spinler            {
6563420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6573420426cSMatt Spinler                "parameter_name": "proc_3_core_dvfs_decrease_temp",
6583420426cSMatt Spinler                "modifier": {
6593420426cSMatt Spinler                    "operator": "minus",
6603420426cSMatt Spinler                    "value": 9
6613420426cSMatt Spinler                }
6623420426cSMatt Spinler            }
6633420426cSMatt Spinler        ]
6643420426cSMatt Spinler    },
6653420426cSMatt Spinler    {
6663420426cSMatt Spinler        "name": "Set Proc 4 Core DVFS parameter",
6673420426cSMatt Spinler        "groups": [
6683420426cSMatt Spinler            {
6693420426cSMatt Spinler                "name": "proc 4 core dvfs temp",
6703420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
6713420426cSMatt Spinler                "property": { "name": "Value" }
6723420426cSMatt Spinler            }
6733420426cSMatt Spinler        ],
6743420426cSMatt Spinler        "triggers": [
6753420426cSMatt Spinler            {
6763420426cSMatt Spinler                "class": "init",
6773420426cSMatt Spinler                "method": "get_properties"
6783420426cSMatt Spinler            },
6793420426cSMatt Spinler            {
6803420426cSMatt Spinler                "class": "signal",
6813420426cSMatt Spinler                "signal": "interfaces_added"
6823420426cSMatt Spinler            },
6833420426cSMatt Spinler            {
6843420426cSMatt Spinler                "class": "signal",
6853420426cSMatt Spinler                "signal": "properties_changed"
6863420426cSMatt Spinler            }
6873420426cSMatt Spinler        ],
6883420426cSMatt Spinler        "actions": [
6893420426cSMatt Spinler            {
6903420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6913420426cSMatt Spinler                "parameter_name": "proc_4_core_dvfs_increase_temp",
6923420426cSMatt Spinler                "modifier": {
6933420426cSMatt Spinler                    "operator": "minus",
6943420426cSMatt Spinler                    "value": 7
6953420426cSMatt Spinler                }
6963420426cSMatt Spinler            },
6973420426cSMatt Spinler            {
6983420426cSMatt Spinler                "name": "set_parameter_from_group_max",
6993420426cSMatt Spinler                "parameter_name": "proc_4_core_dvfs_decrease_temp",
7003420426cSMatt Spinler                "modifier": {
7013420426cSMatt Spinler                    "operator": "minus",
7023420426cSMatt Spinler                    "value": 9
7033420426cSMatt Spinler                }
7043420426cSMatt Spinler            }
7053420426cSMatt Spinler        ]
7063420426cSMatt Spinler    },
7073420426cSMatt Spinler    {
7083420426cSMatt Spinler        "name": "Set Proc 5 Core DVFS parameter",
7093420426cSMatt Spinler        "groups": [
7103420426cSMatt Spinler            {
7113420426cSMatt Spinler                "name": "proc 5 core dvfs temp",
7123420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7133420426cSMatt Spinler                "property": { "name": "Value" }
7143420426cSMatt Spinler            }
7153420426cSMatt Spinler        ],
7163420426cSMatt Spinler        "triggers": [
7173420426cSMatt Spinler            {
7183420426cSMatt Spinler                "class": "init",
7193420426cSMatt Spinler                "method": "get_properties"
7203420426cSMatt Spinler            },
7213420426cSMatt Spinler            {
7223420426cSMatt Spinler                "class": "signal",
7233420426cSMatt Spinler                "signal": "interfaces_added"
7243420426cSMatt Spinler            },
7253420426cSMatt Spinler            {
7263420426cSMatt Spinler                "class": "signal",
7273420426cSMatt Spinler                "signal": "properties_changed"
7283420426cSMatt Spinler            }
7293420426cSMatt Spinler        ],
7303420426cSMatt Spinler        "actions": [
7313420426cSMatt Spinler            {
7323420426cSMatt Spinler                "name": "set_parameter_from_group_max",
7333420426cSMatt Spinler                "parameter_name": "proc_5_core_dvfs_increase_temp",
7343420426cSMatt Spinler                "modifier": {
7353420426cSMatt Spinler                    "operator": "minus",
7363420426cSMatt Spinler                    "value": 7
7373420426cSMatt Spinler                }
7383420426cSMatt Spinler            },
7393420426cSMatt Spinler            {
7403420426cSMatt Spinler                "name": "set_parameter_from_group_max",
7413420426cSMatt Spinler                "parameter_name": "proc_5_core_dvfs_decrease_temp",
7423420426cSMatt Spinler                "modifier": {
7433420426cSMatt Spinler                    "operator": "minus",
7443420426cSMatt Spinler                    "value": 9
7453420426cSMatt Spinler                }
7463420426cSMatt Spinler            }
7473420426cSMatt Spinler        ]
7483420426cSMatt Spinler    },
7493420426cSMatt Spinler    {
7503420426cSMatt Spinler        "name": "Set Proc 6 Core DVFS parameter",
7513420426cSMatt Spinler        "groups": [
7523420426cSMatt Spinler            {
7533420426cSMatt Spinler                "name": "proc 6 core dvfs temp",
7543420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7553420426cSMatt Spinler                "property": { "name": "Value" }
7563420426cSMatt Spinler            }
7573420426cSMatt Spinler        ],
7583420426cSMatt Spinler        "triggers": [
7593420426cSMatt Spinler            {
7603420426cSMatt Spinler                "class": "init",
7613420426cSMatt Spinler                "method": "get_properties"
7623420426cSMatt Spinler            },
7633420426cSMatt Spinler            {
7643420426cSMatt Spinler                "class": "signal",
7653420426cSMatt Spinler                "signal": "interfaces_added"
7663420426cSMatt Spinler            },
7673420426cSMatt Spinler            {
7683420426cSMatt Spinler                "class": "signal",
7693420426cSMatt Spinler                "signal": "properties_changed"
7703420426cSMatt Spinler            }
7713420426cSMatt Spinler        ],
7723420426cSMatt Spinler        "actions": [
7733420426cSMatt Spinler            {
7743420426cSMatt Spinler                "name": "set_parameter_from_group_max",
7753420426cSMatt Spinler                "parameter_name": "proc_6_core_dvfs_increase_temp",
7763420426cSMatt Spinler                "modifier": {
7773420426cSMatt Spinler                    "operator": "minus",
7783420426cSMatt Spinler                    "value": 7
7793420426cSMatt Spinler                }
7803420426cSMatt Spinler            },
7813420426cSMatt Spinler            {
7823420426cSMatt Spinler                "name": "set_parameter_from_group_max",
7833420426cSMatt Spinler                "parameter_name": "proc_6_core_dvfs_decrease_temp",
7843420426cSMatt Spinler                "modifier": {
7853420426cSMatt Spinler                    "operator": "minus",
7863420426cSMatt Spinler                    "value": 9
7873420426cSMatt Spinler                }
7883420426cSMatt Spinler            }
7893420426cSMatt Spinler        ]
7903420426cSMatt Spinler    },
7913420426cSMatt Spinler    {
7923420426cSMatt Spinler        "name": "Set Proc 7 Core DVFS parameter",
7933420426cSMatt Spinler        "groups": [
7943420426cSMatt Spinler            {
7953420426cSMatt Spinler                "name": "proc 7 core dvfs temp",
7963420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
7973420426cSMatt Spinler                "property": { "name": "Value" }
7983420426cSMatt Spinler            }
7993420426cSMatt Spinler        ],
8003420426cSMatt Spinler        "triggers": [
8013420426cSMatt Spinler            {
8023420426cSMatt Spinler                "class": "init",
8033420426cSMatt Spinler                "method": "get_properties"
8043420426cSMatt Spinler            },
8053420426cSMatt Spinler            {
8063420426cSMatt Spinler                "class": "signal",
8073420426cSMatt Spinler                "signal": "interfaces_added"
8083420426cSMatt Spinler            },
8093420426cSMatt Spinler            {
8103420426cSMatt Spinler                "class": "signal",
8113420426cSMatt Spinler                "signal": "properties_changed"
8123420426cSMatt Spinler            }
8133420426cSMatt Spinler        ],
8143420426cSMatt Spinler        "actions": [
8153420426cSMatt Spinler            {
8163420426cSMatt Spinler                "name": "set_parameter_from_group_max",
8173420426cSMatt Spinler                "parameter_name": "proc_7_core_dvfs_increase_temp",
8183420426cSMatt Spinler                "modifier": {
8193420426cSMatt Spinler                    "operator": "minus",
8203420426cSMatt Spinler                    "value": 7
8213420426cSMatt Spinler                }
8223420426cSMatt Spinler            },
8233420426cSMatt Spinler            {
8243420426cSMatt Spinler                "name": "set_parameter_from_group_max",
8253420426cSMatt Spinler                "parameter_name": "proc_7_core_dvfs_decrease_temp",
8263420426cSMatt Spinler                "modifier": {
8273420426cSMatt Spinler                    "operator": "minus",
8283420426cSMatt Spinler                    "value": 9
8293420426cSMatt Spinler                }
8303420426cSMatt Spinler            }
8313420426cSMatt Spinler        ]
8323420426cSMatt Spinler    },
8333420426cSMatt Spinler    {
8343420426cSMatt Spinler        "name": "Set Proc 0 IO Ring DVFS parameter",
8353420426cSMatt Spinler        "groups": [
8363420426cSMatt Spinler            {
8373420426cSMatt Spinler                "name": "proc 0 ioring dvfs temp",
8383420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
8393420426cSMatt Spinler                "property": { "name": "Value" }
8403420426cSMatt Spinler            }
8413420426cSMatt Spinler        ],
8423420426cSMatt Spinler        "triggers": [
8433420426cSMatt Spinler            {
8443420426cSMatt Spinler                "class": "init",
8453420426cSMatt Spinler                "method": "get_properties"
8463420426cSMatt Spinler            },
8473420426cSMatt Spinler            {
8483420426cSMatt Spinler                "class": "signal",
8493420426cSMatt Spinler                "signal": "interfaces_added"
8503420426cSMatt Spinler            },
8513420426cSMatt Spinler            {
8523420426cSMatt Spinler                "class": "signal",
8533420426cSMatt Spinler                "signal": "properties_changed"
8543420426cSMatt Spinler            }
8553420426cSMatt Spinler        ],
8563420426cSMatt Spinler        "actions": [
8573420426cSMatt Spinler            {
8583420426cSMatt Spinler                "name": "set_parameter_from_group_max",
8593420426cSMatt Spinler                "parameter_name": "proc_0_ioring_dvfs_increase_temp",
8603420426cSMatt Spinler                "modifier": {
8613420426cSMatt Spinler                    "operator": "minus",
8623420426cSMatt Spinler                    "value": 10
8633420426cSMatt Spinler                }
8643420426cSMatt Spinler            },
8653420426cSMatt Spinler            {
8663420426cSMatt Spinler                "name": "set_parameter_from_group_max",
8673420426cSMatt Spinler                "parameter_name": "proc_0_ioring_dvfs_decrease_temp",
8683420426cSMatt Spinler                "modifier": {
8693420426cSMatt Spinler                    "operator": "minus",
8703420426cSMatt Spinler                    "value": 13
8713420426cSMatt Spinler                }
8723420426cSMatt Spinler            }
8733420426cSMatt Spinler        ]
8743420426cSMatt Spinler    },
8753420426cSMatt Spinler    {
8763420426cSMatt Spinler        "name": "Set Proc 1 IO Ring DVFS parameter",
8773420426cSMatt Spinler        "groups": [
8783420426cSMatt Spinler            {
8793420426cSMatt Spinler                "name": "proc 1 ioring dvfs temp",
8803420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
8813420426cSMatt Spinler                "property": { "name": "Value" }
8823420426cSMatt Spinler            }
8833420426cSMatt Spinler        ],
8843420426cSMatt Spinler        "triggers": [
8853420426cSMatt Spinler            {
8863420426cSMatt Spinler                "class": "init",
8873420426cSMatt Spinler                "method": "get_properties"
8883420426cSMatt Spinler            },
8893420426cSMatt Spinler            {
8903420426cSMatt Spinler                "class": "signal",
8913420426cSMatt Spinler                "signal": "interfaces_added"
8923420426cSMatt Spinler            },
8933420426cSMatt Spinler            {
8943420426cSMatt Spinler                "class": "signal",
8953420426cSMatt Spinler                "signal": "properties_changed"
8963420426cSMatt Spinler            }
8973420426cSMatt Spinler        ],
8983420426cSMatt Spinler        "actions": [
8993420426cSMatt Spinler            {
9003420426cSMatt Spinler                "name": "set_parameter_from_group_max",
9013420426cSMatt Spinler                "parameter_name": "proc_1_ioring_dvfs_increase_temp",
9023420426cSMatt Spinler                "modifier": {
9033420426cSMatt Spinler                    "operator": "minus",
9043420426cSMatt Spinler                    "value": 10
9053420426cSMatt Spinler                }
9063420426cSMatt Spinler            },
9073420426cSMatt Spinler            {
9083420426cSMatt Spinler                "name": "set_parameter_from_group_max",
9093420426cSMatt Spinler                "parameter_name": "proc_1_ioring_dvfs_decrease_temp",
9103420426cSMatt Spinler                "modifier": {
9113420426cSMatt Spinler                    "operator": "minus",
9123420426cSMatt Spinler                    "value": 13
9133420426cSMatt Spinler                }
9143420426cSMatt Spinler            }
9153420426cSMatt Spinler        ]
9163420426cSMatt Spinler    },
9173420426cSMatt Spinler    {
9183420426cSMatt Spinler        "name": "Set Proc 2 IO Ring DVFS parameter",
9193420426cSMatt Spinler        "groups": [
9203420426cSMatt Spinler            {
9213420426cSMatt Spinler                "name": "proc 2 ioring dvfs temp",
9223420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
9233420426cSMatt Spinler                "property": { "name": "Value" }
9243420426cSMatt Spinler            }
9253420426cSMatt Spinler        ],
9263420426cSMatt Spinler        "triggers": [
9273420426cSMatt Spinler            {
9283420426cSMatt Spinler                "class": "init",
9293420426cSMatt Spinler                "method": "get_properties"
9303420426cSMatt Spinler            },
9313420426cSMatt Spinler            {
9323420426cSMatt Spinler                "class": "signal",
9333420426cSMatt Spinler                "signal": "interfaces_added"
9343420426cSMatt Spinler            },
9353420426cSMatt Spinler            {
9363420426cSMatt Spinler                "class": "signal",
9373420426cSMatt Spinler                "signal": "properties_changed"
9383420426cSMatt Spinler            }
9393420426cSMatt Spinler        ],
9403420426cSMatt Spinler        "actions": [
9413420426cSMatt Spinler            {
9423420426cSMatt Spinler                "name": "set_parameter_from_group_max",
9433420426cSMatt Spinler                "parameter_name": "proc_2_ioring_dvfs_increase_temp",
9443420426cSMatt Spinler                "modifier": {
9453420426cSMatt Spinler                    "operator": "minus",
9463420426cSMatt Spinler                    "value": 10
9473420426cSMatt Spinler                }
9483420426cSMatt Spinler            },
9493420426cSMatt Spinler            {
9503420426cSMatt Spinler                "name": "set_parameter_from_group_max",
9513420426cSMatt Spinler                "parameter_name": "proc_2_ioring_dvfs_decrease_temp",
9523420426cSMatt Spinler                "modifier": {
9533420426cSMatt Spinler                    "operator": "minus",
9543420426cSMatt Spinler                    "value": 13
9553420426cSMatt Spinler                }
9563420426cSMatt Spinler            }
9573420426cSMatt Spinler        ]
9583420426cSMatt Spinler    },
9593420426cSMatt Spinler    {
9603420426cSMatt Spinler        "name": "Set Proc 3 IO Ring DVFS parameter",
9613420426cSMatt Spinler        "groups": [
9623420426cSMatt Spinler            {
9633420426cSMatt Spinler                "name": "proc 3 ioring dvfs temp",
9643420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
9653420426cSMatt Spinler                "property": { "name": "Value" }
9663420426cSMatt Spinler            }
9673420426cSMatt Spinler        ],
9683420426cSMatt Spinler        "triggers": [
9693420426cSMatt Spinler            {
9703420426cSMatt Spinler                "class": "init",
9713420426cSMatt Spinler                "method": "get_properties"
9723420426cSMatt Spinler            },
9733420426cSMatt Spinler            {
9743420426cSMatt Spinler                "class": "signal",
9753420426cSMatt Spinler                "signal": "properties_changed"
9763420426cSMatt Spinler            },
9773420426cSMatt Spinler            {
9783420426cSMatt Spinler                "class": "signal",
9793420426cSMatt Spinler                "signal": "interfaces_added"
9803420426cSMatt Spinler            }
9813420426cSMatt Spinler        ],
9823420426cSMatt Spinler        "actions": [
9833420426cSMatt Spinler            {
9843420426cSMatt Spinler                "name": "set_parameter_from_group_max",
9853420426cSMatt Spinler                "parameter_name": "proc_3_ioring_dvfs_increase_temp",
9863420426cSMatt Spinler                "modifier": {
9873420426cSMatt Spinler                    "operator": "minus",
9883420426cSMatt Spinler                    "value": 10
9893420426cSMatt Spinler                }
9903420426cSMatt Spinler            },
9913420426cSMatt Spinler            {
9923420426cSMatt Spinler                "name": "set_parameter_from_group_max",
9933420426cSMatt Spinler                "parameter_name": "proc_3_ioring_dvfs_decrease_temp",
9943420426cSMatt Spinler                "modifier": {
9953420426cSMatt Spinler                    "operator": "minus",
9963420426cSMatt Spinler                    "value": 13
9973420426cSMatt Spinler                }
9983420426cSMatt Spinler            }
9993420426cSMatt Spinler        ]
10003420426cSMatt Spinler    },
10013420426cSMatt Spinler    {
10023420426cSMatt Spinler        "name": "Set Proc 4 IO Ring DVFS parameter",
10033420426cSMatt Spinler        "groups": [
10043420426cSMatt Spinler            {
10053420426cSMatt Spinler                "name": "proc 4 ioring dvfs temp",
10063420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
10073420426cSMatt Spinler                "property": { "name": "Value" }
10083420426cSMatt Spinler            }
10093420426cSMatt Spinler        ],
10103420426cSMatt Spinler        "triggers": [
10113420426cSMatt Spinler            {
10123420426cSMatt Spinler                "class": "init",
10133420426cSMatt Spinler                "method": "get_properties"
10143420426cSMatt Spinler            },
10153420426cSMatt Spinler            {
10163420426cSMatt Spinler                "class": "signal",
10173420426cSMatt Spinler                "signal": "interfaces_added"
10183420426cSMatt Spinler            },
10193420426cSMatt Spinler            {
10203420426cSMatt Spinler                "class": "signal",
10213420426cSMatt Spinler                "signal": "properties_changed"
10223420426cSMatt Spinler            }
10233420426cSMatt Spinler        ],
10243420426cSMatt Spinler        "actions": [
10253420426cSMatt Spinler            {
10263420426cSMatt Spinler                "name": "set_parameter_from_group_max",
10273420426cSMatt Spinler                "parameter_name": "proc_4_ioring_dvfs_increase_temp",
10283420426cSMatt Spinler                "modifier": {
10293420426cSMatt Spinler                    "operator": "minus",
10303420426cSMatt Spinler                    "value": 10
10313420426cSMatt Spinler                }
10323420426cSMatt Spinler            },
10333420426cSMatt Spinler            {
10343420426cSMatt Spinler                "name": "set_parameter_from_group_max",
10353420426cSMatt Spinler                "parameter_name": "proc_4_ioring_dvfs_decrease_temp",
10363420426cSMatt Spinler                "modifier": {
10373420426cSMatt Spinler                    "operator": "minus",
10383420426cSMatt Spinler                    "value": 13
10393420426cSMatt Spinler                }
10403420426cSMatt Spinler            }
10413420426cSMatt Spinler        ]
10423420426cSMatt Spinler    },
10433420426cSMatt Spinler    {
10443420426cSMatt Spinler        "name": "Set Proc 5 IO Ring DVFS parameter",
10453420426cSMatt Spinler        "groups": [
10463420426cSMatt Spinler            {
10473420426cSMatt Spinler                "name": "proc 5 ioring dvfs temp",
10483420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
10493420426cSMatt Spinler                "property": { "name": "Value" }
10503420426cSMatt Spinler            }
10513420426cSMatt Spinler        ],
10523420426cSMatt Spinler        "triggers": [
10533420426cSMatt Spinler            {
10543420426cSMatt Spinler                "class": "init",
10553420426cSMatt Spinler                "method": "get_properties"
10563420426cSMatt Spinler            },
10573420426cSMatt Spinler            {
10583420426cSMatt Spinler                "class": "signal",
10593420426cSMatt Spinler                "signal": "interfaces_added"
10603420426cSMatt Spinler            },
10613420426cSMatt Spinler            {
10623420426cSMatt Spinler                "class": "signal",
10633420426cSMatt Spinler                "signal": "properties_changed"
10643420426cSMatt Spinler            }
10653420426cSMatt Spinler        ],
10663420426cSMatt Spinler        "actions": [
10673420426cSMatt Spinler            {
10683420426cSMatt Spinler                "name": "set_parameter_from_group_max",
10693420426cSMatt Spinler                "parameter_name": "proc_5_ioring_dvfs_increase_temp",
10703420426cSMatt Spinler                "modifier": {
10713420426cSMatt Spinler                    "operator": "minus",
10723420426cSMatt Spinler                    "value": 10
10733420426cSMatt Spinler                }
10743420426cSMatt Spinler            },
10753420426cSMatt Spinler            {
10763420426cSMatt Spinler                "name": "set_parameter_from_group_max",
10773420426cSMatt Spinler                "parameter_name": "proc_5_ioring_dvfs_decrease_temp",
10783420426cSMatt Spinler                "modifier": {
10793420426cSMatt Spinler                    "operator": "minus",
10803420426cSMatt Spinler                    "value": 13
10813420426cSMatt Spinler                }
10823420426cSMatt Spinler            }
10833420426cSMatt Spinler        ]
10843420426cSMatt Spinler    },
10853420426cSMatt Spinler    {
10863420426cSMatt Spinler        "name": "Set Proc 6 IO Ring DVFS parameter",
10873420426cSMatt Spinler        "groups": [
10883420426cSMatt Spinler            {
10893420426cSMatt Spinler                "name": "proc 6 ioring dvfs temp",
10903420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
10913420426cSMatt Spinler                "property": { "name": "Value" }
10923420426cSMatt Spinler            }
10933420426cSMatt Spinler        ],
10943420426cSMatt Spinler        "triggers": [
10953420426cSMatt Spinler            {
10963420426cSMatt Spinler                "class": "init",
10973420426cSMatt Spinler                "method": "get_properties"
10983420426cSMatt Spinler            },
10993420426cSMatt Spinler            {
11003420426cSMatt Spinler                "class": "signal",
11013420426cSMatt Spinler                "signal": "interfaces_added"
11023420426cSMatt Spinler            },
11033420426cSMatt Spinler            {
11043420426cSMatt Spinler                "class": "signal",
11053420426cSMatt Spinler                "signal": "properties_changed"
11063420426cSMatt Spinler            }
11073420426cSMatt Spinler        ],
11083420426cSMatt Spinler        "actions": [
11093420426cSMatt Spinler            {
11103420426cSMatt Spinler                "name": "set_parameter_from_group_max",
11113420426cSMatt Spinler                "parameter_name": "proc_6_ioring_dvfs_increase_temp",
11123420426cSMatt Spinler                "modifier": {
11133420426cSMatt Spinler                    "operator": "minus",
11143420426cSMatt Spinler                    "value": 10
11153420426cSMatt Spinler                }
11163420426cSMatt Spinler            },
11173420426cSMatt Spinler            {
11183420426cSMatt Spinler                "name": "set_parameter_from_group_max",
11193420426cSMatt Spinler                "parameter_name": "proc_6_ioring_dvfs_decrease_temp",
11203420426cSMatt Spinler                "modifier": {
11213420426cSMatt Spinler                    "operator": "minus",
11223420426cSMatt Spinler                    "value": 13
11233420426cSMatt Spinler                }
11243420426cSMatt Spinler            }
11253420426cSMatt Spinler        ]
11263420426cSMatt Spinler    },
11273420426cSMatt Spinler    {
11283420426cSMatt Spinler        "name": "Set Proc 7 IO Ring DVFS parameter",
11293420426cSMatt Spinler        "groups": [
11303420426cSMatt Spinler            {
11313420426cSMatt Spinler                "name": "proc 7 ioring dvfs temp",
11323420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
11333420426cSMatt Spinler                "property": { "name": "Value" }
11343420426cSMatt Spinler            }
11353420426cSMatt Spinler        ],
11363420426cSMatt Spinler        "triggers": [
11373420426cSMatt Spinler            {
11383420426cSMatt Spinler                "class": "init",
11393420426cSMatt Spinler                "method": "get_properties"
11403420426cSMatt Spinler            },
11413420426cSMatt Spinler            {
11423420426cSMatt Spinler                "class": "signal",
11433420426cSMatt Spinler                "signal": "interfaces_added"
11443420426cSMatt Spinler            },
11453420426cSMatt Spinler            {
11463420426cSMatt Spinler                "class": "signal",
11473420426cSMatt Spinler                "signal": "properties_changed"
11483420426cSMatt Spinler            }
11493420426cSMatt Spinler        ],
11503420426cSMatt Spinler        "actions": [
11513420426cSMatt Spinler            {
11523420426cSMatt Spinler                "name": "set_parameter_from_group_max",
11533420426cSMatt Spinler                "parameter_name": "proc_7_ioring_dvfs_increase_temp",
11543420426cSMatt Spinler                "modifier": {
11553420426cSMatt Spinler                    "operator": "minus",
11563420426cSMatt Spinler                    "value": 10
11573420426cSMatt Spinler                }
11583420426cSMatt Spinler            },
11593420426cSMatt Spinler            {
11603420426cSMatt Spinler                "name": "set_parameter_from_group_max",
11613420426cSMatt Spinler                "parameter_name": "proc_7_ioring_dvfs_decrease_temp",
11623420426cSMatt Spinler                "modifier": {
11633420426cSMatt Spinler                    "operator": "minus",
11643420426cSMatt Spinler                    "value": 13
11653420426cSMatt Spinler                }
11663420426cSMatt Spinler            }
11673420426cSMatt Spinler        ]
11683420426cSMatt Spinler    },
11693420426cSMatt Spinler    {
11703420426cSMatt Spinler        "name": "Set DRAM DVFS parameter",
11713420426cSMatt Spinler        "groups": [
11723420426cSMatt Spinler            {
11733420426cSMatt Spinler                "name": "dram dvfs temp",
11743420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
11753420426cSMatt Spinler                "property": { "name": "Value" }
11763420426cSMatt Spinler            }
11773420426cSMatt Spinler        ],
11783420426cSMatt Spinler        "triggers": [
11793420426cSMatt Spinler            {
11803420426cSMatt Spinler                "class": "init",
11813420426cSMatt Spinler                "method": "get_properties"
11823420426cSMatt Spinler            },
11833420426cSMatt Spinler            {
11843420426cSMatt Spinler                "class": "signal",
11853420426cSMatt Spinler                "signal": "properties_changed"
11863420426cSMatt Spinler            },
11873420426cSMatt Spinler            {
11883420426cSMatt Spinler                "class": "signal",
11893420426cSMatt Spinler                "signal": "interfaces_added"
11903420426cSMatt Spinler            }
11913420426cSMatt Spinler        ],
11923420426cSMatt Spinler        "actions": [
11933420426cSMatt Spinler            {
11943420426cSMatt Spinler                "name": "set_parameter_from_group_max",
11953420426cSMatt Spinler                "parameter_name": "dram_dvfs_increase_temp",
11963420426cSMatt Spinler                "modifier": {
11973420426cSMatt Spinler                    "operator": "minus",
11983420426cSMatt Spinler                    "value": 8
11993420426cSMatt Spinler                }
12003420426cSMatt Spinler            },
12013420426cSMatt Spinler            {
12023420426cSMatt Spinler                "name": "set_parameter_from_group_max",
12033420426cSMatt Spinler                "parameter_name": "dram_dvfs_decrease_temp",
12043420426cSMatt Spinler                "modifier": {
12053420426cSMatt Spinler                    "operator": "minus",
12063420426cSMatt Spinler                    "value": 11
12073420426cSMatt Spinler                }
12083420426cSMatt Spinler            }
12093420426cSMatt Spinler        ]
12103420426cSMatt Spinler    },
12113420426cSMatt Spinler    {
12123420426cSMatt Spinler        "name": "Set PMIC DVFS parameter",
12133420426cSMatt Spinler        "groups": [
12143420426cSMatt Spinler            {
12153420426cSMatt Spinler                "name": "pmic dvfs temp",
12163420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
12173420426cSMatt Spinler                "property": { "name": "Value" }
12183420426cSMatt Spinler            }
12193420426cSMatt Spinler        ],
12203420426cSMatt Spinler        "triggers": [
12213420426cSMatt Spinler            {
12223420426cSMatt Spinler                "class": "init",
12233420426cSMatt Spinler                "method": "get_properties"
12243420426cSMatt Spinler            },
12253420426cSMatt Spinler            {
12263420426cSMatt Spinler                "class": "signal",
12273420426cSMatt Spinler                "signal": "properties_changed"
12283420426cSMatt Spinler            },
12293420426cSMatt Spinler            {
12303420426cSMatt Spinler                "class": "signal",
12313420426cSMatt Spinler                "signal": "interfaces_added"
12323420426cSMatt Spinler            }
12333420426cSMatt Spinler        ],
12343420426cSMatt Spinler        "actions": [
12353420426cSMatt Spinler            {
12363420426cSMatt Spinler                "name": "set_parameter_from_group_max",
12373420426cSMatt Spinler                "parameter_name": "pmic_dvfs_increase_temp",
12383420426cSMatt Spinler                "modifier": {
12393420426cSMatt Spinler                    "operator": "minus",
12403420426cSMatt Spinler                    "value": 10
12413420426cSMatt Spinler                }
12423420426cSMatt Spinler            },
12433420426cSMatt Spinler            {
12443420426cSMatt Spinler                "name": "set_parameter_from_group_max",
12453420426cSMatt Spinler                "parameter_name": "pmic_dvfs_decrease_temp",
12463420426cSMatt Spinler                "modifier": {
12473420426cSMatt Spinler                    "operator": "minus",
12483420426cSMatt Spinler                    "value": 13
12493420426cSMatt Spinler                }
12503420426cSMatt Spinler            }
12513420426cSMatt Spinler        ]
12523420426cSMatt Spinler    },
12533420426cSMatt Spinler    {
12543420426cSMatt Spinler        "name": "Set internal memory buffer DVFS parameter",
12553420426cSMatt Spinler        "groups": [
12563420426cSMatt Spinler            {
12573420426cSMatt Spinler                "name": "internal memory buffer dvfs temp",
12583420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
12593420426cSMatt Spinler                "property": { "name": "Value" }
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        "actions": [
12773420426cSMatt Spinler            {
12783420426cSMatt Spinler                "name": "set_parameter_from_group_max",
12793420426cSMatt Spinler                "parameter_name": "intmb_dvfs_increase_temp",
12803420426cSMatt Spinler                "modifier": {
12813420426cSMatt Spinler                    "operator": "minus",
12823420426cSMatt Spinler                    "value": 9
12833420426cSMatt Spinler                }
12843420426cSMatt Spinler            },
12853420426cSMatt Spinler            {
12863420426cSMatt Spinler                "name": "set_parameter_from_group_max",
12873420426cSMatt Spinler                "parameter_name": "intmb_dvfs_decrease_temp",
12883420426cSMatt Spinler                "modifier": {
12893420426cSMatt Spinler                    "operator": "minus",
12903420426cSMatt Spinler                    "value": 12
12913420426cSMatt Spinler                }
12923420426cSMatt Spinler            }
12933420426cSMatt Spinler        ]
12943420426cSMatt Spinler    },
12953420426cSMatt Spinler    {
12963420426cSMatt Spinler        "name": "Set DRAM and external memory buffer DVFS parameter",
12973420426cSMatt Spinler        "groups": [
12983420426cSMatt Spinler            {
12993420426cSMatt Spinler                "name": "dram and external memory buffer dvfs temp",
13003420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
13013420426cSMatt Spinler                "property": { "name": "Value" }
13023420426cSMatt Spinler            }
13033420426cSMatt Spinler        ],
13043420426cSMatt Spinler        "triggers": [
13053420426cSMatt Spinler            {
13063420426cSMatt Spinler                "class": "init",
13073420426cSMatt Spinler                "method": "get_properties"
13083420426cSMatt Spinler            },
13093420426cSMatt Spinler            {
13103420426cSMatt Spinler                "class": "signal",
13113420426cSMatt Spinler                "signal": "properties_changed"
13123420426cSMatt Spinler            },
13133420426cSMatt Spinler            {
13143420426cSMatt Spinler                "class": "signal",
13153420426cSMatt Spinler                "signal": "interfaces_added"
13163420426cSMatt Spinler            }
13173420426cSMatt Spinler        ],
13183420426cSMatt Spinler        "actions": [
13193420426cSMatt Spinler            {
13203420426cSMatt Spinler                "name": "set_parameter_from_group_max",
13213420426cSMatt Spinler                "parameter_name": "dram_extmb_dvfs_increase_temp",
13223420426cSMatt Spinler                "modifier": {
13233420426cSMatt Spinler                    "operator": "minus",
13243420426cSMatt Spinler                    "value": 10
13253420426cSMatt Spinler                }
13263420426cSMatt Spinler            },
13273420426cSMatt Spinler            {
13283420426cSMatt Spinler                "name": "set_parameter_from_group_max",
13293420426cSMatt Spinler                "parameter_name": "dram_extmb_dvfs_decrease_temp",
13303420426cSMatt Spinler                "modifier": {
13313420426cSMatt Spinler                    "operator": "minus",
13323420426cSMatt Spinler                    "value": 13
13333420426cSMatt Spinler                }
13343420426cSMatt Spinler            }
13353420426cSMatt Spinler        ]
13363420426cSMatt Spinler    },
13373420426cSMatt Spinler    {
13383420426cSMatt Spinler        "name": "Set external memory buffer DVFS parameter",
13393420426cSMatt Spinler        "groups": [
13403420426cSMatt Spinler            {
13413420426cSMatt Spinler                "name": "external memory buffer dvfs temp",
13423420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
13433420426cSMatt Spinler                "property": { "name": "Value" }
13443420426cSMatt Spinler            }
13453420426cSMatt Spinler        ],
13463420426cSMatt Spinler        "triggers": [
13473420426cSMatt Spinler            {
13483420426cSMatt Spinler                "class": "init",
13493420426cSMatt Spinler                "method": "get_properties"
13503420426cSMatt Spinler            },
13513420426cSMatt Spinler            {
13523420426cSMatt Spinler                "class": "signal",
13533420426cSMatt Spinler                "signal": "properties_changed"
13543420426cSMatt Spinler            },
13553420426cSMatt Spinler            {
13563420426cSMatt Spinler                "class": "signal",
13573420426cSMatt Spinler                "signal": "interfaces_added"
13583420426cSMatt Spinler            }
13593420426cSMatt Spinler        ],
13603420426cSMatt Spinler        "actions": [
13613420426cSMatt Spinler            {
13623420426cSMatt Spinler                "name": "set_parameter_from_group_max",
13633420426cSMatt Spinler                "parameter_name": "extmb_dvfs_increase_temp",
13643420426cSMatt Spinler                "modifier": {
13653420426cSMatt Spinler                    "operator": "minus",
13663420426cSMatt Spinler                    "value": 10
13673420426cSMatt Spinler                }
13683420426cSMatt Spinler            },
13693420426cSMatt Spinler            {
13703420426cSMatt Spinler                "name": "set_parameter_from_group_max",
13713420426cSMatt Spinler                "parameter_name": "extmb_dvfs_decrease_temp",
13723420426cSMatt Spinler                "modifier": {
13733420426cSMatt Spinler                    "operator": "minus",
13743420426cSMatt Spinler                    "value": 13
13753420426cSMatt Spinler                }
13763420426cSMatt Spinler            }
13773420426cSMatt Spinler        ]
13783420426cSMatt Spinler    },
13793420426cSMatt Spinler    {
13803420426cSMatt Spinler        // Collect group temperatures each iteration the repeating timer expires
13813420426cSMatt Spinler        "name": "Fan control timer loop",
13823420426cSMatt Spinler        "groups": [
13833420426cSMatt Spinler            {
13843420426cSMatt Spinler                "name": "proc0 core temps",
13853420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
13863420426cSMatt Spinler                "property": { "name": "Value" }
13873420426cSMatt Spinler            },
13883420426cSMatt Spinler            {
13893420426cSMatt Spinler                "name": "proc1 core temps",
13903420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
13913420426cSMatt Spinler                "property": { "name": "Value" }
13923420426cSMatt Spinler            },
13933420426cSMatt Spinler            {
13943420426cSMatt Spinler                "name": "proc2 core temps",
13953420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
13963420426cSMatt Spinler                "property": { "name": "Value" }
13973420426cSMatt Spinler            },
13983420426cSMatt Spinler            {
13993420426cSMatt Spinler                "name": "proc3 core temps",
14003420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14013420426cSMatt Spinler                "property": { "name": "Value" }
14023420426cSMatt Spinler            },
14033420426cSMatt Spinler            {
14043420426cSMatt Spinler                "name": "proc4 core temps",
14053420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14063420426cSMatt Spinler                "property": { "name": "Value" }
14073420426cSMatt Spinler            },
14083420426cSMatt Spinler            {
14093420426cSMatt Spinler                "name": "proc5 core temps",
14103420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14113420426cSMatt Spinler                "property": { "name": "Value" }
14123420426cSMatt Spinler            },
14133420426cSMatt Spinler            {
14143420426cSMatt Spinler                "name": "proc6 core temps",
14153420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14163420426cSMatt Spinler                "property": { "name": "Value" }
14173420426cSMatt Spinler            },
14183420426cSMatt Spinler            {
14193420426cSMatt Spinler                "name": "proc7 core temps",
14203420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14213420426cSMatt Spinler                "property": { "name": "Value" }
14223420426cSMatt Spinler            },
14233420426cSMatt Spinler            {
14243420426cSMatt Spinler                "name": "proc0 ioring temp",
14253420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14263420426cSMatt Spinler                "property": { "name": "Value" }
14273420426cSMatt Spinler            },
14283420426cSMatt Spinler            {
14293420426cSMatt Spinler                "name": "proc1 ioring temp",
14303420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14313420426cSMatt Spinler                "property": { "name": "Value" }
14323420426cSMatt Spinler            },
14333420426cSMatt Spinler            {
14343420426cSMatt Spinler                "name": "proc2 ioring temp",
14353420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14363420426cSMatt Spinler                "property": { "name": "Value" }
14373420426cSMatt Spinler            },
14383420426cSMatt Spinler            {
14393420426cSMatt Spinler                "name": "proc3 ioring temp",
14403420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14413420426cSMatt Spinler                "property": { "name": "Value" }
14423420426cSMatt Spinler            },
14433420426cSMatt Spinler            {
14443420426cSMatt Spinler                "name": "proc4 ioring temp",
14453420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14463420426cSMatt Spinler                "property": { "name": "Value" }
14473420426cSMatt Spinler            },
14483420426cSMatt Spinler            {
14493420426cSMatt Spinler                "name": "proc5 ioring temp",
14503420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14513420426cSMatt Spinler                "property": { "name": "Value" }
14523420426cSMatt Spinler            },
14533420426cSMatt Spinler            {
14543420426cSMatt Spinler                "name": "proc6 ioring temp",
14553420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14563420426cSMatt Spinler                "property": { "name": "Value" }
14573420426cSMatt Spinler            },
14583420426cSMatt Spinler            {
14593420426cSMatt Spinler                "name": "proc7 ioring temp",
14603420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14613420426cSMatt Spinler                "property": { "name": "Value" }
14623420426cSMatt Spinler            },
14633420426cSMatt Spinler            {
14643420426cSMatt Spinler                "name": "dram temps",
14653420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14663420426cSMatt Spinler                "property": { "name": "Value" }
14673420426cSMatt Spinler            },
14683420426cSMatt Spinler            {
14693420426cSMatt Spinler                "name": "pmic temps",
14703420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14713420426cSMatt Spinler                "property": { "name": "Value" }
14723420426cSMatt Spinler            },
14733420426cSMatt Spinler            {
14743420426cSMatt Spinler                "name": "internal memory buffer temps",
14753420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14763420426cSMatt Spinler                "property": { "name": "Value" }
14773420426cSMatt Spinler            },
14783420426cSMatt Spinler            {
14793420426cSMatt Spinler                "name": "dram and external memory buffer temps",
14803420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14813420426cSMatt Spinler                "property": { "name": "Value" }
14823420426cSMatt Spinler            },
14833420426cSMatt Spinler            {
14843420426cSMatt Spinler                "name": "external memory buffer temps",
14853420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14863420426cSMatt Spinler                "property": { "name": "Value" }
14873420426cSMatt Spinler            },
14883420426cSMatt Spinler            {
14893420426cSMatt Spinler                "name": "vdd vrm temps",
14903420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14913420426cSMatt Spinler                "property": { "name": "Value" }
14923420426cSMatt Spinler            },
14933420426cSMatt Spinler            {
14943420426cSMatt Spinler                "name": "nvme temps",
14953420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
14963420426cSMatt Spinler                "property": { "name": "Value" }
14973420426cSMatt Spinler            },
14983420426cSMatt Spinler            {
14993420426cSMatt Spinler                "name": "planar temps",
15003420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
15013420426cSMatt Spinler                "property": { "name": "Value" }
15023420426cSMatt Spinler            },
15033420426cSMatt Spinler            {
15043420426cSMatt Spinler                "name": "pcie cable card temps",
15053420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
15063420426cSMatt Spinler                "property": { "name": "Value" }
15073420426cSMatt Spinler            }
15083420426cSMatt Spinler        ],
15093420426cSMatt Spinler        "triggers": [
15103420426cSMatt Spinler            {
15113420426cSMatt Spinler                "class": "timer",
15123420426cSMatt Spinler                "type": "repeating",
15133420426cSMatt Spinler                "interval": 2000000,
15143420426cSMatt Spinler                "preload_groups": true
15153420426cSMatt Spinler            }
15163420426cSMatt Spinler        ],
15173420426cSMatt Spinler        "actions": [
15183420426cSMatt Spinler            {
15193420426cSMatt Spinler                "name": "set_net_increase_target",
15203420426cSMatt Spinler                "groups": [
15213420426cSMatt Spinler                    {
15223420426cSMatt Spinler                        "name": "proc0 core temps",
15233420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15243420426cSMatt Spinler                        "property": { "name": "Value" }
15253420426cSMatt Spinler                    }
15263420426cSMatt Spinler                ],
15273420426cSMatt Spinler                "state_parameter_name": "proc_0_core_dvfs_increase_temp",
15283420426cSMatt Spinler                "delta": 255
15293420426cSMatt Spinler            },
15303420426cSMatt Spinler            {
15313420426cSMatt Spinler                "name": "set_net_increase_target",
15323420426cSMatt Spinler                "groups": [
15333420426cSMatt Spinler                    {
15343420426cSMatt Spinler                        "name": "proc1 core temps",
15353420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15363420426cSMatt Spinler                        "property": { "name": "Value" }
15373420426cSMatt Spinler                    }
15383420426cSMatt Spinler                ],
15393420426cSMatt Spinler                "state_parameter_name": "proc_1_core_dvfs_increase_temp",
15403420426cSMatt Spinler                "delta": 255
15413420426cSMatt Spinler            },
15423420426cSMatt Spinler            {
15433420426cSMatt Spinler                "name": "set_net_increase_target",
15443420426cSMatt Spinler                "groups": [
15453420426cSMatt Spinler                    {
15463420426cSMatt Spinler                        "name": "proc2 core temps",
15473420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15483420426cSMatt Spinler                        "property": { "name": "Value" }
15493420426cSMatt Spinler                    }
15503420426cSMatt Spinler                ],
15513420426cSMatt Spinler                "state_parameter_name": "proc_2_core_dvfs_increase_temp",
15523420426cSMatt Spinler                "delta": 255
15533420426cSMatt Spinler            },
15543420426cSMatt Spinler            {
15553420426cSMatt Spinler                "name": "set_net_increase_target",
15563420426cSMatt Spinler                "groups": [
15573420426cSMatt Spinler                    {
15583420426cSMatt Spinler                        "name": "proc3 core temps",
15593420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15603420426cSMatt Spinler                        "property": { "name": "Value" }
15613420426cSMatt Spinler                    }
15623420426cSMatt Spinler                ],
15633420426cSMatt Spinler                "state_parameter_name": "proc_3_core_dvfs_increase_temp",
15643420426cSMatt Spinler                "delta": 255
15653420426cSMatt Spinler            },
15663420426cSMatt Spinler            {
15673420426cSMatt Spinler                "name": "set_net_increase_target",
15683420426cSMatt Spinler                "groups": [
15693420426cSMatt Spinler                    {
15703420426cSMatt Spinler                        "name": "proc4 core temps",
15713420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15723420426cSMatt Spinler                        "property": { "name": "Value" }
15733420426cSMatt Spinler                    }
15743420426cSMatt Spinler                ],
15753420426cSMatt Spinler                "state_parameter_name": "proc_4_core_dvfs_increase_temp",
15763420426cSMatt Spinler                "delta": 255
15773420426cSMatt Spinler            },
15783420426cSMatt Spinler            {
15793420426cSMatt Spinler                "name": "set_net_increase_target",
15803420426cSMatt Spinler                "groups": [
15813420426cSMatt Spinler                    {
15823420426cSMatt Spinler                        "name": "proc5 core temps",
15833420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15843420426cSMatt Spinler                        "property": { "name": "Value" }
15853420426cSMatt Spinler                    }
15863420426cSMatt Spinler                ],
15873420426cSMatt Spinler                "state_parameter_name": "proc_5_core_dvfs_increase_temp",
15883420426cSMatt Spinler                "delta": 255
15893420426cSMatt Spinler            },
15903420426cSMatt Spinler            {
15913420426cSMatt Spinler                "name": "set_net_increase_target",
15923420426cSMatt Spinler                "groups": [
15933420426cSMatt Spinler                    {
15943420426cSMatt Spinler                        "name": "proc6 core temps",
15953420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
15963420426cSMatt Spinler                        "property": { "name": "Value" }
15973420426cSMatt Spinler                    }
15983420426cSMatt Spinler                ],
15993420426cSMatt Spinler                "state_parameter_name": "proc_6_core_dvfs_increase_temp",
16003420426cSMatt Spinler                "delta": 255
16013420426cSMatt Spinler            },
16023420426cSMatt Spinler            {
16033420426cSMatt Spinler                "name": "set_net_increase_target",
16043420426cSMatt Spinler                "groups": [
16053420426cSMatt Spinler                    {
16063420426cSMatt Spinler                        "name": "proc7 core temps",
16073420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16083420426cSMatt Spinler                        "property": { "name": "Value" }
16093420426cSMatt Spinler                    }
16103420426cSMatt Spinler                ],
16113420426cSMatt Spinler                "state_parameter_name": "proc_7_core_dvfs_increase_temp",
16123420426cSMatt Spinler                "delta": 255
16133420426cSMatt Spinler            },
16143420426cSMatt Spinler            {
16153420426cSMatt Spinler                "name": "set_net_increase_target",
16163420426cSMatt Spinler                "groups": [
16173420426cSMatt Spinler                    {
16183420426cSMatt Spinler                        "name": "proc0 ioring temp",
16193420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16203420426cSMatt Spinler                        "property": { "name": "Value" }
16213420426cSMatt Spinler                    }
16223420426cSMatt Spinler                ],
16233420426cSMatt Spinler                "state_parameter_name": "proc_0_ioring_dvfs_increase_temp",
16243420426cSMatt Spinler                "delta": 255
16253420426cSMatt Spinler            },
16263420426cSMatt Spinler            {
16273420426cSMatt Spinler                "name": "set_net_increase_target",
16283420426cSMatt Spinler                "groups": [
16293420426cSMatt Spinler                    {
16303420426cSMatt Spinler                        "name": "proc1 ioring temp",
16313420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16323420426cSMatt Spinler                        "property": { "name": "Value" }
16333420426cSMatt Spinler                    }
16343420426cSMatt Spinler                ],
16353420426cSMatt Spinler                "state_parameter_name": "proc_1_ioring_dvfs_increase_temp",
16363420426cSMatt Spinler                "delta": 255
16373420426cSMatt Spinler            },
16383420426cSMatt Spinler            {
16393420426cSMatt Spinler                "name": "set_net_increase_target",
16403420426cSMatt Spinler                "groups": [
16413420426cSMatt Spinler                    {
16423420426cSMatt Spinler                        "name": "proc2 ioring temp",
16433420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16443420426cSMatt Spinler                        "property": { "name": "Value" }
16453420426cSMatt Spinler                    }
16463420426cSMatt Spinler                ],
16473420426cSMatt Spinler                "state_parameter_name": "proc_2_ioring_dvfs_increase_temp",
16483420426cSMatt Spinler                "delta": 255
16493420426cSMatt Spinler            },
16503420426cSMatt Spinler            {
16513420426cSMatt Spinler                "name": "set_net_increase_target",
16523420426cSMatt Spinler                "groups": [
16533420426cSMatt Spinler                    {
16543420426cSMatt Spinler                        "name": "proc3 ioring temp",
16553420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16563420426cSMatt Spinler                        "property": { "name": "Value" }
16573420426cSMatt Spinler                    }
16583420426cSMatt Spinler                ],
16593420426cSMatt Spinler                "state_parameter_name": "proc_3_ioring_dvfs_increase_temp",
16603420426cSMatt Spinler                "delta": 255
16613420426cSMatt Spinler            },
16623420426cSMatt Spinler            {
16633420426cSMatt Spinler                "name": "set_net_increase_target",
16643420426cSMatt Spinler                "groups": [
16653420426cSMatt Spinler                    {
16663420426cSMatt Spinler                        "name": "proc4 ioring temp",
16673420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16683420426cSMatt Spinler                        "property": { "name": "Value" }
16693420426cSMatt Spinler                    }
16703420426cSMatt Spinler                ],
16713420426cSMatt Spinler                "state_parameter_name": "proc_4_ioring_dvfs_increase_temp",
16723420426cSMatt Spinler                "delta": 255
16733420426cSMatt Spinler            },
16743420426cSMatt Spinler            {
16753420426cSMatt Spinler                "name": "set_net_increase_target",
16763420426cSMatt Spinler                "groups": [
16773420426cSMatt Spinler                    {
16783420426cSMatt Spinler                        "name": "proc5 ioring temp",
16793420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16803420426cSMatt Spinler                        "property": { "name": "Value" }
16813420426cSMatt Spinler                    }
16823420426cSMatt Spinler                ],
16833420426cSMatt Spinler                "state_parameter_name": "proc_5_ioring_dvfs_increase_temp",
16843420426cSMatt Spinler                "delta": 255
16853420426cSMatt Spinler            },
16863420426cSMatt Spinler            {
16873420426cSMatt Spinler                "name": "set_net_increase_target",
16883420426cSMatt Spinler                "groups": [
16893420426cSMatt Spinler                    {
16903420426cSMatt Spinler                        "name": "proc6 ioring temp",
16913420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
16923420426cSMatt Spinler                        "property": { "name": "Value" }
16933420426cSMatt Spinler                    }
16943420426cSMatt Spinler                ],
16953420426cSMatt Spinler                "state_parameter_name": "proc_6_ioring_dvfs_increase_temp",
16963420426cSMatt Spinler                "delta": 255
16973420426cSMatt Spinler            },
16983420426cSMatt Spinler            {
16993420426cSMatt Spinler                "name": "set_net_increase_target",
17003420426cSMatt Spinler                "groups": [
17013420426cSMatt Spinler                    {
17023420426cSMatt Spinler                        "name": "proc7 ioring temp",
17033420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17043420426cSMatt Spinler                        "property": { "name": "Value" }
17053420426cSMatt Spinler                    }
17063420426cSMatt Spinler                ],
17073420426cSMatt Spinler                "state_parameter_name": "proc_7_ioring_dvfs_increase_temp",
17083420426cSMatt Spinler                "delta": 255
17093420426cSMatt Spinler            },
17103420426cSMatt Spinler            {
17113420426cSMatt Spinler                "name": "set_net_increase_target",
17123420426cSMatt Spinler                "groups": [
17133420426cSMatt Spinler                    {
17143420426cSMatt Spinler                        "name": "dram temps",
17153420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17163420426cSMatt Spinler                        "property": { "name": "Value" }
17173420426cSMatt Spinler                    }
17183420426cSMatt Spinler                ],
17193420426cSMatt Spinler                "state_parameter_name": "dram_dvfs_increase_temp",
17203420426cSMatt Spinler                "delta": 175
17213420426cSMatt Spinler            },
17223420426cSMatt Spinler            {
17233420426cSMatt Spinler                "name": "set_net_increase_target",
17243420426cSMatt Spinler                "groups": [
17253420426cSMatt Spinler                    {
17263420426cSMatt Spinler                        "name": "pmic temps",
17273420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17283420426cSMatt Spinler                        "property": { "name": "Value" }
17293420426cSMatt Spinler                    }
17303420426cSMatt Spinler                ],
17313420426cSMatt Spinler                "state_parameter_name": "pmic_dvfs_increase_temp",
17323420426cSMatt Spinler                "delta": 200
17333420426cSMatt Spinler            },
17343420426cSMatt Spinler            {
17353420426cSMatt Spinler                "name": "set_net_increase_target",
17363420426cSMatt Spinler                "groups": [
17373420426cSMatt Spinler                    {
17383420426cSMatt Spinler                        "name": "internal memory buffer temps",
17393420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17403420426cSMatt Spinler                        "property": { "name": "Value" }
17413420426cSMatt Spinler                    }
17423420426cSMatt Spinler                ],
17433420426cSMatt Spinler                "state_parameter_name": "intmb_dvfs_increase_temp",
17443420426cSMatt Spinler                "delta": 150
17453420426cSMatt Spinler            },
17463420426cSMatt Spinler            {
17473420426cSMatt Spinler                "name": "set_net_increase_target",
17483420426cSMatt Spinler                "groups": [
17493420426cSMatt Spinler                    {
17503420426cSMatt Spinler                        "name": "dram and external memory buffer temps",
17513420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17523420426cSMatt Spinler                        "property": { "name": "Value" }
17533420426cSMatt Spinler                    }
17543420426cSMatt Spinler                ],
17553420426cSMatt Spinler                "state_parameter_name": "dram_extmb_dvfs_increase_temp",
17563420426cSMatt Spinler                "delta": 200
17573420426cSMatt Spinler            },
17583420426cSMatt Spinler            {
17593420426cSMatt Spinler                "name": "set_net_increase_target",
17603420426cSMatt Spinler                "groups": [
17613420426cSMatt Spinler                    {
17623420426cSMatt Spinler                        "name": "external memory buffer temps",
17633420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17643420426cSMatt Spinler                        "property": { "name": "Value" }
17653420426cSMatt Spinler                    }
17663420426cSMatt Spinler                ],
17673420426cSMatt Spinler                "state_parameter_name": "extmb_dvfs_increase_temp",
17683420426cSMatt Spinler                "delta": 200
17693420426cSMatt Spinler            },
17703420426cSMatt Spinler            {
17713420426cSMatt Spinler                "name": "set_net_increase_target",
17723420426cSMatt Spinler                "groups": [
17733420426cSMatt Spinler                    {
17743420426cSMatt Spinler                        "name": "vdd vrm temps",
17753420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17763420426cSMatt Spinler                        "property": { "name": "Value" }
17773420426cSMatt Spinler                    }
17783420426cSMatt Spinler                ],
17793420426cSMatt Spinler                "state": 85.0,
17803420426cSMatt Spinler                "delta": 255
17813420426cSMatt Spinler            },
17823420426cSMatt Spinler            {
17833420426cSMatt Spinler                "name": "set_net_increase_target",
17843420426cSMatt Spinler                "groups": [
17853420426cSMatt Spinler                    {
17863420426cSMatt Spinler                        "name": "nvme temps",
17873420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
17883420426cSMatt Spinler                        "property": { "name": "Value" }
17893420426cSMatt Spinler                    }
17903420426cSMatt Spinler                ],
17913420426cSMatt Spinler                "state": 58.0,
17923420426cSMatt Spinler                "delta": 200
17933420426cSMatt Spinler            },
17943420426cSMatt Spinler            {
17953420426cSMatt Spinler                "name": "set_net_increase_target",
17963420426cSMatt Spinler                "groups": [
17973420426cSMatt Spinler                    {
17983420426cSMatt Spinler                        "name": "planar temps",
17993420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18003420426cSMatt Spinler                        "property": { "name": "Value" }
18013420426cSMatt Spinler                    }
18023420426cSMatt Spinler                ],
18033420426cSMatt Spinler                "state": 50.0,
18043420426cSMatt Spinler                "delta": 255
18053420426cSMatt Spinler            },
18063420426cSMatt Spinler            {
18073420426cSMatt Spinler                "name": "set_net_increase_target",
18083420426cSMatt Spinler                "groups": [
18093420426cSMatt Spinler                    {
18103420426cSMatt Spinler                        "name": "pcie cable card temps",
18113420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18123420426cSMatt Spinler                        "property": { "name": "Value" }
18133420426cSMatt Spinler                    }
18143420426cSMatt Spinler                ],
18153420426cSMatt Spinler                "state": 70.0,
18163420426cSMatt Spinler                "delta": 255
18173420426cSMatt Spinler            },
18183420426cSMatt Spinler            {
18193420426cSMatt Spinler                "name": "set_net_decrease_target",
18203420426cSMatt Spinler                "groups": [
18213420426cSMatt Spinler                    {
18223420426cSMatt Spinler                        "name": "proc0 core temps",
18233420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18243420426cSMatt Spinler                        "property": { "name": "Value" }
18253420426cSMatt Spinler                    }
18263420426cSMatt Spinler                ],
18273420426cSMatt Spinler                "state_parameter_name": "proc_0_core_dvfs_decrease_temp",
18283420426cSMatt Spinler                "delta": 50
18293420426cSMatt Spinler            },
18303420426cSMatt Spinler            {
18313420426cSMatt Spinler                "name": "set_net_decrease_target",
18323420426cSMatt Spinler                "groups": [
18333420426cSMatt Spinler                    {
18343420426cSMatt Spinler                        "name": "proc1 core temps",
18353420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18363420426cSMatt Spinler                        "property": { "name": "Value" }
18373420426cSMatt Spinler                    }
18383420426cSMatt Spinler                ],
18393420426cSMatt Spinler                "state_parameter_name": "proc_1_core_dvfs_decrease_temp",
18403420426cSMatt Spinler                "delta": 50
18413420426cSMatt Spinler            },
18423420426cSMatt Spinler            {
18433420426cSMatt Spinler                "name": "set_net_decrease_target",
18443420426cSMatt Spinler                "groups": [
18453420426cSMatt Spinler                    {
18463420426cSMatt Spinler                        "name": "proc2 core temps",
18473420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18483420426cSMatt Spinler                        "property": { "name": "Value" }
18493420426cSMatt Spinler                    }
18503420426cSMatt Spinler                ],
18513420426cSMatt Spinler                "state_parameter_name": "proc_2_core_dvfs_decrease_temp",
18523420426cSMatt Spinler                "delta": 50
18533420426cSMatt Spinler            },
18543420426cSMatt Spinler            {
18553420426cSMatt Spinler                "name": "set_net_decrease_target",
18563420426cSMatt Spinler                "groups": [
18573420426cSMatt Spinler                    {
18583420426cSMatt Spinler                        "name": "proc3 core temps",
18593420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18603420426cSMatt Spinler                        "property": { "name": "Value" }
18613420426cSMatt Spinler                    }
18623420426cSMatt Spinler                ],
18633420426cSMatt Spinler                "state_parameter_name": "proc_3_core_dvfs_decrease_temp",
18643420426cSMatt Spinler                "delta": 50
18653420426cSMatt Spinler            },
18663420426cSMatt Spinler            {
18673420426cSMatt Spinler                "name": "set_net_decrease_target",
18683420426cSMatt Spinler                "groups": [
18693420426cSMatt Spinler                    {
18703420426cSMatt Spinler                        "name": "proc4 core temps",
18713420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18723420426cSMatt Spinler                        "property": { "name": "Value" }
18733420426cSMatt Spinler                    }
18743420426cSMatt Spinler                ],
18753420426cSMatt Spinler                "state_parameter_name": "proc_4_core_dvfs_decrease_temp",
18763420426cSMatt Spinler                "delta": 50
18773420426cSMatt Spinler            },
18783420426cSMatt Spinler            {
18793420426cSMatt Spinler                "name": "set_net_decrease_target",
18803420426cSMatt Spinler                "groups": [
18813420426cSMatt Spinler                    {
18823420426cSMatt Spinler                        "name": "proc5 core temps",
18833420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18843420426cSMatt Spinler                        "property": { "name": "Value" }
18853420426cSMatt Spinler                    }
18863420426cSMatt Spinler                ],
18873420426cSMatt Spinler                "state_parameter_name": "proc_5_core_dvfs_decrease_temp",
18883420426cSMatt Spinler                "delta": 50
18893420426cSMatt Spinler            },
18903420426cSMatt Spinler            {
18913420426cSMatt Spinler                "name": "set_net_decrease_target",
18923420426cSMatt Spinler                "groups": [
18933420426cSMatt Spinler                    {
18943420426cSMatt Spinler                        "name": "proc6 core temps",
18953420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
18963420426cSMatt Spinler                        "property": { "name": "Value" }
18973420426cSMatt Spinler                    }
18983420426cSMatt Spinler                ],
18993420426cSMatt Spinler                "state_parameter_name": "proc_6_core_dvfs_decrease_temp",
19003420426cSMatt Spinler                "delta": 50
19013420426cSMatt Spinler            },
19023420426cSMatt Spinler            {
19033420426cSMatt Spinler                "name": "set_net_decrease_target",
19043420426cSMatt Spinler                "groups": [
19053420426cSMatt Spinler                    {
19063420426cSMatt Spinler                        "name": "proc7 core temps",
19073420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19083420426cSMatt Spinler                        "property": { "name": "Value" }
19093420426cSMatt Spinler                    }
19103420426cSMatt Spinler                ],
19113420426cSMatt Spinler                "state_parameter_name": "proc_7_core_dvfs_decrease_temp",
19123420426cSMatt Spinler                "delta": 50
19133420426cSMatt Spinler            },
19143420426cSMatt Spinler            {
19153420426cSMatt Spinler                "name": "set_net_decrease_target",
19163420426cSMatt Spinler                "groups": [
19173420426cSMatt Spinler                    {
19183420426cSMatt Spinler                        "name": "proc0 ioring temp",
19193420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19203420426cSMatt Spinler                        "property": { "name": "Value" }
19213420426cSMatt Spinler                    }
19223420426cSMatt Spinler                ],
19233420426cSMatt Spinler                "state_parameter_name": "proc_0_ioring_dvfs_decrease_temp",
19243420426cSMatt Spinler                "delta": 50
19253420426cSMatt Spinler            },
19263420426cSMatt Spinler            {
19273420426cSMatt Spinler                "name": "set_net_decrease_target",
19283420426cSMatt Spinler                "groups": [
19293420426cSMatt Spinler                    {
19303420426cSMatt Spinler                        "name": "proc1 ioring temp",
19313420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19323420426cSMatt Spinler                        "property": { "name": "Value" }
19333420426cSMatt Spinler                    }
19343420426cSMatt Spinler                ],
19353420426cSMatt Spinler                "state_parameter_name": "proc_1_ioring_dvfs_decrease_temp",
19363420426cSMatt Spinler                "delta": 50
19373420426cSMatt Spinler            },
19383420426cSMatt Spinler            {
19393420426cSMatt Spinler                "name": "set_net_decrease_target",
19403420426cSMatt Spinler                "groups": [
19413420426cSMatt Spinler                    {
19423420426cSMatt Spinler                        "name": "proc2 ioring temp",
19433420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19443420426cSMatt Spinler                        "property": { "name": "Value" }
19453420426cSMatt Spinler                    }
19463420426cSMatt Spinler                ],
19473420426cSMatt Spinler                "state_parameter_name": "proc_2_ioring_dvfs_decrease_temp",
19483420426cSMatt Spinler                "delta": 50
19493420426cSMatt Spinler            },
19503420426cSMatt Spinler            {
19513420426cSMatt Spinler                "name": "set_net_decrease_target",
19523420426cSMatt Spinler                "groups": [
19533420426cSMatt Spinler                    {
19543420426cSMatt Spinler                        "name": "proc3 ioring temp",
19553420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19563420426cSMatt Spinler                        "property": { "name": "Value" }
19573420426cSMatt Spinler                    }
19583420426cSMatt Spinler                ],
19593420426cSMatt Spinler                "state_parameter_name": "proc_3_ioring_dvfs_decrease_temp",
19603420426cSMatt Spinler                "delta": 50
19613420426cSMatt Spinler            },
19623420426cSMatt Spinler            {
19633420426cSMatt Spinler                "name": "set_net_decrease_target",
19643420426cSMatt Spinler                "groups": [
19653420426cSMatt Spinler                    {
19663420426cSMatt Spinler                        "name": "proc4 ioring temp",
19673420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19683420426cSMatt Spinler                        "property": { "name": "Value" }
19693420426cSMatt Spinler                    }
19703420426cSMatt Spinler                ],
19713420426cSMatt Spinler                "state_parameter_name": "proc_4_ioring_dvfs_decrease_temp",
19723420426cSMatt Spinler                "delta": 50
19733420426cSMatt Spinler            },
19743420426cSMatt Spinler            {
19753420426cSMatt Spinler                "name": "set_net_decrease_target",
19763420426cSMatt Spinler                "groups": [
19773420426cSMatt Spinler                    {
19783420426cSMatt Spinler                        "name": "proc5 ioring temp",
19793420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19803420426cSMatt Spinler                        "property": { "name": "Value" }
19813420426cSMatt Spinler                    }
19823420426cSMatt Spinler                ],
19833420426cSMatt Spinler                "state_parameter_name": "proc_5_ioring_dvfs_decrease_temp",
19843420426cSMatt Spinler                "delta": 50
19853420426cSMatt Spinler            },
19863420426cSMatt Spinler            {
19873420426cSMatt Spinler                "name": "set_net_decrease_target",
19883420426cSMatt Spinler                "groups": [
19893420426cSMatt Spinler                    {
19903420426cSMatt Spinler                        "name": "proc6 ioring temp",
19913420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
19923420426cSMatt Spinler                        "property": { "name": "Value" }
19933420426cSMatt Spinler                    }
19943420426cSMatt Spinler                ],
19953420426cSMatt Spinler                "state_parameter_name": "proc_6_ioring_dvfs_decrease_temp",
19963420426cSMatt Spinler                "delta": 50
19973420426cSMatt Spinler            },
19983420426cSMatt Spinler            {
19993420426cSMatt Spinler                "name": "set_net_decrease_target",
20003420426cSMatt Spinler                "groups": [
20013420426cSMatt Spinler                    {
20023420426cSMatt Spinler                        "name": "proc7 ioring temp",
20033420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20043420426cSMatt Spinler                        "property": { "name": "Value" }
20053420426cSMatt Spinler                    }
20063420426cSMatt Spinler                ],
20073420426cSMatt Spinler                "state_parameter_name": "proc_7_ioring_dvfs_decrease_temp",
20083420426cSMatt Spinler                "delta": 50
20093420426cSMatt Spinler            },
20103420426cSMatt Spinler            {
20113420426cSMatt Spinler                "name": "set_net_decrease_target",
20123420426cSMatt Spinler                "groups": [
20133420426cSMatt Spinler                    {
20143420426cSMatt Spinler                        "name": "dram temps",
20153420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20163420426cSMatt Spinler                        "property": { "name": "Value" }
20173420426cSMatt Spinler                    }
20183420426cSMatt Spinler                ],
20193420426cSMatt Spinler                "state_parameter_name": "dram_dvfs_decrease_temp",
20203420426cSMatt Spinler                "delta": 40
20213420426cSMatt Spinler            },
20223420426cSMatt Spinler            {
20233420426cSMatt Spinler                "name": "set_net_decrease_target",
20243420426cSMatt Spinler                "groups": [
20253420426cSMatt Spinler                    {
20263420426cSMatt Spinler                        "name": "pmic temps",
20273420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20283420426cSMatt Spinler                        "property": { "name": "Value" }
20293420426cSMatt Spinler                    }
20303420426cSMatt Spinler                ],
20313420426cSMatt Spinler                "state_parameter_name": "pmic_dvfs_decrease_temp",
20323420426cSMatt Spinler                "delta": 40
20333420426cSMatt Spinler            },
20343420426cSMatt Spinler            {
20353420426cSMatt Spinler                "name": "set_net_decrease_target",
20363420426cSMatt Spinler                "groups": [
20373420426cSMatt Spinler                    {
20383420426cSMatt Spinler                        "name": "internal memory buffer temps",
20393420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20403420426cSMatt Spinler                        "property": { "name": "Value" }
20413420426cSMatt Spinler                    }
20423420426cSMatt Spinler                ],
20433420426cSMatt Spinler                "state_parameter_name": "intmb_dvfs_decrease_temp",
20443420426cSMatt Spinler                "delta": 40
20453420426cSMatt Spinler            },
20463420426cSMatt Spinler            {
20473420426cSMatt Spinler                "name": "set_net_decrease_target",
20483420426cSMatt Spinler                "groups": [
20493420426cSMatt Spinler                    {
20503420426cSMatt Spinler                        "name": "dram and external memory buffer temps",
20513420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20523420426cSMatt Spinler                        "property": { "name": "Value" }
20533420426cSMatt Spinler                    }
20543420426cSMatt Spinler                ],
20553420426cSMatt Spinler                "state_parameter_name": "dram_extmb_dvfs_decrease_temp",
20563420426cSMatt Spinler                "delta": 40
20573420426cSMatt Spinler            },
20583420426cSMatt Spinler            {
20593420426cSMatt Spinler                "name": "set_net_decrease_target",
20603420426cSMatt Spinler                "groups": [
20613420426cSMatt Spinler                    {
20623420426cSMatt Spinler                        "name": "external memory buffer temps",
20633420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20643420426cSMatt Spinler                        "property": { "name": "Value" }
20653420426cSMatt Spinler                    }
20663420426cSMatt Spinler                ],
20673420426cSMatt Spinler                "state_parameter_name": "extmb_dvfs_decrease_temp",
20683420426cSMatt Spinler                "delta": 40
20693420426cSMatt Spinler            },
20703420426cSMatt Spinler            {
20713420426cSMatt Spinler                "name": "set_net_decrease_target",
20723420426cSMatt Spinler                "groups": [
20733420426cSMatt Spinler                    {
20743420426cSMatt Spinler                        "name": "vdd vrm temps",
20753420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20763420426cSMatt Spinler                        "property": { "name": "Value" }
20773420426cSMatt Spinler                    }
20783420426cSMatt Spinler                ],
20793420426cSMatt Spinler                "state": 80.0,
20803420426cSMatt Spinler                "delta": 30
20813420426cSMatt Spinler            },
20823420426cSMatt Spinler            {
20833420426cSMatt Spinler                "name": "set_net_decrease_target",
20843420426cSMatt Spinler                "groups": [
20853420426cSMatt Spinler                    {
20863420426cSMatt Spinler                        "name": "nvme temps",
20873420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
20883420426cSMatt Spinler                        "property": { "name": "Value" }
20893420426cSMatt Spinler                    }
20903420426cSMatt Spinler                ],
20913420426cSMatt Spinler                "state": 55.0,
20923420426cSMatt Spinler                "delta": 40
20933420426cSMatt Spinler            },
20943420426cSMatt Spinler            {
20953420426cSMatt Spinler                "name": "set_net_decrease_target",
20963420426cSMatt Spinler                "groups": [
20973420426cSMatt Spinler                    {
20983420426cSMatt Spinler                        "name": "planar temps",
20993420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
21003420426cSMatt Spinler                        "property": { "name": "Value" }
21013420426cSMatt Spinler                    }
21023420426cSMatt Spinler                ],
21033420426cSMatt Spinler                "state": 48.0,
21043420426cSMatt Spinler                "delta": 80
21053420426cSMatt Spinler            },
21063420426cSMatt Spinler            {
21073420426cSMatt Spinler                "name": "set_net_decrease_target",
21083420426cSMatt Spinler                "groups": [
21093420426cSMatt Spinler                    {
21103420426cSMatt Spinler                        "name": "pcie cable card temps",
21113420426cSMatt Spinler                        "interface": "xyz.openbmc_project.Sensor.Value",
21123420426cSMatt Spinler                        "property": { "name": "Value" }
21133420426cSMatt Spinler                    }
21143420426cSMatt Spinler                ],
21153420426cSMatt Spinler                "state": 65.0,
21163420426cSMatt Spinler                "delta": 80
21173420426cSMatt Spinler            }
21183420426cSMatt Spinler        ]
21193420426cSMatt Spinler    },
21203420426cSMatt Spinler    {
21213420426cSMatt Spinler        // Remove NVMe temperature objects from cache when they are removed from
21223420426cSMatt Spinler        // dbus. There's no need to react to their removal.
21233420426cSMatt Spinler        "name": "remove nvme objects",
21243420426cSMatt Spinler        "groups": [
21253420426cSMatt Spinler            {
21263420426cSMatt Spinler                "name": "nvme temps",
21273420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
21283420426cSMatt Spinler                "property": { "name": "Value" }
21293420426cSMatt Spinler            },
21303420426cSMatt Spinler            {
21313420426cSMatt Spinler                "name": "nvme temps",
21323420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
21333420426cSMatt Spinler                "property": { "name": "Functional" }
21343420426cSMatt Spinler            }
21353420426cSMatt Spinler        ],
21363420426cSMatt Spinler        "triggers": [
21373420426cSMatt Spinler            {
21383420426cSMatt Spinler                "class": "signal",
21393420426cSMatt Spinler                "signal": "interfaces_removed"
21403420426cSMatt Spinler            }
21413420426cSMatt Spinler        ]
21423420426cSMatt Spinler    },
21433420426cSMatt Spinler    {
21443420426cSMatt Spinler        "name": "set pcie floor index",
21453420426cSMatt Spinler        "groups": [
21463420426cSMatt Spinler            {
21473420426cSMatt Spinler                "name": "pcie slots",
21483420426cSMatt Spinler                "interface": "xyz.openbmc_project.State.Decorator.PowerState",
21493420426cSMatt Spinler                "property": {
21503420426cSMatt Spinler                    "name": "PowerState"
21513420426cSMatt Spinler                }
21523420426cSMatt Spinler            },
21533420426cSMatt Spinler            {
21543420426cSMatt Spinler                "name": "pcie cards",
21553420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
21563420426cSMatt Spinler                "property": {
21573420426cSMatt Spinler                    "name": "Function0DeviceId"
21583420426cSMatt Spinler                }
21593420426cSMatt Spinler            },
21603420426cSMatt Spinler            {
21613420426cSMatt Spinler                "name": "pcie cards",
21623420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
21633420426cSMatt Spinler                "property": {
21643420426cSMatt Spinler                    "name": "Function0VendorId"
21653420426cSMatt Spinler                }
21663420426cSMatt Spinler            },
21673420426cSMatt Spinler            {
21683420426cSMatt Spinler                "name": "pcie cards",
21693420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
21703420426cSMatt Spinler                "property": {
21713420426cSMatt Spinler                    "name": "Function0SubsystemId"
21723420426cSMatt Spinler                }
21733420426cSMatt Spinler            },
21743420426cSMatt Spinler            {
21753420426cSMatt Spinler                "name": "pcie cards",
21763420426cSMatt Spinler                "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice",
21773420426cSMatt Spinler                "property": {
21783420426cSMatt Spinler                    "name": "Function0SubsystemVendorId"
21793420426cSMatt Spinler                }
21803420426cSMatt Spinler            }
21813420426cSMatt Spinler        ],
21823420426cSMatt Spinler        "triggers": [
21833420426cSMatt Spinler            {
21843420426cSMatt Spinler                "class": "init",
21853420426cSMatt Spinler                "method": "get_properties"
21863420426cSMatt Spinler            },
21873420426cSMatt Spinler            {
21883420426cSMatt Spinler                "class": "signal",
21893420426cSMatt Spinler                "signal": "properties_changed"
21903420426cSMatt Spinler            },
21913420426cSMatt Spinler            {
21923420426cSMatt Spinler                "class": "signal",
21933420426cSMatt Spinler                "signal": "interfaces_added"
21943420426cSMatt Spinler            }
21953420426cSMatt Spinler        ],
21963420426cSMatt Spinler        "actions": [
21973420426cSMatt Spinler            {
21983420426cSMatt Spinler                "name": "pcie_card_floors",
21993420426cSMatt Spinler                "use_config_specific_files": true,
22003420426cSMatt Spinler                "settle_time": 2
22013420426cSMatt Spinler            }
22023420426cSMatt Spinler        ]
22033420426cSMatt Spinler    },
22043420426cSMatt Spinler    {
22053420426cSMatt Spinler        "name": "Set altitude offset parameter",
22063420426cSMatt Spinler        "groups": [
22073420426cSMatt Spinler            {
22083420426cSMatt Spinler                "name": "altitude",
22093420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
22103420426cSMatt Spinler                "property": { "name": "Value" }
22113420426cSMatt Spinler            }
22123420426cSMatt Spinler        ],
22133420426cSMatt Spinler        "triggers": [
22143420426cSMatt Spinler            {
22153420426cSMatt Spinler                "class": "init",
22163420426cSMatt Spinler                "method": "get_properties"
22173420426cSMatt Spinler            },
22183420426cSMatt Spinler            {
22193420426cSMatt Spinler                "class": "signal",
22203420426cSMatt Spinler                "signal": "interfaces_added"
22213420426cSMatt Spinler            },
22223420426cSMatt Spinler            {
22233420426cSMatt Spinler                // Refresh altitude every 24hrs
22243420426cSMatt Spinler                "class": "timer",
22253420426cSMatt Spinler                "type": "repeating",
22263420426cSMatt Spinler                "interval": 86400000000,
22273420426cSMatt Spinler                "preload_groups": true
22283420426cSMatt Spinler            }
22293420426cSMatt Spinler        ],
22303420426cSMatt Spinler        "actions": [
22313420426cSMatt Spinler            {
22323420426cSMatt Spinler                "name": "set_parameter_from_group_max",
22333420426cSMatt Spinler                "parameter_name": "ambient_20_altitude_offset",
22343420426cSMatt Spinler                "modifier": {
22353420426cSMatt Spinler                    "operator": "less_than",
22363420426cSMatt Spinler                    "default_value": 1500,
22373420426cSMatt Spinler                    "value": [
22383420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
22393420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 375 },
22403420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 550 },
22413420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 775 },
22423420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 1000 },
22433420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 1275 }
22443420426cSMatt Spinler                    ]
22453420426cSMatt Spinler                }
22463420426cSMatt Spinler            },
22473420426cSMatt Spinler            {
22483420426cSMatt Spinler                "name": "set_parameter_from_group_max",
22493420426cSMatt Spinler                "parameter_name": "ambient_25_altitude_offset",
22503420426cSMatt Spinler                "modifier": {
22513420426cSMatt Spinler                    "operator": "less_than",
22523420426cSMatt Spinler                    "default_value": 2000,
22533420426cSMatt Spinler                    "value": [
22543420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
22553420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 450 },
22563420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 700 },
22573420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 975 },
22583420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 1275 },
22593420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 1625 }
22603420426cSMatt Spinler                    ]
22613420426cSMatt Spinler                }
22623420426cSMatt Spinler            },
22633420426cSMatt Spinler            {
22643420426cSMatt Spinler                "name": "set_parameter_from_group_max",
22653420426cSMatt Spinler                "parameter_name": "ambient_30_altitude_offset",
22663420426cSMatt Spinler                "modifier": {
22673420426cSMatt Spinler                    "operator": "less_than",
22683420426cSMatt Spinler                    "default_value": 2500,
22693420426cSMatt Spinler                    "value": [
22703420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
22713420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 600 },
22723420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 900 },
22733420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 1275 },
22743420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 1650 },
22753420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 2100 }
22763420426cSMatt Spinler                    ]
22773420426cSMatt Spinler                }
22783420426cSMatt Spinler            },
22793420426cSMatt Spinler            {
22803420426cSMatt Spinler                "name": "set_parameter_from_group_max",
22813420426cSMatt Spinler                "parameter_name": "ambient_35_altitude_offset",
22823420426cSMatt Spinler                "modifier": {
22833420426cSMatt Spinler                    "operator": "less_than",
22843420426cSMatt Spinler                    "default_value": 3000,
22853420426cSMatt Spinler                    "value": [
22863420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
22873420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 750 },
22883420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 1175 },
22893420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 1625 },
22903420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 2125 },
22913420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 2725 }
22923420426cSMatt Spinler                    ]
22933420426cSMatt Spinler                }
22943420426cSMatt Spinler            },
22953420426cSMatt Spinler            {
22963420426cSMatt Spinler                "name": "set_parameter_from_group_max",
22973420426cSMatt Spinler                "parameter_name": "ambient_40_altitude_offset",
22983420426cSMatt Spinler                "modifier": {
22993420426cSMatt Spinler                    "operator": "less_than",
23003420426cSMatt Spinler                    "default_value": 3500,
23013420426cSMatt Spinler                    "value": [
23023420426cSMatt Spinler                        { "arg_value": 500, "parameter_value": 0 },
23033420426cSMatt Spinler                        { "arg_value": 1000, "parameter_value": 975 },
23043420426cSMatt Spinler                        { "arg_value": 1500, "parameter_value": 1500 },
23053420426cSMatt Spinler                        { "arg_value": 2000, "parameter_value": 2100 },
23063420426cSMatt Spinler                        { "arg_value": 2500, "parameter_value": 2750 },
23073420426cSMatt Spinler                        { "arg_value": 3050, "parameter_value": 3500 }
23083420426cSMatt Spinler                    ]
23093420426cSMatt Spinler                }
23103420426cSMatt Spinler            }
23113420426cSMatt Spinler        ]
23123420426cSMatt Spinler    },
23133420426cSMatt Spinler    {
23143420426cSMatt Spinler        "name": "Fan floors",
23153420426cSMatt Spinler        "groups": [
23163420426cSMatt Spinler            {
23173420426cSMatt Spinler                "name": "ambient temp",
23183420426cSMatt Spinler                "interface": "xyz.openbmc_project.Sensor.Value",
23193420426cSMatt Spinler                "property": { "name": "Value" }
23203420426cSMatt Spinler            }
23213420426cSMatt Spinler        ],
23223420426cSMatt Spinler        "triggers": [
23233420426cSMatt Spinler            {
23243420426cSMatt Spinler                "class": "init",
23253420426cSMatt Spinler                "method": "get_properties"
23263420426cSMatt Spinler            },
23273420426cSMatt Spinler            {
23283420426cSMatt Spinler                "class": "signal",
23293420426cSMatt Spinler                "signal": "properties_changed"
23303420426cSMatt Spinler            },
23313420426cSMatt Spinler            {
23323420426cSMatt Spinler                "class": "signal",
23333420426cSMatt Spinler                "signal": "interfaces_added"
23343420426cSMatt Spinler            },
23353420426cSMatt Spinler            {
23363420426cSMatt Spinler                "class": "parameter",
23373420426cSMatt Spinler                "parameter": "pcie_floor_index"
23383420426cSMatt Spinler            },
23393420426cSMatt Spinler            {
23403420426cSMatt Spinler                "class": "parameter",
23413420426cSMatt Spinler                "parameter": "ambient_20_altitude_offset"
23423420426cSMatt Spinler            },
23433420426cSMatt Spinler            {
23443420426cSMatt Spinler                "class": "parameter",
23453420426cSMatt Spinler                "parameter": "ambient_25_altitude_offset"
23463420426cSMatt Spinler            },
23473420426cSMatt Spinler            {
23483420426cSMatt Spinler                "class": "parameter",
23493420426cSMatt Spinler                "parameter": "ambient_30_altitude_offset"
23503420426cSMatt Spinler            },
23513420426cSMatt Spinler            {
23523420426cSMatt Spinler                "class": "parameter",
23533420426cSMatt Spinler                "parameter": "ambient_35_altitude_offset"
23543420426cSMatt Spinler            },
23553420426cSMatt Spinler            {
23563420426cSMatt Spinler                "class": "parameter",
23573420426cSMatt Spinler                "parameter": "ambient_40_altitude_offset"
23583420426cSMatt Spinler            }
23593420426cSMatt Spinler        ],
23603420426cSMatt Spinler        "actions": [
23613420426cSMatt Spinler            {
23623420426cSMatt Spinler                "name": "mapped_floor",
23633420426cSMatt Spinler                "key_group": "ambient temp",
23643420426cSMatt Spinler                "fan_floors": [
23653420426cSMatt Spinler                    {
23663420426cSMatt Spinler                        // Entry valid for temps < 20
23673420426cSMatt Spinler                        "key": 20,
23683420426cSMatt Spinler                        "default_floor": 3800,
23693420426cSMatt Spinler                        "floor_offset_parameter": "ambient_20_altitude_offset",
23703420426cSMatt Spinler                        "floors": [
23713420426cSMatt Spinler                            {
23723420426cSMatt Spinler                                "parameter": "pcie_floor_index",
23733420426cSMatt Spinler                                "floors": [
23743420426cSMatt Spinler                                    { "value": 1, "floor": 3800 },
23753420426cSMatt Spinler                                    { "value": 2, "floor": 4200 },
23763420426cSMatt Spinler                                    { "value": 3, "floor": 4600 }
23773420426cSMatt Spinler                                ]
23783420426cSMatt Spinler                            }
23793420426cSMatt Spinler                        ]
23803420426cSMatt Spinler                    },
23813420426cSMatt Spinler                    {
23823420426cSMatt Spinler                        // Entry valid for temps < 25
23833420426cSMatt Spinler                        "key": 25,
23843420426cSMatt Spinler                        "default_floor": 4400,
23853420426cSMatt Spinler                        "floor_offset_parameter": "ambient_25_altitude_offset",
23863420426cSMatt Spinler                        "floors": [
23873420426cSMatt Spinler                            {
23883420426cSMatt Spinler                                "parameter": "pcie_floor_index",
23893420426cSMatt Spinler                                "floors": [
23903420426cSMatt Spinler                                    { "value": 1, "floor": 4400 },
23913420426cSMatt Spinler                                    { "value": 2, "floor": 4800 },
23923420426cSMatt Spinler                                    { "value": 3, "floor": 5400 }
23933420426cSMatt Spinler                                ]
23943420426cSMatt Spinler                            }
23953420426cSMatt Spinler                        ]
23963420426cSMatt Spinler                    },
23973420426cSMatt Spinler                    {
23983420426cSMatt Spinler                        // Entry valid for temps < 30
23993420426cSMatt Spinler                        "key": 30,
24003420426cSMatt Spinler                        "default_floor": 5000,
24013420426cSMatt Spinler                        "floor_offset_parameter": "ambient_30_altitude_offset",
24023420426cSMatt Spinler                        "floors": [
24033420426cSMatt Spinler                            {
24043420426cSMatt Spinler                                "parameter": "pcie_floor_index",
24053420426cSMatt Spinler                                "floors": [
24063420426cSMatt Spinler                                    { "value": 1, "floor": 5000 },
24073420426cSMatt Spinler                                    { "value": 2, "floor": 5600 },
24083420426cSMatt Spinler                                    { "value": 3, "floor": 6500 }
24093420426cSMatt Spinler                                ]
24103420426cSMatt Spinler                            }
24113420426cSMatt Spinler                        ]
24123420426cSMatt Spinler                    },
24133420426cSMatt Spinler                    {
24143420426cSMatt Spinler                        // Entry valid for temps < 35
24153420426cSMatt Spinler                        "key": 35,
24163420426cSMatt Spinler                        "default_floor": 5800,
24173420426cSMatt Spinler                        "floor_offset_parameter": "ambient_35_altitude_offset",
24183420426cSMatt Spinler                        "floors": [
24193420426cSMatt Spinler                            {
24203420426cSMatt Spinler                                "parameter": "pcie_floor_index",
24213420426cSMatt Spinler                                "floors": [
24223420426cSMatt Spinler                                    { "value": 1, "floor": 5800 },
24233420426cSMatt Spinler                                    { "value": 2, "floor": 6700 },
24243420426cSMatt Spinler                                    { "value": 3, "floor": 7700 }
24253420426cSMatt Spinler                                ]
24263420426cSMatt Spinler                            }
24273420426cSMatt Spinler                        ]
24283420426cSMatt Spinler                    },
24293420426cSMatt Spinler                    {
24303420426cSMatt Spinler                        // Entry valid for temps < 40
24313420426cSMatt Spinler                        "key": 40,
24323420426cSMatt Spinler                        "default_floor": 6900,
24333420426cSMatt Spinler                        "floor_offset_parameter": "ambient_40_altitude_offset",
24343420426cSMatt Spinler                        "floors": [
24353420426cSMatt Spinler                            {
24363420426cSMatt Spinler                                "parameter": "pcie_floor_index",
24373420426cSMatt Spinler                                "floors": [
24383420426cSMatt Spinler                                    { "value": 1, "floor": 6900 },
24393420426cSMatt Spinler                                    { "value": 2, "floor": 7900 },
24403420426cSMatt Spinler                                    { "value": 3, "floor": 9200 }
24413420426cSMatt Spinler                                ]
24423420426cSMatt Spinler                            }
24433420426cSMatt Spinler                        ]
24443420426cSMatt Spinler                    }
24453420426cSMatt Spinler                ]
24463420426cSMatt Spinler            }
24473420426cSMatt Spinler        ]
24483420426cSMatt Spinler    }
24493420426cSMatt Spinler]
2450