1*3420426cSMatt Spinler[ 2*3420426cSMatt Spinler { 3*3420426cSMatt Spinler // Hold fans at the given target when a number of fans are missing. 4*3420426cSMatt Spinler "name": "fan(s) missing", 5*3420426cSMatt Spinler "groups": [ 6*3420426cSMatt Spinler { 7*3420426cSMatt Spinler "name": "fan inventory", 8*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item", 9*3420426cSMatt Spinler "property": { "name": "Present" } 10*3420426cSMatt Spinler } 11*3420426cSMatt Spinler ], 12*3420426cSMatt Spinler "triggers": [ 13*3420426cSMatt Spinler { 14*3420426cSMatt Spinler "class": "init", 15*3420426cSMatt Spinler "method": "get_properties" 16*3420426cSMatt Spinler }, 17*3420426cSMatt Spinler { 18*3420426cSMatt Spinler "class": "signal", 19*3420426cSMatt Spinler "signal": "properties_changed" 20*3420426cSMatt Spinler } 21*3420426cSMatt Spinler ], 22*3420426cSMatt Spinler "actions": [ 23*3420426cSMatt Spinler { 24*3420426cSMatt Spinler "name": "count_state_before_target", 25*3420426cSMatt Spinler "count": 1, 26*3420426cSMatt Spinler "state": false, 27*3420426cSMatt Spinler "target": 18000 28*3420426cSMatt Spinler } 29*3420426cSMatt Spinler ] 30*3420426cSMatt Spinler }, 31*3420426cSMatt Spinler { 32*3420426cSMatt Spinler // Hold fans at the given target when a number of rotors are nonfunctional. 33*3420426cSMatt Spinler "name": "fan rotor(s) faulted", 34*3420426cSMatt Spinler "groups": [ 35*3420426cSMatt Spinler { 36*3420426cSMatt Spinler "name": "fan0 rotor inventory", 37*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 38*3420426cSMatt Spinler "property": { "name": "Functional" } 39*3420426cSMatt Spinler }, 40*3420426cSMatt Spinler { 41*3420426cSMatt Spinler "name": "fan1 rotor inventory", 42*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 43*3420426cSMatt Spinler "property": { "name": "Functional" } 44*3420426cSMatt Spinler }, 45*3420426cSMatt Spinler { 46*3420426cSMatt Spinler "name": "fan2 rotor inventory", 47*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 48*3420426cSMatt Spinler "property": { "name": "Functional" } 49*3420426cSMatt Spinler }, 50*3420426cSMatt Spinler { 51*3420426cSMatt Spinler "name": "fan3 rotor inventory", 52*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 53*3420426cSMatt Spinler "property": { "name": "Functional" } 54*3420426cSMatt Spinler }, 55*3420426cSMatt Spinler { 56*3420426cSMatt Spinler "name": "fan4 rotor inventory", 57*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 58*3420426cSMatt Spinler "property": { "name": "Functional" } 59*3420426cSMatt Spinler }, 60*3420426cSMatt Spinler { 61*3420426cSMatt Spinler "name": "fan5 rotor inventory", 62*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 63*3420426cSMatt Spinler "property": { "name": "Functional" } 64*3420426cSMatt Spinler } 65*3420426cSMatt Spinler ], 66*3420426cSMatt Spinler "triggers": [ 67*3420426cSMatt Spinler { 68*3420426cSMatt Spinler "class": "init", 69*3420426cSMatt Spinler "method": "get_properties" 70*3420426cSMatt Spinler }, 71*3420426cSMatt Spinler { 72*3420426cSMatt Spinler "class": "signal", 73*3420426cSMatt Spinler "signal": "properties_changed" 74*3420426cSMatt Spinler } 75*3420426cSMatt Spinler ], 76*3420426cSMatt Spinler "actions": [ 77*3420426cSMatt Spinler { 78*3420426cSMatt Spinler "name": "count_state_before_target", 79*3420426cSMatt Spinler "count": 1, 80*3420426cSMatt Spinler "state": false, 81*3420426cSMatt Spinler "target": 18000 82*3420426cSMatt Spinler } 83*3420426cSMatt Spinler ] 84*3420426cSMatt Spinler }, 85*3420426cSMatt Spinler { 86*3420426cSMatt Spinler // (for the following 6 rules) 87*3420426cSMatt Spinler // if a dual-rotor fan becomes non-functional, lock its speed to 88*3420426cSMatt Spinler // poweron_target to lock the other rotor to full_speed 89*3420426cSMatt Spinler "name": "nonfunc rotor override-0", 90*3420426cSMatt Spinler "groups": [ 91*3420426cSMatt Spinler { 92*3420426cSMatt Spinler "name": "fan0 rotor inventory", 93*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 94*3420426cSMatt Spinler "property": { "name": "Functional" } 95*3420426cSMatt Spinler } 96*3420426cSMatt Spinler ], 97*3420426cSMatt Spinler "triggers": [ 98*3420426cSMatt Spinler { 99*3420426cSMatt Spinler "class": "init", 100*3420426cSMatt Spinler "method": "get_properties" 101*3420426cSMatt Spinler }, 102*3420426cSMatt Spinler { 103*3420426cSMatt Spinler "class": "signal", 104*3420426cSMatt Spinler "signal": "properties_changed" 105*3420426cSMatt Spinler } 106*3420426cSMatt Spinler ], 107*3420426cSMatt Spinler "actions": [ 108*3420426cSMatt Spinler { 109*3420426cSMatt Spinler "name": "override_fan_target", 110*3420426cSMatt Spinler "count": 1, 111*3420426cSMatt Spinler "state": false, 112*3420426cSMatt Spinler "fans": ["fan0"], 113*3420426cSMatt Spinler "target": 18000 114*3420426cSMatt Spinler } 115*3420426cSMatt Spinler ] 116*3420426cSMatt Spinler }, 117*3420426cSMatt Spinler { 118*3420426cSMatt Spinler "name": "nonfunc rotor override-1", 119*3420426cSMatt Spinler "groups": [ 120*3420426cSMatt Spinler { 121*3420426cSMatt Spinler "name": "fan1 rotor inventory", 122*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 123*3420426cSMatt Spinler "property": { "name": "Functional" } 124*3420426cSMatt Spinler } 125*3420426cSMatt Spinler ], 126*3420426cSMatt Spinler "triggers": [ 127*3420426cSMatt Spinler { 128*3420426cSMatt Spinler "class": "init", 129*3420426cSMatt Spinler "method": "get_properties" 130*3420426cSMatt Spinler }, 131*3420426cSMatt Spinler { 132*3420426cSMatt Spinler "class": "signal", 133*3420426cSMatt Spinler "signal": "properties_changed" 134*3420426cSMatt Spinler } 135*3420426cSMatt Spinler ], 136*3420426cSMatt Spinler "actions": [ 137*3420426cSMatt Spinler { 138*3420426cSMatt Spinler "name": "override_fan_target", 139*3420426cSMatt Spinler "count": 1, 140*3420426cSMatt Spinler "state": false, 141*3420426cSMatt Spinler "fans": ["fan1"], 142*3420426cSMatt Spinler "target": 18000 143*3420426cSMatt Spinler } 144*3420426cSMatt Spinler ] 145*3420426cSMatt Spinler }, 146*3420426cSMatt Spinler { 147*3420426cSMatt Spinler "name": "nonfunc rotor override-2", 148*3420426cSMatt Spinler "groups": [ 149*3420426cSMatt Spinler { 150*3420426cSMatt Spinler "name": "fan2 rotor inventory", 151*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 152*3420426cSMatt Spinler "property": { "name": "Functional" } 153*3420426cSMatt Spinler } 154*3420426cSMatt Spinler ], 155*3420426cSMatt Spinler "triggers": [ 156*3420426cSMatt Spinler { 157*3420426cSMatt Spinler "class": "init", 158*3420426cSMatt Spinler "method": "get_properties" 159*3420426cSMatt Spinler }, 160*3420426cSMatt Spinler { 161*3420426cSMatt Spinler "class": "signal", 162*3420426cSMatt Spinler "signal": "properties_changed" 163*3420426cSMatt Spinler } 164*3420426cSMatt Spinler ], 165*3420426cSMatt Spinler "actions": [ 166*3420426cSMatt Spinler { 167*3420426cSMatt Spinler "name": "override_fan_target", 168*3420426cSMatt Spinler "count": 1, 169*3420426cSMatt Spinler "state": false, 170*3420426cSMatt Spinler "fans": ["fan2"], 171*3420426cSMatt Spinler "target": 18000 172*3420426cSMatt Spinler } 173*3420426cSMatt Spinler ] 174*3420426cSMatt Spinler }, 175*3420426cSMatt Spinler { 176*3420426cSMatt Spinler "name": "nonfunc rotor override-3", 177*3420426cSMatt Spinler "groups": [ 178*3420426cSMatt Spinler { 179*3420426cSMatt Spinler "name": "fan3 rotor inventory", 180*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 181*3420426cSMatt Spinler "property": { "name": "Functional" } 182*3420426cSMatt Spinler } 183*3420426cSMatt Spinler ], 184*3420426cSMatt Spinler "triggers": [ 185*3420426cSMatt Spinler { 186*3420426cSMatt Spinler "class": "init", 187*3420426cSMatt Spinler "method": "get_properties" 188*3420426cSMatt Spinler }, 189*3420426cSMatt Spinler { 190*3420426cSMatt Spinler "class": "signal", 191*3420426cSMatt Spinler "signal": "properties_changed" 192*3420426cSMatt Spinler } 193*3420426cSMatt Spinler ], 194*3420426cSMatt Spinler "actions": [ 195*3420426cSMatt Spinler { 196*3420426cSMatt Spinler "name": "override_fan_target", 197*3420426cSMatt Spinler "count": 1, 198*3420426cSMatt Spinler "state": false, 199*3420426cSMatt Spinler "fans": ["fan3"], 200*3420426cSMatt Spinler "target": 18000 201*3420426cSMatt Spinler } 202*3420426cSMatt Spinler ] 203*3420426cSMatt Spinler }, 204*3420426cSMatt Spinler { 205*3420426cSMatt Spinler "name": "nonfunc rotor override-4", 206*3420426cSMatt Spinler "groups": [ 207*3420426cSMatt Spinler { 208*3420426cSMatt Spinler "name": "fan4 rotor inventory", 209*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 210*3420426cSMatt Spinler "property": { "name": "Functional" } 211*3420426cSMatt Spinler } 212*3420426cSMatt Spinler ], 213*3420426cSMatt Spinler "triggers": [ 214*3420426cSMatt Spinler { 215*3420426cSMatt Spinler "class": "init", 216*3420426cSMatt Spinler "method": "get_properties" 217*3420426cSMatt Spinler }, 218*3420426cSMatt Spinler { 219*3420426cSMatt Spinler "class": "signal", 220*3420426cSMatt Spinler "signal": "properties_changed" 221*3420426cSMatt Spinler } 222*3420426cSMatt Spinler ], 223*3420426cSMatt Spinler "actions": [ 224*3420426cSMatt Spinler { 225*3420426cSMatt Spinler "name": "override_fan_target", 226*3420426cSMatt Spinler "count": 1, 227*3420426cSMatt Spinler "state": false, 228*3420426cSMatt Spinler "fans": ["fan4"], 229*3420426cSMatt Spinler "target": 18000 230*3420426cSMatt Spinler } 231*3420426cSMatt Spinler ] 232*3420426cSMatt Spinler }, 233*3420426cSMatt Spinler { 234*3420426cSMatt Spinler "name": "nonfunc rotor override-5", 235*3420426cSMatt Spinler "groups": [ 236*3420426cSMatt Spinler { 237*3420426cSMatt Spinler "name": "fan5 rotor inventory", 238*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 239*3420426cSMatt Spinler "property": { "name": "Functional" } 240*3420426cSMatt Spinler } 241*3420426cSMatt Spinler ], 242*3420426cSMatt Spinler "triggers": [ 243*3420426cSMatt Spinler { 244*3420426cSMatt Spinler "class": "init", 245*3420426cSMatt Spinler "method": "get_properties" 246*3420426cSMatt Spinler }, 247*3420426cSMatt Spinler { 248*3420426cSMatt Spinler "class": "signal", 249*3420426cSMatt Spinler "signal": "properties_changed" 250*3420426cSMatt Spinler } 251*3420426cSMatt Spinler ], 252*3420426cSMatt Spinler "actions": [ 253*3420426cSMatt Spinler { 254*3420426cSMatt Spinler "name": "override_fan_target", 255*3420426cSMatt Spinler "count": 1, 256*3420426cSMatt Spinler "state": false, 257*3420426cSMatt Spinler "fans": ["fan5"], 258*3420426cSMatt Spinler "target": 18000 259*3420426cSMatt Spinler } 260*3420426cSMatt Spinler ] 261*3420426cSMatt Spinler }, 262*3420426cSMatt Spinler { 263*3420426cSMatt Spinler // Hold fans at the given target when any critical service 264*3420426cSMatt Spinler // is not running for 5 seconds. 265*3420426cSMatt Spinler "name": "service(s) missing", 266*3420426cSMatt Spinler "groups": [ 267*3420426cSMatt Spinler { 268*3420426cSMatt Spinler "name": "fan inventory", 269*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item", 270*3420426cSMatt Spinler "property": { "name": "Present" } 271*3420426cSMatt Spinler }, 272*3420426cSMatt Spinler { 273*3420426cSMatt Spinler "name": "occ objects", 274*3420426cSMatt Spinler "interface": "org.open_power.OCC.Status", 275*3420426cSMatt Spinler "property": { "name": "OccActive" } 276*3420426cSMatt Spinler }, 277*3420426cSMatt Spinler { 278*3420426cSMatt Spinler "name": "nvme temps", 279*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 280*3420426cSMatt Spinler "property": { "name": "Value" } 281*3420426cSMatt Spinler }, 282*3420426cSMatt Spinler { 283*3420426cSMatt Spinler "name": "planar temps", 284*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 285*3420426cSMatt Spinler "property": { "name": "Value" } 286*3420426cSMatt Spinler }, 287*3420426cSMatt Spinler { 288*3420426cSMatt Spinler "name": "flett temps", 289*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 290*3420426cSMatt Spinler "property": { "name": "Value" } 291*3420426cSMatt Spinler }, 292*3420426cSMatt Spinler { 293*3420426cSMatt Spinler "name": "pcie cable card temps", 294*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 295*3420426cSMatt Spinler "property": { "name": "Value" } 296*3420426cSMatt Spinler }, 297*3420426cSMatt Spinler { 298*3420426cSMatt Spinler "name": "ambient temp", 299*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 300*3420426cSMatt Spinler "property": { "name": "Value" } 301*3420426cSMatt Spinler }, 302*3420426cSMatt Spinler { 303*3420426cSMatt Spinler "name": "altitude", 304*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 305*3420426cSMatt Spinler "property": { "name": "Value" } 306*3420426cSMatt Spinler } 307*3420426cSMatt Spinler ], 308*3420426cSMatt Spinler "triggers": [ 309*3420426cSMatt Spinler { 310*3420426cSMatt Spinler "class": "init", 311*3420426cSMatt Spinler "method": "name_has_owner" 312*3420426cSMatt Spinler }, 313*3420426cSMatt Spinler { 314*3420426cSMatt Spinler "class": "signal", 315*3420426cSMatt Spinler "signal": "name_owner_changed" 316*3420426cSMatt Spinler } 317*3420426cSMatt Spinler ], 318*3420426cSMatt Spinler "actions": [ 319*3420426cSMatt Spinler { 320*3420426cSMatt Spinler "name": "call_actions_based_on_timer", 321*3420426cSMatt Spinler "timer": { 322*3420426cSMatt Spinler "interval": 5000000, 323*3420426cSMatt Spinler "type": "oneshot" 324*3420426cSMatt Spinler }, 325*3420426cSMatt Spinler "actions": [ 326*3420426cSMatt Spinler { 327*3420426cSMatt Spinler "name": "set_target_on_missing_owner", 328*3420426cSMatt Spinler "groups": [ 329*3420426cSMatt Spinler { 330*3420426cSMatt Spinler "name": "fan inventory", 331*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item", 332*3420426cSMatt Spinler "property": { "name": "Present" } 333*3420426cSMatt Spinler }, 334*3420426cSMatt Spinler { 335*3420426cSMatt Spinler "name": "occ objects", 336*3420426cSMatt Spinler "interface": "org.open_power.OCC.Status", 337*3420426cSMatt Spinler "property": { "name": "OccActive" } 338*3420426cSMatt Spinler }, 339*3420426cSMatt Spinler { 340*3420426cSMatt Spinler "name": "nvme temps", 341*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 342*3420426cSMatt Spinler "property": { "name": "Value" } 343*3420426cSMatt Spinler }, 344*3420426cSMatt Spinler { 345*3420426cSMatt Spinler "name": "planar temps", 346*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 347*3420426cSMatt Spinler "property": { "name": "Value" } 348*3420426cSMatt Spinler }, 349*3420426cSMatt Spinler { 350*3420426cSMatt Spinler "name": "flett temps", 351*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 352*3420426cSMatt Spinler "property": { "name": "Value" } 353*3420426cSMatt Spinler }, 354*3420426cSMatt Spinler { 355*3420426cSMatt Spinler "name": "pcie cable card temps", 356*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 357*3420426cSMatt Spinler "property": { "name": "Value" } 358*3420426cSMatt Spinler }, 359*3420426cSMatt Spinler { 360*3420426cSMatt Spinler "name": "ambient temp", 361*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 362*3420426cSMatt Spinler "property": { "name": "Value" } 363*3420426cSMatt Spinler } 364*3420426cSMatt Spinler ], 365*3420426cSMatt Spinler "target": 18000 366*3420426cSMatt Spinler } 367*3420426cSMatt Spinler ] 368*3420426cSMatt Spinler } 369*3420426cSMatt Spinler ] 370*3420426cSMatt Spinler }, 371*3420426cSMatt Spinler { 372*3420426cSMatt Spinler // Set a fan floor if an OCC isn't active 373*3420426cSMatt Spinler "name": "Non-active OCCs", 374*3420426cSMatt Spinler "groups": [ 375*3420426cSMatt Spinler { 376*3420426cSMatt Spinler "name": "occ objects", 377*3420426cSMatt Spinler "interface": "org.open_power.OCC.Status", 378*3420426cSMatt Spinler "property": { 379*3420426cSMatt Spinler "name": "OccActive" 380*3420426cSMatt Spinler } 381*3420426cSMatt Spinler } 382*3420426cSMatt Spinler ], 383*3420426cSMatt Spinler "triggers": [ 384*3420426cSMatt Spinler { 385*3420426cSMatt Spinler "class": "signal", 386*3420426cSMatt Spinler "signal": "properties_changed" 387*3420426cSMatt Spinler }, 388*3420426cSMatt Spinler { 389*3420426cSMatt Spinler "class": "signal", 390*3420426cSMatt Spinler "signal": "interfaces_added" 391*3420426cSMatt Spinler }, 392*3420426cSMatt Spinler { 393*3420426cSMatt Spinler "class": "init", 394*3420426cSMatt Spinler "method": "get_properties" 395*3420426cSMatt Spinler } 396*3420426cSMatt Spinler ], 397*3420426cSMatt Spinler "actions": [ 398*3420426cSMatt Spinler { 399*3420426cSMatt Spinler "name": "count_state_floor", 400*3420426cSMatt Spinler "count": 1, 401*3420426cSMatt Spinler "state": false, 402*3420426cSMatt Spinler "floor": 18000 403*3420426cSMatt Spinler } 404*3420426cSMatt Spinler ] 405*3420426cSMatt Spinler }, 406*3420426cSMatt Spinler { 407*3420426cSMatt Spinler // Set a raised fan floor when any temperature or altitude sensor is 408*3420426cSMatt Spinler // nonfunctional 409*3420426cSMatt Spinler "name": "Nonfunctional temperature sensors", 410*3420426cSMatt Spinler "groups": [ 411*3420426cSMatt Spinler { 412*3420426cSMatt Spinler "name": "proc0 core temps", 413*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 414*3420426cSMatt Spinler "property": { "name": "Functional" } 415*3420426cSMatt Spinler }, 416*3420426cSMatt Spinler { 417*3420426cSMatt Spinler "name": "proc1 core temps", 418*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 419*3420426cSMatt Spinler "property": { "name": "Functional" } 420*3420426cSMatt Spinler }, 421*3420426cSMatt Spinler { 422*3420426cSMatt Spinler "name": "proc2 core temps", 423*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 424*3420426cSMatt Spinler "property": { "name": "Functional" } 425*3420426cSMatt Spinler }, 426*3420426cSMatt Spinler { 427*3420426cSMatt Spinler "name": "proc3 core temps", 428*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 429*3420426cSMatt Spinler "property": { "name": "Functional" } 430*3420426cSMatt Spinler }, 431*3420426cSMatt Spinler { 432*3420426cSMatt Spinler "name": "proc0 ioring temp", 433*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 434*3420426cSMatt Spinler "property": { "name": "Functional" } 435*3420426cSMatt Spinler }, 436*3420426cSMatt Spinler { 437*3420426cSMatt Spinler "name": "proc1 ioring temp", 438*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 439*3420426cSMatt Spinler "property": { "name": "Functional" } 440*3420426cSMatt Spinler }, 441*3420426cSMatt Spinler { 442*3420426cSMatt Spinler "name": "proc2 ioring temp", 443*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 444*3420426cSMatt Spinler "property": { "name": "Functional" } 445*3420426cSMatt Spinler }, 446*3420426cSMatt Spinler { 447*3420426cSMatt Spinler "name": "proc3 ioring temp", 448*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 449*3420426cSMatt Spinler "property": { "name": "Functional" } 450*3420426cSMatt Spinler }, 451*3420426cSMatt Spinler { 452*3420426cSMatt Spinler "name": "dram temps", 453*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 454*3420426cSMatt Spinler "property": { "name": "Functional" } 455*3420426cSMatt Spinler }, 456*3420426cSMatt Spinler { 457*3420426cSMatt Spinler "name": "pmic temps", 458*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 459*3420426cSMatt Spinler "property": { "name": "Functional" } 460*3420426cSMatt Spinler }, 461*3420426cSMatt Spinler { 462*3420426cSMatt Spinler "name": "internal memory buffer temps", 463*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 464*3420426cSMatt Spinler "property": { "name": "Functional" } 465*3420426cSMatt Spinler }, 466*3420426cSMatt Spinler { 467*3420426cSMatt Spinler "name": "dram and external memory buffer temps", 468*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 469*3420426cSMatt Spinler "property": { "name": "Functional" } 470*3420426cSMatt Spinler }, 471*3420426cSMatt Spinler { 472*3420426cSMatt Spinler "name": "external memory buffer temps", 473*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 474*3420426cSMatt Spinler "property": { "name": "Functional" } 475*3420426cSMatt Spinler }, 476*3420426cSMatt Spinler { 477*3420426cSMatt Spinler "name": "vdd vrm temps", 478*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 479*3420426cSMatt Spinler "property": { "name": "Functional" } 480*3420426cSMatt Spinler }, 481*3420426cSMatt Spinler { 482*3420426cSMatt Spinler "name": "nvme temps", 483*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 484*3420426cSMatt Spinler "property": { "name": "Functional" } 485*3420426cSMatt Spinler }, 486*3420426cSMatt Spinler { 487*3420426cSMatt Spinler "name": "planar temps", 488*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 489*3420426cSMatt Spinler "property": { "name": "Functional" } 490*3420426cSMatt Spinler }, 491*3420426cSMatt Spinler { 492*3420426cSMatt Spinler "name": "flett temps", 493*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 494*3420426cSMatt Spinler "property": { "name": "Functional" } 495*3420426cSMatt Spinler }, 496*3420426cSMatt Spinler { 497*3420426cSMatt Spinler "name": "pcie cable card temps", 498*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 499*3420426cSMatt Spinler "property": { "name": "Functional" } 500*3420426cSMatt Spinler }, 501*3420426cSMatt Spinler { 502*3420426cSMatt Spinler "name": "ambient temp", 503*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 504*3420426cSMatt Spinler "property": { "name": "Functional" } 505*3420426cSMatt Spinler }, 506*3420426cSMatt Spinler { 507*3420426cSMatt Spinler "name": "altitude", 508*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 509*3420426cSMatt Spinler "property": { "name": "Functional" } 510*3420426cSMatt Spinler } 511*3420426cSMatt Spinler ], 512*3420426cSMatt Spinler "triggers": [ 513*3420426cSMatt Spinler { 514*3420426cSMatt Spinler "class": "signal", 515*3420426cSMatt Spinler "signal": "properties_changed" 516*3420426cSMatt Spinler }, 517*3420426cSMatt Spinler { 518*3420426cSMatt Spinler "class": "signal", 519*3420426cSMatt Spinler "signal": "interfaces_added" 520*3420426cSMatt Spinler }, 521*3420426cSMatt Spinler { 522*3420426cSMatt Spinler "class": "signal", 523*3420426cSMatt Spinler "signal": "interfaces_removed" 524*3420426cSMatt Spinler }, 525*3420426cSMatt Spinler { 526*3420426cSMatt Spinler "class": "init", 527*3420426cSMatt Spinler "method": "get_properties" 528*3420426cSMatt Spinler } 529*3420426cSMatt Spinler ], 530*3420426cSMatt Spinler "actions": [ 531*3420426cSMatt Spinler { 532*3420426cSMatt Spinler "name": "count_state_floor", 533*3420426cSMatt Spinler "count": 1, 534*3420426cSMatt Spinler "state": false, 535*3420426cSMatt Spinler "floor": 18000 536*3420426cSMatt Spinler } 537*3420426cSMatt Spinler ] 538*3420426cSMatt Spinler }, 539*3420426cSMatt Spinler { 540*3420426cSMatt Spinler "name": "Set Proc 0 Core DVFS parameter", 541*3420426cSMatt Spinler "groups": [ 542*3420426cSMatt Spinler { 543*3420426cSMatt Spinler "name": "proc 0 core dvfs temp", 544*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 545*3420426cSMatt Spinler "property": { "name": "Value" } 546*3420426cSMatt Spinler } 547*3420426cSMatt Spinler ], 548*3420426cSMatt Spinler "triggers": [ 549*3420426cSMatt Spinler { 550*3420426cSMatt Spinler "class": "init", 551*3420426cSMatt Spinler "method": "get_properties" 552*3420426cSMatt Spinler }, 553*3420426cSMatt Spinler { 554*3420426cSMatt Spinler "class": "signal", 555*3420426cSMatt Spinler "signal": "interfaces_added" 556*3420426cSMatt Spinler }, 557*3420426cSMatt Spinler { 558*3420426cSMatt Spinler "class": "signal", 559*3420426cSMatt Spinler "signal": "properties_changed" 560*3420426cSMatt Spinler } 561*3420426cSMatt Spinler ], 562*3420426cSMatt Spinler "actions": [ 563*3420426cSMatt Spinler { 564*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 565*3420426cSMatt Spinler "parameter_name": "proc_0_core_dvfs_increase_temp", 566*3420426cSMatt Spinler "modifier": { 567*3420426cSMatt Spinler "operator": "minus", 568*3420426cSMatt Spinler "value": 10 569*3420426cSMatt Spinler } 570*3420426cSMatt Spinler }, 571*3420426cSMatt Spinler { 572*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 573*3420426cSMatt Spinler "parameter_name": "proc_0_core_dvfs_decrease_temp", 574*3420426cSMatt Spinler "modifier": { 575*3420426cSMatt Spinler "operator": "minus", 576*3420426cSMatt Spinler "value": 13 577*3420426cSMatt Spinler } 578*3420426cSMatt Spinler } 579*3420426cSMatt Spinler ] 580*3420426cSMatt Spinler }, 581*3420426cSMatt Spinler { 582*3420426cSMatt Spinler "name": "Set Proc 1 Core DVFS parameter", 583*3420426cSMatt Spinler "groups": [ 584*3420426cSMatt Spinler { 585*3420426cSMatt Spinler "name": "proc 1 core dvfs temp", 586*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 587*3420426cSMatt Spinler "property": { "name": "Value" } 588*3420426cSMatt Spinler } 589*3420426cSMatt Spinler ], 590*3420426cSMatt Spinler "triggers": [ 591*3420426cSMatt Spinler { 592*3420426cSMatt Spinler "class": "init", 593*3420426cSMatt Spinler "method": "get_properties" 594*3420426cSMatt Spinler }, 595*3420426cSMatt Spinler { 596*3420426cSMatt Spinler "class": "signal", 597*3420426cSMatt Spinler "signal": "interfaces_added" 598*3420426cSMatt Spinler }, 599*3420426cSMatt Spinler { 600*3420426cSMatt Spinler "class": "signal", 601*3420426cSMatt Spinler "signal": "properties_changed" 602*3420426cSMatt Spinler } 603*3420426cSMatt Spinler ], 604*3420426cSMatt Spinler "actions": [ 605*3420426cSMatt Spinler { 606*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 607*3420426cSMatt Spinler "parameter_name": "proc_1_core_dvfs_increase_temp", 608*3420426cSMatt Spinler "modifier": { 609*3420426cSMatt Spinler "operator": "minus", 610*3420426cSMatt Spinler "value": 10 611*3420426cSMatt Spinler } 612*3420426cSMatt Spinler }, 613*3420426cSMatt Spinler { 614*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 615*3420426cSMatt Spinler "parameter_name": "proc_1_core_dvfs_decrease_temp", 616*3420426cSMatt Spinler "modifier": { 617*3420426cSMatt Spinler "operator": "minus", 618*3420426cSMatt Spinler "value": 13 619*3420426cSMatt Spinler } 620*3420426cSMatt Spinler } 621*3420426cSMatt Spinler ] 622*3420426cSMatt Spinler }, 623*3420426cSMatt Spinler { 624*3420426cSMatt Spinler "name": "Set Proc 2 Core DVFS parameter", 625*3420426cSMatt Spinler "groups": [ 626*3420426cSMatt Spinler { 627*3420426cSMatt Spinler "name": "proc 2 core dvfs temp", 628*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 629*3420426cSMatt Spinler "property": { "name": "Value" } 630*3420426cSMatt Spinler } 631*3420426cSMatt Spinler ], 632*3420426cSMatt Spinler "triggers": [ 633*3420426cSMatt Spinler { 634*3420426cSMatt Spinler "class": "init", 635*3420426cSMatt Spinler "method": "get_properties" 636*3420426cSMatt Spinler }, 637*3420426cSMatt Spinler { 638*3420426cSMatt Spinler "class": "signal", 639*3420426cSMatt Spinler "signal": "interfaces_added" 640*3420426cSMatt Spinler }, 641*3420426cSMatt Spinler { 642*3420426cSMatt Spinler "class": "signal", 643*3420426cSMatt Spinler "signal": "properties_changed" 644*3420426cSMatt Spinler } 645*3420426cSMatt Spinler ], 646*3420426cSMatt Spinler "actions": [ 647*3420426cSMatt Spinler { 648*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 649*3420426cSMatt Spinler "parameter_name": "proc_2_core_dvfs_increase_temp", 650*3420426cSMatt Spinler "modifier": { 651*3420426cSMatt Spinler "operator": "minus", 652*3420426cSMatt Spinler "value": 10 653*3420426cSMatt Spinler } 654*3420426cSMatt Spinler }, 655*3420426cSMatt Spinler { 656*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 657*3420426cSMatt Spinler "parameter_name": "proc_2_core_dvfs_decrease_temp", 658*3420426cSMatt Spinler "modifier": { 659*3420426cSMatt Spinler "operator": "minus", 660*3420426cSMatt Spinler "value": 13 661*3420426cSMatt Spinler } 662*3420426cSMatt Spinler } 663*3420426cSMatt Spinler ] 664*3420426cSMatt Spinler }, 665*3420426cSMatt Spinler { 666*3420426cSMatt Spinler "name": "Set Proc 3 Core DVFS parameter", 667*3420426cSMatt Spinler "groups": [ 668*3420426cSMatt Spinler { 669*3420426cSMatt Spinler "name": "proc 3 core dvfs temp", 670*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 671*3420426cSMatt Spinler "property": { "name": "Value" } 672*3420426cSMatt Spinler } 673*3420426cSMatt Spinler ], 674*3420426cSMatt Spinler "triggers": [ 675*3420426cSMatt Spinler { 676*3420426cSMatt Spinler "class": "init", 677*3420426cSMatt Spinler "method": "get_properties" 678*3420426cSMatt Spinler }, 679*3420426cSMatt Spinler { 680*3420426cSMatt Spinler "class": "signal", 681*3420426cSMatt Spinler "signal": "interfaces_added" 682*3420426cSMatt Spinler }, 683*3420426cSMatt Spinler { 684*3420426cSMatt Spinler "class": "signal", 685*3420426cSMatt Spinler "signal": "properties_changed" 686*3420426cSMatt Spinler } 687*3420426cSMatt Spinler ], 688*3420426cSMatt Spinler "actions": [ 689*3420426cSMatt Spinler { 690*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 691*3420426cSMatt Spinler "parameter_name": "proc_3_core_dvfs_increase_temp", 692*3420426cSMatt Spinler "modifier": { 693*3420426cSMatt Spinler "operator": "minus", 694*3420426cSMatt Spinler "value": 10 695*3420426cSMatt Spinler } 696*3420426cSMatt Spinler }, 697*3420426cSMatt Spinler { 698*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 699*3420426cSMatt Spinler "parameter_name": "proc_3_core_dvfs_decrease_temp", 700*3420426cSMatt Spinler "modifier": { 701*3420426cSMatt Spinler "operator": "minus", 702*3420426cSMatt Spinler "value": 13 703*3420426cSMatt Spinler } 704*3420426cSMatt Spinler } 705*3420426cSMatt Spinler ] 706*3420426cSMatt Spinler }, 707*3420426cSMatt Spinler { 708*3420426cSMatt Spinler "name": "Set Proc 0 IO Ring DVFS parameter", 709*3420426cSMatt Spinler "groups": [ 710*3420426cSMatt Spinler { 711*3420426cSMatt Spinler "name": "proc 0 ioring dvfs temp", 712*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 713*3420426cSMatt Spinler "property": { "name": "Value" } 714*3420426cSMatt Spinler } 715*3420426cSMatt Spinler ], 716*3420426cSMatt Spinler "triggers": [ 717*3420426cSMatt Spinler { 718*3420426cSMatt Spinler "class": "init", 719*3420426cSMatt Spinler "method": "get_properties" 720*3420426cSMatt Spinler }, 721*3420426cSMatt Spinler { 722*3420426cSMatt Spinler "class": "signal", 723*3420426cSMatt Spinler "signal": "interfaces_added" 724*3420426cSMatt Spinler }, 725*3420426cSMatt Spinler { 726*3420426cSMatt Spinler "class": "signal", 727*3420426cSMatt Spinler "signal": "properties_changed" 728*3420426cSMatt Spinler } 729*3420426cSMatt Spinler ], 730*3420426cSMatt Spinler "actions": [ 731*3420426cSMatt Spinler { 732*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 733*3420426cSMatt Spinler "parameter_name": "proc_0_ioring_dvfs_increase_temp", 734*3420426cSMatt Spinler "modifier": { 735*3420426cSMatt Spinler "operator": "minus", 736*3420426cSMatt Spinler "value": 10 737*3420426cSMatt Spinler } 738*3420426cSMatt Spinler }, 739*3420426cSMatt Spinler { 740*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 741*3420426cSMatt Spinler "parameter_name": "proc_0_ioring_dvfs_decrease_temp", 742*3420426cSMatt Spinler "modifier": { 743*3420426cSMatt Spinler "operator": "minus", 744*3420426cSMatt Spinler "value": 13 745*3420426cSMatt Spinler } 746*3420426cSMatt Spinler } 747*3420426cSMatt Spinler ] 748*3420426cSMatt Spinler }, 749*3420426cSMatt Spinler { 750*3420426cSMatt Spinler "name": "Set Proc 1 IO Ring DVFS parameter", 751*3420426cSMatt Spinler "groups": [ 752*3420426cSMatt Spinler { 753*3420426cSMatt Spinler "name": "proc 1 ioring dvfs temp", 754*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 755*3420426cSMatt Spinler "property": { "name": "Value" } 756*3420426cSMatt Spinler } 757*3420426cSMatt Spinler ], 758*3420426cSMatt Spinler "triggers": [ 759*3420426cSMatt Spinler { 760*3420426cSMatt Spinler "class": "init", 761*3420426cSMatt Spinler "method": "get_properties" 762*3420426cSMatt Spinler }, 763*3420426cSMatt Spinler { 764*3420426cSMatt Spinler "class": "signal", 765*3420426cSMatt Spinler "signal": "interfaces_added" 766*3420426cSMatt Spinler }, 767*3420426cSMatt Spinler { 768*3420426cSMatt Spinler "class": "signal", 769*3420426cSMatt Spinler "signal": "properties_changed" 770*3420426cSMatt Spinler } 771*3420426cSMatt Spinler ], 772*3420426cSMatt Spinler "actions": [ 773*3420426cSMatt Spinler { 774*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 775*3420426cSMatt Spinler "parameter_name": "proc_1_ioring_dvfs_increase_temp", 776*3420426cSMatt Spinler "modifier": { 777*3420426cSMatt Spinler "operator": "minus", 778*3420426cSMatt Spinler "value": 10 779*3420426cSMatt Spinler } 780*3420426cSMatt Spinler }, 781*3420426cSMatt Spinler { 782*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 783*3420426cSMatt Spinler "parameter_name": "proc_1_ioring_dvfs_decrease_temp", 784*3420426cSMatt Spinler "modifier": { 785*3420426cSMatt Spinler "operator": "minus", 786*3420426cSMatt Spinler "value": 13 787*3420426cSMatt Spinler } 788*3420426cSMatt Spinler } 789*3420426cSMatt Spinler ] 790*3420426cSMatt Spinler }, 791*3420426cSMatt Spinler { 792*3420426cSMatt Spinler "name": "Set Proc 2 IO Ring DVFS parameter", 793*3420426cSMatt Spinler "groups": [ 794*3420426cSMatt Spinler { 795*3420426cSMatt Spinler "name": "proc 2 ioring dvfs temp", 796*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 797*3420426cSMatt Spinler "property": { "name": "Value" } 798*3420426cSMatt Spinler } 799*3420426cSMatt Spinler ], 800*3420426cSMatt Spinler "triggers": [ 801*3420426cSMatt Spinler { 802*3420426cSMatt Spinler "class": "init", 803*3420426cSMatt Spinler "method": "get_properties" 804*3420426cSMatt Spinler }, 805*3420426cSMatt Spinler { 806*3420426cSMatt Spinler "class": "signal", 807*3420426cSMatt Spinler "signal": "interfaces_added" 808*3420426cSMatt Spinler }, 809*3420426cSMatt Spinler { 810*3420426cSMatt Spinler "class": "signal", 811*3420426cSMatt Spinler "signal": "properties_changed" 812*3420426cSMatt Spinler } 813*3420426cSMatt Spinler ], 814*3420426cSMatt Spinler "actions": [ 815*3420426cSMatt Spinler { 816*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 817*3420426cSMatt Spinler "parameter_name": "proc_2_ioring_dvfs_increase_temp", 818*3420426cSMatt Spinler "modifier": { 819*3420426cSMatt Spinler "operator": "minus", 820*3420426cSMatt Spinler "value": 10 821*3420426cSMatt Spinler } 822*3420426cSMatt Spinler }, 823*3420426cSMatt Spinler { 824*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 825*3420426cSMatt Spinler "parameter_name": "proc_2_ioring_dvfs_decrease_temp", 826*3420426cSMatt Spinler "modifier": { 827*3420426cSMatt Spinler "operator": "minus", 828*3420426cSMatt Spinler "value": 13 829*3420426cSMatt Spinler } 830*3420426cSMatt Spinler } 831*3420426cSMatt Spinler ] 832*3420426cSMatt Spinler }, 833*3420426cSMatt Spinler { 834*3420426cSMatt Spinler "name": "Set Proc 3 IO Ring DVFS parameter", 835*3420426cSMatt Spinler "groups": [ 836*3420426cSMatt Spinler { 837*3420426cSMatt Spinler "name": "proc 3 ioring dvfs temp", 838*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 839*3420426cSMatt Spinler "property": { "name": "Value" } 840*3420426cSMatt Spinler } 841*3420426cSMatt Spinler ], 842*3420426cSMatt Spinler "triggers": [ 843*3420426cSMatt Spinler { 844*3420426cSMatt Spinler "class": "init", 845*3420426cSMatt Spinler "method": "get_properties" 846*3420426cSMatt Spinler }, 847*3420426cSMatt Spinler { 848*3420426cSMatt Spinler "class": "signal", 849*3420426cSMatt Spinler "signal": "properties_changed" 850*3420426cSMatt Spinler }, 851*3420426cSMatt Spinler { 852*3420426cSMatt Spinler "class": "signal", 853*3420426cSMatt Spinler "signal": "interfaces_added" 854*3420426cSMatt Spinler } 855*3420426cSMatt Spinler ], 856*3420426cSMatt Spinler "actions": [ 857*3420426cSMatt Spinler { 858*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 859*3420426cSMatt Spinler "parameter_name": "proc_3_ioring_dvfs_increase_temp", 860*3420426cSMatt Spinler "modifier": { 861*3420426cSMatt Spinler "operator": "minus", 862*3420426cSMatt Spinler "value": 10 863*3420426cSMatt Spinler } 864*3420426cSMatt Spinler }, 865*3420426cSMatt Spinler { 866*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 867*3420426cSMatt Spinler "parameter_name": "proc_3_ioring_dvfs_decrease_temp", 868*3420426cSMatt Spinler "modifier": { 869*3420426cSMatt Spinler "operator": "minus", 870*3420426cSMatt Spinler "value": 13 871*3420426cSMatt Spinler } 872*3420426cSMatt Spinler } 873*3420426cSMatt Spinler ] 874*3420426cSMatt Spinler }, 875*3420426cSMatt Spinler { 876*3420426cSMatt Spinler "name": "Set DRAM DVFS parameter", 877*3420426cSMatt Spinler "groups": [ 878*3420426cSMatt Spinler { 879*3420426cSMatt Spinler "name": "dram dvfs temp", 880*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 881*3420426cSMatt Spinler "property": { "name": "Value" } 882*3420426cSMatt Spinler } 883*3420426cSMatt Spinler ], 884*3420426cSMatt Spinler "triggers": [ 885*3420426cSMatt Spinler { 886*3420426cSMatt Spinler "class": "init", 887*3420426cSMatt Spinler "method": "get_properties" 888*3420426cSMatt Spinler }, 889*3420426cSMatt Spinler { 890*3420426cSMatt Spinler "class": "signal", 891*3420426cSMatt Spinler "signal": "properties_changed" 892*3420426cSMatt Spinler }, 893*3420426cSMatt Spinler { 894*3420426cSMatt Spinler "class": "signal", 895*3420426cSMatt Spinler "signal": "interfaces_added" 896*3420426cSMatt Spinler } 897*3420426cSMatt Spinler ], 898*3420426cSMatt Spinler "actions": [ 899*3420426cSMatt Spinler { 900*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 901*3420426cSMatt Spinler "parameter_name": "dram_dvfs_increase_temp", 902*3420426cSMatt Spinler "modifier": { 903*3420426cSMatt Spinler "operator": "minus", 904*3420426cSMatt Spinler "value": 9 905*3420426cSMatt Spinler } 906*3420426cSMatt Spinler }, 907*3420426cSMatt Spinler { 908*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 909*3420426cSMatt Spinler "parameter_name": "dram_dvfs_decrease_temp", 910*3420426cSMatt Spinler "modifier": { 911*3420426cSMatt Spinler "operator": "minus", 912*3420426cSMatt Spinler "value": 12 913*3420426cSMatt Spinler } 914*3420426cSMatt Spinler } 915*3420426cSMatt Spinler ] 916*3420426cSMatt Spinler }, 917*3420426cSMatt Spinler { 918*3420426cSMatt Spinler "name": "Set PMIC DVFS parameter", 919*3420426cSMatt Spinler "groups": [ 920*3420426cSMatt Spinler { 921*3420426cSMatt Spinler "name": "pmic dvfs temp", 922*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 923*3420426cSMatt Spinler "property": { "name": "Value" } 924*3420426cSMatt Spinler } 925*3420426cSMatt Spinler ], 926*3420426cSMatt Spinler "triggers": [ 927*3420426cSMatt Spinler { 928*3420426cSMatt Spinler "class": "init", 929*3420426cSMatt Spinler "method": "get_properties" 930*3420426cSMatt Spinler }, 931*3420426cSMatt Spinler { 932*3420426cSMatt Spinler "class": "signal", 933*3420426cSMatt Spinler "signal": "properties_changed" 934*3420426cSMatt Spinler }, 935*3420426cSMatt Spinler { 936*3420426cSMatt Spinler "class": "signal", 937*3420426cSMatt Spinler "signal": "interfaces_added" 938*3420426cSMatt Spinler } 939*3420426cSMatt Spinler ], 940*3420426cSMatt Spinler "actions": [ 941*3420426cSMatt Spinler { 942*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 943*3420426cSMatt Spinler "parameter_name": "pmic_dvfs_increase_temp", 944*3420426cSMatt Spinler "modifier": { 945*3420426cSMatt Spinler "operator": "minus", 946*3420426cSMatt Spinler "value": 9 947*3420426cSMatt Spinler } 948*3420426cSMatt Spinler }, 949*3420426cSMatt Spinler { 950*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 951*3420426cSMatt Spinler "parameter_name": "pmic_dvfs_decrease_temp", 952*3420426cSMatt Spinler "modifier": { 953*3420426cSMatt Spinler "operator": "minus", 954*3420426cSMatt Spinler "value": 12 955*3420426cSMatt Spinler } 956*3420426cSMatt Spinler } 957*3420426cSMatt Spinler ] 958*3420426cSMatt Spinler }, 959*3420426cSMatt Spinler { 960*3420426cSMatt Spinler "name": "Set internal memory buffer DVFS parameter", 961*3420426cSMatt Spinler "groups": [ 962*3420426cSMatt Spinler { 963*3420426cSMatt Spinler "name": "internal memory buffer dvfs temp", 964*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 965*3420426cSMatt Spinler "property": { "name": "Value" } 966*3420426cSMatt Spinler } 967*3420426cSMatt Spinler ], 968*3420426cSMatt Spinler "triggers": [ 969*3420426cSMatt Spinler { 970*3420426cSMatt Spinler "class": "init", 971*3420426cSMatt Spinler "method": "get_properties" 972*3420426cSMatt Spinler }, 973*3420426cSMatt Spinler { 974*3420426cSMatt Spinler "class": "signal", 975*3420426cSMatt Spinler "signal": "properties_changed" 976*3420426cSMatt Spinler }, 977*3420426cSMatt Spinler { 978*3420426cSMatt Spinler "class": "signal", 979*3420426cSMatt Spinler "signal": "interfaces_added" 980*3420426cSMatt Spinler } 981*3420426cSMatt Spinler ], 982*3420426cSMatt Spinler "actions": [ 983*3420426cSMatt Spinler { 984*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 985*3420426cSMatt Spinler "parameter_name": "intmb_dvfs_increase_temp", 986*3420426cSMatt Spinler "modifier": { 987*3420426cSMatt Spinler "operator": "minus", 988*3420426cSMatt Spinler "value": 10 989*3420426cSMatt Spinler } 990*3420426cSMatt Spinler }, 991*3420426cSMatt Spinler { 992*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 993*3420426cSMatt Spinler "parameter_name": "intmb_dvfs_decrease_temp", 994*3420426cSMatt Spinler "modifier": { 995*3420426cSMatt Spinler "operator": "minus", 996*3420426cSMatt Spinler "value": 13 997*3420426cSMatt Spinler } 998*3420426cSMatt Spinler } 999*3420426cSMatt Spinler ] 1000*3420426cSMatt Spinler }, 1001*3420426cSMatt Spinler { 1002*3420426cSMatt Spinler "name": "Set DRAM and external memory buffer DVFS parameter", 1003*3420426cSMatt Spinler "groups": [ 1004*3420426cSMatt Spinler { 1005*3420426cSMatt Spinler "name": "dram and external memory buffer dvfs temp", 1006*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1007*3420426cSMatt Spinler "property": { "name": "Value" } 1008*3420426cSMatt Spinler } 1009*3420426cSMatt Spinler ], 1010*3420426cSMatt Spinler "triggers": [ 1011*3420426cSMatt Spinler { 1012*3420426cSMatt Spinler "class": "init", 1013*3420426cSMatt Spinler "method": "get_properties" 1014*3420426cSMatt Spinler }, 1015*3420426cSMatt Spinler { 1016*3420426cSMatt Spinler "class": "signal", 1017*3420426cSMatt Spinler "signal": "properties_changed" 1018*3420426cSMatt Spinler }, 1019*3420426cSMatt Spinler { 1020*3420426cSMatt Spinler "class": "signal", 1021*3420426cSMatt Spinler "signal": "interfaces_added" 1022*3420426cSMatt Spinler } 1023*3420426cSMatt Spinler ], 1024*3420426cSMatt Spinler "actions": [ 1025*3420426cSMatt Spinler { 1026*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1027*3420426cSMatt Spinler "parameter_name": "dram_extmb_dvfs_increase_temp", 1028*3420426cSMatt Spinler "modifier": { 1029*3420426cSMatt Spinler "operator": "minus", 1030*3420426cSMatt Spinler "value": 10 1031*3420426cSMatt Spinler } 1032*3420426cSMatt Spinler }, 1033*3420426cSMatt Spinler { 1034*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1035*3420426cSMatt Spinler "parameter_name": "dram_extmb_dvfs_decrease_temp", 1036*3420426cSMatt Spinler "modifier": { 1037*3420426cSMatt Spinler "operator": "minus", 1038*3420426cSMatt Spinler "value": 13 1039*3420426cSMatt Spinler } 1040*3420426cSMatt Spinler } 1041*3420426cSMatt Spinler ] 1042*3420426cSMatt Spinler }, 1043*3420426cSMatt Spinler { 1044*3420426cSMatt Spinler "name": "Set external memory buffer DVFS parameter", 1045*3420426cSMatt Spinler "groups": [ 1046*3420426cSMatt Spinler { 1047*3420426cSMatt Spinler "name": "external memory buffer dvfs temp", 1048*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1049*3420426cSMatt Spinler "property": { "name": "Value" } 1050*3420426cSMatt Spinler } 1051*3420426cSMatt Spinler ], 1052*3420426cSMatt Spinler "triggers": [ 1053*3420426cSMatt Spinler { 1054*3420426cSMatt Spinler "class": "init", 1055*3420426cSMatt Spinler "method": "get_properties" 1056*3420426cSMatt Spinler }, 1057*3420426cSMatt Spinler { 1058*3420426cSMatt Spinler "class": "signal", 1059*3420426cSMatt Spinler "signal": "properties_changed" 1060*3420426cSMatt Spinler }, 1061*3420426cSMatt Spinler { 1062*3420426cSMatt Spinler "class": "signal", 1063*3420426cSMatt Spinler "signal": "interfaces_added" 1064*3420426cSMatt Spinler } 1065*3420426cSMatt Spinler ], 1066*3420426cSMatt Spinler "actions": [ 1067*3420426cSMatt Spinler { 1068*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1069*3420426cSMatt Spinler "parameter_name": "extmb_dvfs_increase_temp", 1070*3420426cSMatt Spinler "modifier": { 1071*3420426cSMatt Spinler "operator": "minus", 1072*3420426cSMatt Spinler "value": 10 1073*3420426cSMatt Spinler } 1074*3420426cSMatt Spinler }, 1075*3420426cSMatt Spinler { 1076*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1077*3420426cSMatt Spinler "parameter_name": "extmb_dvfs_decrease_temp", 1078*3420426cSMatt Spinler "modifier": { 1079*3420426cSMatt Spinler "operator": "minus", 1080*3420426cSMatt Spinler "value": 13 1081*3420426cSMatt Spinler } 1082*3420426cSMatt Spinler } 1083*3420426cSMatt Spinler ] 1084*3420426cSMatt Spinler }, 1085*3420426cSMatt Spinler { 1086*3420426cSMatt Spinler // Collect group temperatures each iteration the repeating timer expires 1087*3420426cSMatt Spinler "name": "Fan control timer loop", 1088*3420426cSMatt Spinler "groups": [ 1089*3420426cSMatt Spinler { 1090*3420426cSMatt Spinler "name": "proc0 core temps", 1091*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1092*3420426cSMatt Spinler "property": { "name": "Value" } 1093*3420426cSMatt Spinler }, 1094*3420426cSMatt Spinler { 1095*3420426cSMatt Spinler "name": "proc1 core temps", 1096*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1097*3420426cSMatt Spinler "property": { "name": "Value" } 1098*3420426cSMatt Spinler }, 1099*3420426cSMatt Spinler { 1100*3420426cSMatt Spinler "name": "proc2 core temps", 1101*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1102*3420426cSMatt Spinler "property": { "name": "Value" } 1103*3420426cSMatt Spinler }, 1104*3420426cSMatt Spinler { 1105*3420426cSMatt Spinler "name": "proc3 core temps", 1106*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1107*3420426cSMatt Spinler "property": { "name": "Value" } 1108*3420426cSMatt Spinler }, 1109*3420426cSMatt Spinler { 1110*3420426cSMatt Spinler "name": "proc0 ioring temp", 1111*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1112*3420426cSMatt Spinler "property": { "name": "Value" } 1113*3420426cSMatt Spinler }, 1114*3420426cSMatt Spinler { 1115*3420426cSMatt Spinler "name": "proc1 ioring temp", 1116*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1117*3420426cSMatt Spinler "property": { "name": "Value" } 1118*3420426cSMatt Spinler }, 1119*3420426cSMatt Spinler { 1120*3420426cSMatt Spinler "name": "proc2 ioring temp", 1121*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1122*3420426cSMatt Spinler "property": { "name": "Value" } 1123*3420426cSMatt Spinler }, 1124*3420426cSMatt Spinler { 1125*3420426cSMatt Spinler "name": "proc3 ioring temp", 1126*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1127*3420426cSMatt Spinler "property": { "name": "Value" } 1128*3420426cSMatt Spinler }, 1129*3420426cSMatt Spinler { 1130*3420426cSMatt Spinler "name": "dram temps", 1131*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1132*3420426cSMatt Spinler "property": { "name": "Value" } 1133*3420426cSMatt Spinler }, 1134*3420426cSMatt Spinler { 1135*3420426cSMatt Spinler "name": "pmic temps", 1136*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1137*3420426cSMatt Spinler "property": { "name": "Value" } 1138*3420426cSMatt Spinler }, 1139*3420426cSMatt Spinler { 1140*3420426cSMatt Spinler "name": "internal memory buffer temps", 1141*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1142*3420426cSMatt Spinler "property": { "name": "Value" } 1143*3420426cSMatt Spinler }, 1144*3420426cSMatt Spinler { 1145*3420426cSMatt Spinler "name": "dram and external memory buffer temps", 1146*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1147*3420426cSMatt Spinler "property": { "name": "Value" } 1148*3420426cSMatt Spinler }, 1149*3420426cSMatt Spinler { 1150*3420426cSMatt Spinler "name": "external memory buffer temps", 1151*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1152*3420426cSMatt Spinler "property": { "name": "Value" } 1153*3420426cSMatt Spinler }, 1154*3420426cSMatt Spinler { 1155*3420426cSMatt Spinler "name": "vdd vrm temps", 1156*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1157*3420426cSMatt Spinler "property": { "name": "Value" } 1158*3420426cSMatt Spinler }, 1159*3420426cSMatt Spinler { 1160*3420426cSMatt Spinler "name": "nvme temps", 1161*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1162*3420426cSMatt Spinler "property": { "name": "Value" } 1163*3420426cSMatt Spinler }, 1164*3420426cSMatt Spinler { 1165*3420426cSMatt Spinler "name": "planar temps", 1166*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1167*3420426cSMatt Spinler "property": { "name": "Value" } 1168*3420426cSMatt Spinler }, 1169*3420426cSMatt Spinler { 1170*3420426cSMatt Spinler "name": "flett temps", 1171*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1172*3420426cSMatt Spinler "property": { "name": "Value" } 1173*3420426cSMatt Spinler }, 1174*3420426cSMatt Spinler { 1175*3420426cSMatt Spinler "name": "pcie cable card temps", 1176*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1177*3420426cSMatt Spinler "property": { "name": "Value" } 1178*3420426cSMatt Spinler } 1179*3420426cSMatt Spinler ], 1180*3420426cSMatt Spinler "triggers": [ 1181*3420426cSMatt Spinler { 1182*3420426cSMatt Spinler "class": "timer", 1183*3420426cSMatt Spinler "type": "repeating", 1184*3420426cSMatt Spinler "interval": 2000000, 1185*3420426cSMatt Spinler "preload_groups": true 1186*3420426cSMatt Spinler } 1187*3420426cSMatt Spinler ], 1188*3420426cSMatt Spinler "actions": [ 1189*3420426cSMatt Spinler { 1190*3420426cSMatt Spinler "name": "set_net_increase_target", 1191*3420426cSMatt Spinler "groups": [ 1192*3420426cSMatt Spinler { 1193*3420426cSMatt Spinler "name": "proc0 core temps", 1194*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1195*3420426cSMatt Spinler "property": { "name": "Value" } 1196*3420426cSMatt Spinler } 1197*3420426cSMatt Spinler ], 1198*3420426cSMatt Spinler "state_parameter_name": "proc_0_core_dvfs_increase_temp", 1199*3420426cSMatt Spinler "delta": 300 1200*3420426cSMatt Spinler }, 1201*3420426cSMatt Spinler { 1202*3420426cSMatt Spinler "name": "set_net_increase_target", 1203*3420426cSMatt Spinler "groups": [ 1204*3420426cSMatt Spinler { 1205*3420426cSMatt Spinler "name": "proc1 core temps", 1206*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1207*3420426cSMatt Spinler "property": { "name": "Value" } 1208*3420426cSMatt Spinler } 1209*3420426cSMatt Spinler ], 1210*3420426cSMatt Spinler "state_parameter_name": "proc_1_core_dvfs_increase_temp", 1211*3420426cSMatt Spinler "delta": 300 1212*3420426cSMatt Spinler }, 1213*3420426cSMatt Spinler { 1214*3420426cSMatt Spinler "name": "set_net_increase_target", 1215*3420426cSMatt Spinler "groups": [ 1216*3420426cSMatt Spinler { 1217*3420426cSMatt Spinler "name": "proc2 core temps", 1218*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1219*3420426cSMatt Spinler "property": { "name": "Value" } 1220*3420426cSMatt Spinler } 1221*3420426cSMatt Spinler ], 1222*3420426cSMatt Spinler "state_parameter_name": "proc_2_core_dvfs_increase_temp", 1223*3420426cSMatt Spinler "delta": 300 1224*3420426cSMatt Spinler }, 1225*3420426cSMatt Spinler { 1226*3420426cSMatt Spinler "name": "set_net_increase_target", 1227*3420426cSMatt Spinler "groups": [ 1228*3420426cSMatt Spinler { 1229*3420426cSMatt Spinler "name": "proc3 core temps", 1230*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1231*3420426cSMatt Spinler "property": { "name": "Value" } 1232*3420426cSMatt Spinler } 1233*3420426cSMatt Spinler ], 1234*3420426cSMatt Spinler "state_parameter_name": "proc_3_core_dvfs_increase_temp", 1235*3420426cSMatt Spinler "delta": 300 1236*3420426cSMatt Spinler }, 1237*3420426cSMatt Spinler { 1238*3420426cSMatt Spinler "name": "set_net_increase_target", 1239*3420426cSMatt Spinler "groups": [ 1240*3420426cSMatt Spinler { 1241*3420426cSMatt Spinler "name": "proc0 ioring temp", 1242*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1243*3420426cSMatt Spinler "property": { "name": "Value" } 1244*3420426cSMatt Spinler } 1245*3420426cSMatt Spinler ], 1246*3420426cSMatt Spinler "state_parameter_name": "proc_0_ioring_dvfs_increase_temp", 1247*3420426cSMatt Spinler "delta": 300 1248*3420426cSMatt Spinler }, 1249*3420426cSMatt Spinler { 1250*3420426cSMatt Spinler "name": "set_net_increase_target", 1251*3420426cSMatt Spinler "groups": [ 1252*3420426cSMatt Spinler { 1253*3420426cSMatt Spinler "name": "proc1 ioring temp", 1254*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1255*3420426cSMatt Spinler "property": { "name": "Value" } 1256*3420426cSMatt Spinler } 1257*3420426cSMatt Spinler ], 1258*3420426cSMatt Spinler "state_parameter_name": "proc_1_ioring_dvfs_increase_temp", 1259*3420426cSMatt Spinler "delta": 300 1260*3420426cSMatt Spinler }, 1261*3420426cSMatt Spinler { 1262*3420426cSMatt Spinler "name": "set_net_increase_target", 1263*3420426cSMatt Spinler "groups": [ 1264*3420426cSMatt Spinler { 1265*3420426cSMatt Spinler "name": "proc2 ioring temp", 1266*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1267*3420426cSMatt Spinler "property": { "name": "Value" } 1268*3420426cSMatt Spinler } 1269*3420426cSMatt Spinler ], 1270*3420426cSMatt Spinler "state_parameter_name": "proc_2_ioring_dvfs_increase_temp", 1271*3420426cSMatt Spinler "delta": 300 1272*3420426cSMatt Spinler }, 1273*3420426cSMatt Spinler { 1274*3420426cSMatt Spinler "name": "set_net_increase_target", 1275*3420426cSMatt Spinler "groups": [ 1276*3420426cSMatt Spinler { 1277*3420426cSMatt Spinler "name": "proc3 ioring temp", 1278*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1279*3420426cSMatt Spinler "property": { "name": "Value" } 1280*3420426cSMatt Spinler } 1281*3420426cSMatt Spinler ], 1282*3420426cSMatt Spinler "state_parameter_name": "proc_3_ioring_dvfs_increase_temp", 1283*3420426cSMatt Spinler "delta": 300 1284*3420426cSMatt Spinler }, 1285*3420426cSMatt Spinler { 1286*3420426cSMatt Spinler "name": "set_net_increase_target", 1287*3420426cSMatt Spinler "groups": [ 1288*3420426cSMatt Spinler { 1289*3420426cSMatt Spinler "name": "dram temps", 1290*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1291*3420426cSMatt Spinler "property": { "name": "Value" } 1292*3420426cSMatt Spinler } 1293*3420426cSMatt Spinler ], 1294*3420426cSMatt Spinler "state_parameter_name": "dram_dvfs_increase_temp", 1295*3420426cSMatt Spinler "delta": 100 1296*3420426cSMatt Spinler }, 1297*3420426cSMatt Spinler { 1298*3420426cSMatt Spinler "name": "set_net_increase_target", 1299*3420426cSMatt Spinler "groups": [ 1300*3420426cSMatt Spinler { 1301*3420426cSMatt Spinler "name": "pmic temps", 1302*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1303*3420426cSMatt Spinler "property": { "name": "Value" } 1304*3420426cSMatt Spinler } 1305*3420426cSMatt Spinler ], 1306*3420426cSMatt Spinler "state_parameter_name": "pmic_dvfs_increase_temp", 1307*3420426cSMatt Spinler "delta": 100 1308*3420426cSMatt Spinler }, 1309*3420426cSMatt Spinler { 1310*3420426cSMatt Spinler "name": "set_net_increase_target", 1311*3420426cSMatt Spinler "groups": [ 1312*3420426cSMatt Spinler { 1313*3420426cSMatt Spinler "name": "internal memory buffer temps", 1314*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1315*3420426cSMatt Spinler "property": { "name": "Value" } 1316*3420426cSMatt Spinler } 1317*3420426cSMatt Spinler ], 1318*3420426cSMatt Spinler "state_parameter_name": "intmb_dvfs_increase_temp", 1319*3420426cSMatt Spinler "delta": 100 1320*3420426cSMatt Spinler }, 1321*3420426cSMatt Spinler { 1322*3420426cSMatt Spinler "name": "set_net_increase_target", 1323*3420426cSMatt Spinler "groups": [ 1324*3420426cSMatt Spinler { 1325*3420426cSMatt Spinler "name": "dram and external memory buffer temps", 1326*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1327*3420426cSMatt Spinler "property": { "name": "Value" } 1328*3420426cSMatt Spinler } 1329*3420426cSMatt Spinler ], 1330*3420426cSMatt Spinler "state_parameter_name": "dram_extmb_dvfs_increase_temp", 1331*3420426cSMatt Spinler "delta": 200 1332*3420426cSMatt Spinler }, 1333*3420426cSMatt Spinler { 1334*3420426cSMatt Spinler "name": "set_net_increase_target", 1335*3420426cSMatt Spinler "groups": [ 1336*3420426cSMatt Spinler { 1337*3420426cSMatt Spinler "name": "external memory buffer temps", 1338*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1339*3420426cSMatt Spinler "property": { "name": "Value" } 1340*3420426cSMatt Spinler } 1341*3420426cSMatt Spinler ], 1342*3420426cSMatt Spinler "state_parameter_name": "extmb_dvfs_increase_temp", 1343*3420426cSMatt Spinler "delta": 200 1344*3420426cSMatt Spinler }, 1345*3420426cSMatt Spinler { 1346*3420426cSMatt Spinler "name": "set_net_increase_target", 1347*3420426cSMatt Spinler "groups": [ 1348*3420426cSMatt Spinler { 1349*3420426cSMatt Spinler "name": "vdd vrm temps", 1350*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1351*3420426cSMatt Spinler "property": { "name": "Value" } 1352*3420426cSMatt Spinler } 1353*3420426cSMatt Spinler ], 1354*3420426cSMatt Spinler "state": 82.0, 1355*3420426cSMatt Spinler "delta": 300 1356*3420426cSMatt Spinler }, 1357*3420426cSMatt Spinler { 1358*3420426cSMatt Spinler "name": "set_net_increase_target", 1359*3420426cSMatt Spinler "groups": [ 1360*3420426cSMatt Spinler { 1361*3420426cSMatt Spinler "name": "nvme temps", 1362*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1363*3420426cSMatt Spinler "property": { "name": "Value" } 1364*3420426cSMatt Spinler } 1365*3420426cSMatt Spinler ], 1366*3420426cSMatt Spinler "state": 58.0, 1367*3420426cSMatt Spinler "delta": 200 1368*3420426cSMatt Spinler }, 1369*3420426cSMatt Spinler { 1370*3420426cSMatt Spinler "name": "set_net_increase_target", 1371*3420426cSMatt Spinler "groups": [ 1372*3420426cSMatt Spinler { 1373*3420426cSMatt Spinler "name": "planar temps", 1374*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1375*3420426cSMatt Spinler "property": { "name": "Value" } 1376*3420426cSMatt Spinler } 1377*3420426cSMatt Spinler ], 1378*3420426cSMatt Spinler "state": 65.0, 1379*3420426cSMatt Spinler "delta": 255 1380*3420426cSMatt Spinler }, 1381*3420426cSMatt Spinler { 1382*3420426cSMatt Spinler "name": "set_net_increase_target", 1383*3420426cSMatt Spinler "groups": [ 1384*3420426cSMatt Spinler { 1385*3420426cSMatt Spinler "name": "flett temps", 1386*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1387*3420426cSMatt Spinler "property": { "name": "Value" } 1388*3420426cSMatt Spinler } 1389*3420426cSMatt Spinler ], 1390*3420426cSMatt Spinler "state": 80.0, 1391*3420426cSMatt Spinler "delta": 200 1392*3420426cSMatt Spinler }, 1393*3420426cSMatt Spinler { 1394*3420426cSMatt Spinler "name": "set_net_increase_target", 1395*3420426cSMatt Spinler "groups": [ 1396*3420426cSMatt Spinler { 1397*3420426cSMatt Spinler "name": "pcie cable card temps", 1398*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1399*3420426cSMatt Spinler "property": { "name": "Value" } 1400*3420426cSMatt Spinler } 1401*3420426cSMatt Spinler ], 1402*3420426cSMatt Spinler "state": 70.0, 1403*3420426cSMatt Spinler "delta": 255 1404*3420426cSMatt Spinler }, 1405*3420426cSMatt Spinler { 1406*3420426cSMatt Spinler "name": "set_net_decrease_target", 1407*3420426cSMatt Spinler "groups": [ 1408*3420426cSMatt Spinler { 1409*3420426cSMatt Spinler "name": "proc0 core temps", 1410*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1411*3420426cSMatt Spinler "property": { "name": "Value" } 1412*3420426cSMatt Spinler } 1413*3420426cSMatt Spinler ], 1414*3420426cSMatt Spinler "state_parameter_name": "proc_0_core_dvfs_decrease_temp", 1415*3420426cSMatt Spinler "delta": 50 1416*3420426cSMatt Spinler }, 1417*3420426cSMatt Spinler { 1418*3420426cSMatt Spinler "name": "set_net_decrease_target", 1419*3420426cSMatt Spinler "groups": [ 1420*3420426cSMatt Spinler { 1421*3420426cSMatt Spinler "name": "proc1 core temps", 1422*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1423*3420426cSMatt Spinler "property": { "name": "Value" } 1424*3420426cSMatt Spinler } 1425*3420426cSMatt Spinler ], 1426*3420426cSMatt Spinler "state_parameter_name": "proc_1_core_dvfs_decrease_temp", 1427*3420426cSMatt Spinler "delta": 50 1428*3420426cSMatt Spinler }, 1429*3420426cSMatt Spinler { 1430*3420426cSMatt Spinler "name": "set_net_decrease_target", 1431*3420426cSMatt Spinler "groups": [ 1432*3420426cSMatt Spinler { 1433*3420426cSMatt Spinler "name": "proc2 core temps", 1434*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1435*3420426cSMatt Spinler "property": { "name": "Value" } 1436*3420426cSMatt Spinler } 1437*3420426cSMatt Spinler ], 1438*3420426cSMatt Spinler "state_parameter_name": "proc_2_core_dvfs_decrease_temp", 1439*3420426cSMatt Spinler "delta": 50 1440*3420426cSMatt Spinler }, 1441*3420426cSMatt Spinler { 1442*3420426cSMatt Spinler "name": "set_net_decrease_target", 1443*3420426cSMatt Spinler "groups": [ 1444*3420426cSMatt Spinler { 1445*3420426cSMatt Spinler "name": "proc3 core temps", 1446*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1447*3420426cSMatt Spinler "property": { "name": "Value" } 1448*3420426cSMatt Spinler } 1449*3420426cSMatt Spinler ], 1450*3420426cSMatt Spinler "state_parameter_name": "proc_3_core_dvfs_decrease_temp", 1451*3420426cSMatt Spinler "delta": 50 1452*3420426cSMatt Spinler }, 1453*3420426cSMatt Spinler { 1454*3420426cSMatt Spinler "name": "set_net_decrease_target", 1455*3420426cSMatt Spinler "groups": [ 1456*3420426cSMatt Spinler { 1457*3420426cSMatt Spinler "name": "proc0 ioring temp", 1458*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1459*3420426cSMatt Spinler "property": { "name": "Value" } 1460*3420426cSMatt Spinler } 1461*3420426cSMatt Spinler ], 1462*3420426cSMatt Spinler "state_parameter_name": "proc_0_ioring_dvfs_decrease_temp", 1463*3420426cSMatt Spinler "delta": 50 1464*3420426cSMatt Spinler }, 1465*3420426cSMatt Spinler { 1466*3420426cSMatt Spinler "name": "set_net_decrease_target", 1467*3420426cSMatt Spinler "groups": [ 1468*3420426cSMatt Spinler { 1469*3420426cSMatt Spinler "name": "proc1 ioring temp", 1470*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1471*3420426cSMatt Spinler "property": { "name": "Value" } 1472*3420426cSMatt Spinler } 1473*3420426cSMatt Spinler ], 1474*3420426cSMatt Spinler "state_parameter_name": "proc_1_ioring_dvfs_decrease_temp", 1475*3420426cSMatt Spinler "delta": 50 1476*3420426cSMatt Spinler }, 1477*3420426cSMatt Spinler { 1478*3420426cSMatt Spinler "name": "set_net_decrease_target", 1479*3420426cSMatt Spinler "groups": [ 1480*3420426cSMatt Spinler { 1481*3420426cSMatt Spinler "name": "proc2 ioring temp", 1482*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1483*3420426cSMatt Spinler "property": { "name": "Value" } 1484*3420426cSMatt Spinler } 1485*3420426cSMatt Spinler ], 1486*3420426cSMatt Spinler "state_parameter_name": "proc_2_ioring_dvfs_decrease_temp", 1487*3420426cSMatt Spinler "delta": 50 1488*3420426cSMatt Spinler }, 1489*3420426cSMatt Spinler { 1490*3420426cSMatt Spinler "name": "set_net_decrease_target", 1491*3420426cSMatt Spinler "groups": [ 1492*3420426cSMatt Spinler { 1493*3420426cSMatt Spinler "name": "proc3 ioring temp", 1494*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1495*3420426cSMatt Spinler "property": { "name": "Value" } 1496*3420426cSMatt Spinler } 1497*3420426cSMatt Spinler ], 1498*3420426cSMatt Spinler "state_parameter_name": "proc_3_ioring_dvfs_decrease_temp", 1499*3420426cSMatt Spinler "delta": 50 1500*3420426cSMatt Spinler }, 1501*3420426cSMatt Spinler { 1502*3420426cSMatt Spinler "name": "set_net_decrease_target", 1503*3420426cSMatt Spinler "groups": [ 1504*3420426cSMatt Spinler { 1505*3420426cSMatt Spinler "name": "dram temps", 1506*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1507*3420426cSMatt Spinler "property": { "name": "Value" } 1508*3420426cSMatt Spinler } 1509*3420426cSMatt Spinler ], 1510*3420426cSMatt Spinler "state_parameter_name": "dram_dvfs_decrease_temp", 1511*3420426cSMatt Spinler "delta": 40 1512*3420426cSMatt Spinler }, 1513*3420426cSMatt Spinler { 1514*3420426cSMatt Spinler "name": "set_net_decrease_target", 1515*3420426cSMatt Spinler "groups": [ 1516*3420426cSMatt Spinler { 1517*3420426cSMatt Spinler "name": "pmic temps", 1518*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1519*3420426cSMatt Spinler "property": { "name": "Value" } 1520*3420426cSMatt Spinler } 1521*3420426cSMatt Spinler ], 1522*3420426cSMatt Spinler "state_parameter_name": "pmic_dvfs_decrease_temp", 1523*3420426cSMatt Spinler "delta": 40 1524*3420426cSMatt Spinler }, 1525*3420426cSMatt Spinler { 1526*3420426cSMatt Spinler "name": "set_net_decrease_target", 1527*3420426cSMatt Spinler "groups": [ 1528*3420426cSMatt Spinler { 1529*3420426cSMatt Spinler "name": "internal memory buffer temps", 1530*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1531*3420426cSMatt Spinler "property": { "name": "Value" } 1532*3420426cSMatt Spinler } 1533*3420426cSMatt Spinler ], 1534*3420426cSMatt Spinler "state_parameter_name": "intmb_dvfs_decrease_temp", 1535*3420426cSMatt Spinler "delta": 40 1536*3420426cSMatt Spinler }, 1537*3420426cSMatt Spinler { 1538*3420426cSMatt Spinler "name": "set_net_decrease_target", 1539*3420426cSMatt Spinler "groups": [ 1540*3420426cSMatt Spinler { 1541*3420426cSMatt Spinler "name": "dram and external memory buffer temps", 1542*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1543*3420426cSMatt Spinler "property": { "name": "Value" } 1544*3420426cSMatt Spinler } 1545*3420426cSMatt Spinler ], 1546*3420426cSMatt Spinler "state_parameter_name": "dram_extmb_dvfs_decrease_temp", 1547*3420426cSMatt Spinler "delta": 40 1548*3420426cSMatt Spinler }, 1549*3420426cSMatt Spinler { 1550*3420426cSMatt Spinler "name": "set_net_decrease_target", 1551*3420426cSMatt Spinler "groups": [ 1552*3420426cSMatt Spinler { 1553*3420426cSMatt Spinler "name": "external memory buffer temps", 1554*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1555*3420426cSMatt Spinler "property": { "name": "Value" } 1556*3420426cSMatt Spinler } 1557*3420426cSMatt Spinler ], 1558*3420426cSMatt Spinler "state_parameter_name": "extmb_dvfs_decrease_temp", 1559*3420426cSMatt Spinler "delta": 40 1560*3420426cSMatt Spinler }, 1561*3420426cSMatt Spinler { 1562*3420426cSMatt Spinler "name": "set_net_decrease_target", 1563*3420426cSMatt Spinler "groups": [ 1564*3420426cSMatt Spinler { 1565*3420426cSMatt Spinler "name": "vdd vrm temps", 1566*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1567*3420426cSMatt Spinler "property": { "name": "Value" } 1568*3420426cSMatt Spinler } 1569*3420426cSMatt Spinler ], 1570*3420426cSMatt Spinler "state": 79.0, 1571*3420426cSMatt Spinler "delta": 30 1572*3420426cSMatt Spinler }, 1573*3420426cSMatt Spinler { 1574*3420426cSMatt Spinler "name": "set_net_decrease_target", 1575*3420426cSMatt Spinler "groups": [ 1576*3420426cSMatt Spinler { 1577*3420426cSMatt Spinler "name": "nvme temps", 1578*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1579*3420426cSMatt Spinler "property": { "name": "Value" } 1580*3420426cSMatt Spinler } 1581*3420426cSMatt Spinler ], 1582*3420426cSMatt Spinler "state": 55.0, 1583*3420426cSMatt Spinler "delta": 40 1584*3420426cSMatt Spinler }, 1585*3420426cSMatt Spinler { 1586*3420426cSMatt Spinler "name": "set_net_decrease_target", 1587*3420426cSMatt Spinler "groups": [ 1588*3420426cSMatt Spinler { 1589*3420426cSMatt Spinler "name": "planar temps", 1590*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1591*3420426cSMatt Spinler "property": { "name": "Value" } 1592*3420426cSMatt Spinler } 1593*3420426cSMatt Spinler ], 1594*3420426cSMatt Spinler "state": 60.0, 1595*3420426cSMatt Spinler "delta": 80 1596*3420426cSMatt Spinler }, 1597*3420426cSMatt Spinler { 1598*3420426cSMatt Spinler "name": "set_net_decrease_target", 1599*3420426cSMatt Spinler "groups": [ 1600*3420426cSMatt Spinler { 1601*3420426cSMatt Spinler "name": "flett temps", 1602*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1603*3420426cSMatt Spinler "property": { "name": "Value" } 1604*3420426cSMatt Spinler } 1605*3420426cSMatt Spinler ], 1606*3420426cSMatt Spinler "state": 75.0, 1607*3420426cSMatt Spinler "delta": 80 1608*3420426cSMatt Spinler }, 1609*3420426cSMatt Spinler { 1610*3420426cSMatt Spinler "name": "set_net_decrease_target", 1611*3420426cSMatt Spinler "groups": [ 1612*3420426cSMatt Spinler { 1613*3420426cSMatt Spinler "name": "pcie cable card temps", 1614*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1615*3420426cSMatt Spinler "property": { "name": "Value" } 1616*3420426cSMatt Spinler } 1617*3420426cSMatt Spinler ], 1618*3420426cSMatt Spinler "state": 65.0, 1619*3420426cSMatt Spinler "delta": 80 1620*3420426cSMatt Spinler } 1621*3420426cSMatt Spinler ] 1622*3420426cSMatt Spinler }, 1623*3420426cSMatt Spinler { 1624*3420426cSMatt Spinler // Remove NVMe temperature objects from cache when they are removed from 1625*3420426cSMatt Spinler // dbus. There's no need to react to their removal. 1626*3420426cSMatt Spinler "name": "remove nvme objects", 1627*3420426cSMatt Spinler "groups": [ 1628*3420426cSMatt Spinler { 1629*3420426cSMatt Spinler "name": "nvme temps", 1630*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1631*3420426cSMatt Spinler "property": { "name": "Value" } 1632*3420426cSMatt Spinler }, 1633*3420426cSMatt Spinler { 1634*3420426cSMatt Spinler "name": "nvme temps", 1635*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus", 1636*3420426cSMatt Spinler "property": { "name": "Functional" } 1637*3420426cSMatt Spinler } 1638*3420426cSMatt Spinler ], 1639*3420426cSMatt Spinler "triggers": [ 1640*3420426cSMatt Spinler { 1641*3420426cSMatt Spinler "class": "signal", 1642*3420426cSMatt Spinler "signal": "interfaces_removed" 1643*3420426cSMatt Spinler } 1644*3420426cSMatt Spinler ] 1645*3420426cSMatt Spinler }, 1646*3420426cSMatt Spinler { 1647*3420426cSMatt Spinler "name": "set pcie floor index", 1648*3420426cSMatt Spinler "groups": [ 1649*3420426cSMatt Spinler { 1650*3420426cSMatt Spinler "name": "pcie slots", 1651*3420426cSMatt Spinler "interface": "xyz.openbmc_project.State.Decorator.PowerState", 1652*3420426cSMatt Spinler "property": { 1653*3420426cSMatt Spinler "name": "PowerState" 1654*3420426cSMatt Spinler } 1655*3420426cSMatt Spinler }, 1656*3420426cSMatt Spinler { 1657*3420426cSMatt Spinler "name": "pcie cards", 1658*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice", 1659*3420426cSMatt Spinler "property": { 1660*3420426cSMatt Spinler "name": "Function0DeviceId" 1661*3420426cSMatt Spinler } 1662*3420426cSMatt Spinler }, 1663*3420426cSMatt Spinler { 1664*3420426cSMatt Spinler "name": "pcie cards", 1665*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice", 1666*3420426cSMatt Spinler "property": { 1667*3420426cSMatt Spinler "name": "Function0VendorId" 1668*3420426cSMatt Spinler } 1669*3420426cSMatt Spinler }, 1670*3420426cSMatt Spinler { 1671*3420426cSMatt Spinler "name": "pcie cards", 1672*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice", 1673*3420426cSMatt Spinler "property": { 1674*3420426cSMatt Spinler "name": "Function0SubsystemId" 1675*3420426cSMatt Spinler } 1676*3420426cSMatt Spinler }, 1677*3420426cSMatt Spinler { 1678*3420426cSMatt Spinler "name": "pcie cards", 1679*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Inventory.Item.PCIeDevice", 1680*3420426cSMatt Spinler "property": { 1681*3420426cSMatt Spinler "name": "Function0SubsystemVendorId" 1682*3420426cSMatt Spinler } 1683*3420426cSMatt Spinler } 1684*3420426cSMatt Spinler ], 1685*3420426cSMatt Spinler "triggers": [ 1686*3420426cSMatt Spinler { 1687*3420426cSMatt Spinler "class": "init", 1688*3420426cSMatt Spinler "method": "get_properties" 1689*3420426cSMatt Spinler }, 1690*3420426cSMatt Spinler { 1691*3420426cSMatt Spinler "class": "signal", 1692*3420426cSMatt Spinler "signal": "properties_changed" 1693*3420426cSMatt Spinler }, 1694*3420426cSMatt Spinler { 1695*3420426cSMatt Spinler "class": "signal", 1696*3420426cSMatt Spinler "signal": "interfaces_added" 1697*3420426cSMatt Spinler } 1698*3420426cSMatt Spinler ], 1699*3420426cSMatt Spinler "actions": [ 1700*3420426cSMatt Spinler { 1701*3420426cSMatt Spinler "name": "pcie_card_floors", 1702*3420426cSMatt Spinler "use_config_specific_files": true, 1703*3420426cSMatt Spinler "settle_time": 2 1704*3420426cSMatt Spinler } 1705*3420426cSMatt Spinler ] 1706*3420426cSMatt Spinler }, 1707*3420426cSMatt Spinler { 1708*3420426cSMatt Spinler "name": "Set altitude offset parameter", 1709*3420426cSMatt Spinler "groups": [ 1710*3420426cSMatt Spinler { 1711*3420426cSMatt Spinler "name": "altitude", 1712*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1713*3420426cSMatt Spinler "property": { "name": "Value" } 1714*3420426cSMatt Spinler } 1715*3420426cSMatt Spinler ], 1716*3420426cSMatt Spinler "triggers": [ 1717*3420426cSMatt Spinler { 1718*3420426cSMatt Spinler "class": "init", 1719*3420426cSMatt Spinler "method": "get_properties" 1720*3420426cSMatt Spinler }, 1721*3420426cSMatt Spinler { 1722*3420426cSMatt Spinler "class": "signal", 1723*3420426cSMatt Spinler "signal": "interfaces_added" 1724*3420426cSMatt Spinler }, 1725*3420426cSMatt Spinler { 1726*3420426cSMatt Spinler // Refresh altitude every 24hrs 1727*3420426cSMatt Spinler "class": "timer", 1728*3420426cSMatt Spinler "type": "repeating", 1729*3420426cSMatt Spinler "interval": 86400000000, 1730*3420426cSMatt Spinler "preload_groups": true 1731*3420426cSMatt Spinler } 1732*3420426cSMatt Spinler ], 1733*3420426cSMatt Spinler "actions": [ 1734*3420426cSMatt Spinler { 1735*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1736*3420426cSMatt Spinler "parameter_name": "ambient_20_altitude_offset", 1737*3420426cSMatt Spinler "modifier": { 1738*3420426cSMatt Spinler "operator": "less_than", 1739*3420426cSMatt Spinler "default_value": 10000, 1740*3420426cSMatt Spinler "value": [ 1741*3420426cSMatt Spinler { "arg_value": 500, "parameter_value": 0 }, 1742*3420426cSMatt Spinler { "arg_value": 1000, "parameter_value": 700 }, 1743*3420426cSMatt Spinler { "arg_value": 1500, "parameter_value": 1600 }, 1744*3420426cSMatt Spinler { "arg_value": 2000, "parameter_value": 2300 }, 1745*3420426cSMatt Spinler { "arg_value": 2500, "parameter_value": 3200 }, 1746*3420426cSMatt Spinler { "arg_value": 3300, "parameter_value": 4000 } 1747*3420426cSMatt Spinler ] 1748*3420426cSMatt Spinler } 1749*3420426cSMatt Spinler }, 1750*3420426cSMatt Spinler { 1751*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1752*3420426cSMatt Spinler "parameter_name": "ambient_25_altitude_offset", 1753*3420426cSMatt Spinler "modifier": { 1754*3420426cSMatt Spinler "operator": "less_than", 1755*3420426cSMatt Spinler "default_value": 10000, 1756*3420426cSMatt Spinler "value": [ 1757*3420426cSMatt Spinler { "arg_value": 500, "parameter_value": 0 }, 1758*3420426cSMatt Spinler { "arg_value": 1000, "parameter_value": 1000 }, 1759*3420426cSMatt Spinler { "arg_value": 1500, "parameter_value": 2100 }, 1760*3420426cSMatt Spinler { "arg_value": 2000, "parameter_value": 3100 }, 1761*3420426cSMatt Spinler { "arg_value": 2500, "parameter_value": 4100 }, 1762*3420426cSMatt Spinler { "arg_value": 3300, "parameter_value": 4900 } 1763*3420426cSMatt Spinler ] 1764*3420426cSMatt Spinler } 1765*3420426cSMatt Spinler }, 1766*3420426cSMatt Spinler { 1767*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1768*3420426cSMatt Spinler "parameter_name": "ambient_30_altitude_offset", 1769*3420426cSMatt Spinler "modifier": { 1770*3420426cSMatt Spinler "operator": "less_than", 1771*3420426cSMatt Spinler "default_value": 10000, 1772*3420426cSMatt Spinler "value": [ 1773*3420426cSMatt Spinler { "arg_value": 500, "parameter_value": 0 }, 1774*3420426cSMatt Spinler { "arg_value": 1000, "parameter_value": 1000 }, 1775*3420426cSMatt Spinler { "arg_value": 1500, "parameter_value": 2100 }, 1776*3420426cSMatt Spinler { "arg_value": 2000, "parameter_value": 3200 }, 1777*3420426cSMatt Spinler { "arg_value": 2500, "parameter_value": 4000 }, 1778*3420426cSMatt Spinler { "arg_value": 3300, "parameter_value": 4800 } 1779*3420426cSMatt Spinler ] 1780*3420426cSMatt Spinler } 1781*3420426cSMatt Spinler }, 1782*3420426cSMatt Spinler { 1783*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1784*3420426cSMatt Spinler "parameter_name": "ambient_35_altitude_offset", 1785*3420426cSMatt Spinler "modifier": { 1786*3420426cSMatt Spinler "operator": "less_than", 1787*3420426cSMatt Spinler "default_value": 10000, 1788*3420426cSMatt Spinler "value": [ 1789*3420426cSMatt Spinler { "arg_value": 500, "parameter_value": 0 }, 1790*3420426cSMatt Spinler { "arg_value": 1000, "parameter_value": 900 }, 1791*3420426cSMatt Spinler { "arg_value": 1500, "parameter_value": 1700 }, 1792*3420426cSMatt Spinler { "arg_value": 2000, "parameter_value": 2500 }, 1793*3420426cSMatt Spinler { "arg_value": 2500, "parameter_value": 3400 }, 1794*3420426cSMatt Spinler { "arg_value": 3300, "parameter_value": 4200 } 1795*3420426cSMatt Spinler ] 1796*3420426cSMatt Spinler } 1797*3420426cSMatt Spinler }, 1798*3420426cSMatt Spinler { 1799*3420426cSMatt Spinler "name": "set_parameter_from_group_max", 1800*3420426cSMatt Spinler "parameter_name": "ambient_40_altitude_offset", 1801*3420426cSMatt Spinler "modifier": { 1802*3420426cSMatt Spinler "operator": "less_than", 1803*3420426cSMatt Spinler "default_value": 10000, 1804*3420426cSMatt Spinler "value": [ 1805*3420426cSMatt Spinler { "arg_value": 500, "parameter_value": 0 }, 1806*3420426cSMatt Spinler { "arg_value": 1000, "parameter_value": 1000 }, 1807*3420426cSMatt Spinler { "arg_value": 1500, "parameter_value": 1900 }, 1808*3420426cSMatt Spinler { "arg_value": 2000, "parameter_value": 2800 }, 1809*3420426cSMatt Spinler { "arg_value": 2500, "parameter_value": 3700 }, 1810*3420426cSMatt Spinler { "arg_value": 3300, "parameter_value": 4500 } 1811*3420426cSMatt Spinler ] 1812*3420426cSMatt Spinler } 1813*3420426cSMatt Spinler } 1814*3420426cSMatt Spinler ] 1815*3420426cSMatt Spinler }, 1816*3420426cSMatt Spinler { 1817*3420426cSMatt Spinler "name": "Fan floors", 1818*3420426cSMatt Spinler "groups": [ 1819*3420426cSMatt Spinler { 1820*3420426cSMatt Spinler "name": "ambient temp", 1821*3420426cSMatt Spinler "interface": "xyz.openbmc_project.Sensor.Value", 1822*3420426cSMatt Spinler "property": { "name": "Value" } 1823*3420426cSMatt Spinler } 1824*3420426cSMatt Spinler ], 1825*3420426cSMatt Spinler "triggers": [ 1826*3420426cSMatt Spinler { 1827*3420426cSMatt Spinler "class": "init", 1828*3420426cSMatt Spinler "method": "get_properties" 1829*3420426cSMatt Spinler }, 1830*3420426cSMatt Spinler { 1831*3420426cSMatt Spinler "class": "signal", 1832*3420426cSMatt Spinler "signal": "properties_changed" 1833*3420426cSMatt Spinler }, 1834*3420426cSMatt Spinler { 1835*3420426cSMatt Spinler "class": "signal", 1836*3420426cSMatt Spinler "signal": "interfaces_added" 1837*3420426cSMatt Spinler }, 1838*3420426cSMatt Spinler { 1839*3420426cSMatt Spinler "class": "parameter", 1840*3420426cSMatt Spinler "parameter": "pcie_floor_index" 1841*3420426cSMatt Spinler }, 1842*3420426cSMatt Spinler { 1843*3420426cSMatt Spinler "class": "parameter", 1844*3420426cSMatt Spinler "parameter": "ambient_20_altitude_offset" 1845*3420426cSMatt Spinler }, 1846*3420426cSMatt Spinler { 1847*3420426cSMatt Spinler "class": "parameter", 1848*3420426cSMatt Spinler "parameter": "ambient_25_altitude_offset" 1849*3420426cSMatt Spinler }, 1850*3420426cSMatt Spinler { 1851*3420426cSMatt Spinler "class": "parameter", 1852*3420426cSMatt Spinler "parameter": "ambient_30_altitude_offset" 1853*3420426cSMatt Spinler }, 1854*3420426cSMatt Spinler { 1855*3420426cSMatt Spinler "class": "parameter", 1856*3420426cSMatt Spinler "parameter": "ambient_35_altitude_offset" 1857*3420426cSMatt Spinler }, 1858*3420426cSMatt Spinler { 1859*3420426cSMatt Spinler "class": "parameter", 1860*3420426cSMatt Spinler "parameter": "ambient_40_altitude_offset" 1861*3420426cSMatt Spinler } 1862*3420426cSMatt Spinler ], 1863*3420426cSMatt Spinler "actions": [ 1864*3420426cSMatt Spinler { 1865*3420426cSMatt Spinler "name": "mapped_floor", 1866*3420426cSMatt Spinler "key_group": "ambient temp", 1867*3420426cSMatt Spinler "fan_floors": [ 1868*3420426cSMatt Spinler { 1869*3420426cSMatt Spinler // Entry valid for temps < 20 1870*3420426cSMatt Spinler "key": 20, 1871*3420426cSMatt Spinler "default_floor": 5400, 1872*3420426cSMatt Spinler "floor_offset_parameter": "ambient_20_altitude_offset", 1873*3420426cSMatt Spinler "floors": [ 1874*3420426cSMatt Spinler { 1875*3420426cSMatt Spinler "parameter": "pcie_floor_index", 1876*3420426cSMatt Spinler "floors": [ 1877*3420426cSMatt Spinler { "value": 1, "floor": 5600 }, 1878*3420426cSMatt Spinler { "value": 2, "floor": 9000 }, 1879*3420426cSMatt Spinler { "value": 3, "floor": 9000 }, 1880*3420426cSMatt Spinler { "value": 4, "floor": 9200 }, 1881*3420426cSMatt Spinler { "value": 5, "floor": 10600 } 1882*3420426cSMatt Spinler ] 1883*3420426cSMatt Spinler } 1884*3420426cSMatt Spinler ] 1885*3420426cSMatt Spinler }, 1886*3420426cSMatt Spinler { 1887*3420426cSMatt Spinler // Entry valid for temps < 25 1888*3420426cSMatt Spinler "key": 25, 1889*3420426cSMatt Spinler "default_floor": 7300, 1890*3420426cSMatt Spinler "floor_offset_parameter": "ambient_25_altitude_offset", 1891*3420426cSMatt Spinler "floors": [ 1892*3420426cSMatt Spinler { 1893*3420426cSMatt Spinler "parameter": "pcie_floor_index", 1894*3420426cSMatt Spinler "floors": [ 1895*3420426cSMatt Spinler { "value": 1, "floor": 7800 }, 1896*3420426cSMatt Spinler { "value": 2, "floor": 10700 }, 1897*3420426cSMatt Spinler { "value": 3, "floor": 11300 }, 1898*3420426cSMatt Spinler { "value": 4, "floor": 12700 }, 1899*3420426cSMatt Spinler { "value": 5, "floor": 13900 } 1900*3420426cSMatt Spinler ] 1901*3420426cSMatt Spinler } 1902*3420426cSMatt Spinler ] 1903*3420426cSMatt Spinler }, 1904*3420426cSMatt Spinler { 1905*3420426cSMatt Spinler // Entry valid for temps < 30 1906*3420426cSMatt Spinler "key": 30, 1907*3420426cSMatt Spinler "default_floor": 9100, 1908*3420426cSMatt Spinler "floor_offset_parameter": "ambient_30_altitude_offset", 1909*3420426cSMatt Spinler "floors": [ 1910*3420426cSMatt Spinler { 1911*3420426cSMatt Spinler "parameter": "pcie_floor_index", 1912*3420426cSMatt Spinler "floors": [ 1913*3420426cSMatt Spinler { "value": 1, "floor": 10300 }, 1914*3420426cSMatt Spinler { "value": 2, "floor": 12100 }, 1915*3420426cSMatt Spinler { "value": 3, "floor": 14400 }, 1916*3420426cSMatt Spinler { "value": 4, "floor": 16300 }, 1917*3420426cSMatt Spinler { "value": 5, "floor": 17200 } 1918*3420426cSMatt Spinler ] 1919*3420426cSMatt Spinler } 1920*3420426cSMatt Spinler ] 1921*3420426cSMatt Spinler }, 1922*3420426cSMatt Spinler { 1923*3420426cSMatt Spinler // Entry valid for temps < 35 1924*3420426cSMatt Spinler "key": 35, 1925*3420426cSMatt Spinler "default_floor": 10800, 1926*3420426cSMatt Spinler "floor_offset_parameter": "ambient_35_altitude_offset", 1927*3420426cSMatt Spinler "floors": [ 1928*3420426cSMatt Spinler { 1929*3420426cSMatt Spinler "parameter": "pcie_floor_index", 1930*3420426cSMatt Spinler "floors": [ 1931*3420426cSMatt Spinler { "value": 1, "floor": 12700 }, 1932*3420426cSMatt Spinler { "value": 2, "floor": 13500 }, 1933*3420426cSMatt Spinler { "value": 3, "floor": 17400 }, 1934*3420426cSMatt Spinler { "value": 4, "floor": 18000 }, 1935*3420426cSMatt Spinler { "value": 5, "floor": 18000 } 1936*3420426cSMatt Spinler ] 1937*3420426cSMatt Spinler } 1938*3420426cSMatt Spinler ] 1939*3420426cSMatt Spinler }, 1940*3420426cSMatt Spinler { 1941*3420426cSMatt Spinler // Entry valid for temps < 40 1942*3420426cSMatt Spinler "key": 40, 1943*3420426cSMatt Spinler "default_floor": 12600, 1944*3420426cSMatt Spinler "floor_offset_parameter": "ambient_40_altitude_offset", 1945*3420426cSMatt Spinler "floors": [ 1946*3420426cSMatt Spinler { 1947*3420426cSMatt Spinler "parameter": "pcie_floor_index", 1948*3420426cSMatt Spinler "floors": [ 1949*3420426cSMatt Spinler { "value": 1, "floor": 15000 }, 1950*3420426cSMatt Spinler { "value": 2, "floor": 15500 }, 1951*3420426cSMatt Spinler { "value": 3, "floor": 18000 }, 1952*3420426cSMatt Spinler { "value": 4, "floor": 18000 }, 1953*3420426cSMatt Spinler { "value": 5, "floor": 18000 } 1954*3420426cSMatt Spinler ] 1955*3420426cSMatt Spinler } 1956*3420426cSMatt Spinler ] 1957*3420426cSMatt Spinler } 1958*3420426cSMatt Spinler ] 1959*3420426cSMatt Spinler } 1960*3420426cSMatt Spinler ] 1961*3420426cSMatt Spinler } 1962*3420426cSMatt Spinler] 1963