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