| #Example set speed events for phosphor-fan-control |
| |
| #groups: |
| # - name: [A unique name for this group] |
| # description: [A user description of what makes up the group] |
| # type: [The '/xyz/openbmc_project' path extension] |
| # members: |
| # [List of object paths under the path extension] |
| # |
| #matches: |
| # - name: [The name associated with a supported match string function] |
| # description: [A user description of what this match string represents] |
| # parameters: |
| # [Ordered list of required parameters for the match string function] |
| # |
| #signals: |
| # - name: [The name associated with a supported signal function] |
| # description: [A user description of what this signal does] |
| # parameters: |
| # [Ordered list of required parameters for the signal function] |
| # match: [Match string function to use in subscribing to the signal] |
| # |
| #methods: |
| # - name: [The name associated with a supported method function] |
| # description: [A user description of what this method does] |
| # parameters: |
| # [Ordered list of required parameteres for the method function] |
| # |
| #handlers: |
| # - name: [The name associated with a supported handler function] |
| # description: [A user descriptiion of what this handler does] |
| # parameters: |
| # [Ordered list of required parameters for the handler function] |
| # |
| #preconditions: [Preconditions are intended to load or unload events based |
| # on the precondition's resulting state] |
| # - name: [Name associated with an available precondition function] |
| # description: [A user description of the precondition's use] |
| # parameters: |
| # [Ordered list of required parameters for the precondition function] |
| # |
| #actions: |
| # - name: [Name associated with an available action function] |
| # description: [A user description of what this action does] |
| # parameters: |
| # [Ordered list of required parameters for the associated function] |
| # |
| #events: |
| # - name: [A unique name for this event] |
| # precondition{OPTIONAL}: |
| # name: [Name of the precondition function] |
| # groups: |
| # - name: [A group name from the list of groups] |
| # zone_conditions{OPTIONAL}: |
| # - name: [The name of the zone condition] |
| # zones: |
| # - [Zone number to include this set speed event with] |
| # interface: [Dbus interface on the group members' object path] |
| # property: |
| # name: [Name of the property on the interface] |
| # type: [The property's data type] |
| # triggers: |
| # [At least 1 trigger is required per event from those available: |
| # "init" - Executes a method(with associated handler) at startup |
| # and then process the event actions |
| # "signal" - Subscribes to a signal and executes the associated |
| # handler when the signal is received and then process |
| # the event actions |
| # "timer" - Configures a type of timer over an interval that |
| # processess the event actions each time the timer |
| # expires] |
| # - name: [Name of trigger to execute the event] |
| # [Provide the required trigger parameter(s)] |
| # events: [Define the event that is to be loaded when the precondition |
| # succeeds] |
| # groups: |
| # - name: [A group name from the list of groups] |
| # zone_conditions{OPTIONAL}: |
| # - name: [The name of the zone condition] |
| # zones: |
| # - [Zone number to include this set speed event with] |
| # interface: [The Dbus interface on the group members' object path] |
| # property: |
| # name: [Name of the property on the interface] |
| # type: [The property's data type] |
| # triggers: |
| # [At least 1 trigger is required per event from those available: |
| # "init" - Executes a method(with associated handler) at startup |
| # and then process the event actions |
| # "signal" - Subscribes to a signal and executes the associated |
| # handler when the signal is received and then process |
| # the event actions |
| # "timer" - Configures a type of timer over an interval that |
| # processess the event actions each time the timer expires] |
| # - name: [Name of trigger to execute the event] |
| # [Provide the required trigger parameter(s)] |
| # actions: |
| # - name: [Name of an action from the list of actions] |
| # [Ordered list of each required action parameter with a defined |
| # type and value for this event. The 'property' parameter utilizes |
| # the same type defined under the 'property' attribute.] |
| |
| #Example: |
| #groups: |
| # - name: zone0_fans |
| # description: Group of fan inventory objects for zone 0 |
| # type: /xyz/openbmc_project/inventory |
| # members: |
| # - /system/chassis/motherboard/fan0 |
| # - /system/chassis/motherboard/fan1 |
| # - /system/chassis/motherboard/fan2 |
| # - /system/chassis/motherboard/fan3 |
| # - name: zone0_ambient |
| # description: Group of ambient temperature sensors for zone 0 |
| # type: /xyz/openbmc_project/sensors |
| # members: |
| # - /temperature/ambient |
| # - name: occ0_object |
| # description: Dbus object containing OCC0 properties |
| # type: /org/open_power/control |
| # members: |
| # - /occ0 |
| # - name: zone0_regulators |
| # description: Group of regulator temperature sensors for zone 0 |
| # type: /xyz/openbmc_project/sensors |
| # members: |
| # - /temperature/p0_vdd_temp |
| # - /temperature/p1_vdd_temp |
| # - name: zone0_dimms |
| # description: Group of dimm temperature sensors for zone 0 |
| # type: /xyz/openbmc_project/sensors |
| # members: |
| # - /temperature/dimm0_temp |
| # - /temperature/dimm1_temp |
| # - /temperature/dimm2_temp |
| # - /temperature/dimm3_temp |
| # - /temperature/dimm4_temp |
| # |
| #matches: |
| # - name: propertiesChanged |
| # parameters: |
| # - object |
| # - interface |
| # - name: interfacesAdded |
| # parameters: |
| # - object |
| # - name: interfacesRemoved |
| # parameters: |
| # - object |
| # |
| #signals: |
| # - name: propertiesChanged |
| # description: > |
| # A property changed signal |
| # parameters: |
| # - object |
| # - interface |
| # match: propertiesChanged |
| # - name: interfacesAdded |
| # description: > |
| # An interfaces added signal |
| # parameters: |
| # - type |
| # - object |
| # - interface |
| # - property |
| # match: interfacesAdded |
| # - name: interfacesRemoved |
| # description: > |
| # An interfaces removed match |
| # parameters: |
| # - object |
| # - interface |
| # match: interfacesRemoved |
| # |
| #methods: |
| # - name: getProperties |
| # description: > |
| # Get the property values of the given group members |
| # by performing a `GetProperty` method call on each |
| # parameters: |
| # - type |
| # |
| #handlers: |
| # - name: setProperty |
| # description: > |
| # Sets a value for the givent object/interface/property |
| # parameters: |
| # - type |
| # |
| #preconditions: |
| # - name: property_states_match |
| # description: > |
| # All defined properties must match the values given to |
| # enable a set speed event otherwise fan speeds are set to full |
| # parameters: |
| # - groups |
| # |
| #actions: |
| # - name: count_state_before_speed |
| # description: Set the speed when a number of properties at a state |
| # parameters: |
| # - count |
| # - property |
| # - speed |
| # - name: set_floor_from_average_sensor_value |
| # description: Set floor speed from first entry with average less than key |
| # parameters: |
| # - map |
| # - name: set_ceiling_from_average_sensor_value |
| # description: Set ceiling speed based on key transition values with average |
| # parameters: |
| # - map |
| # - name: set_net_increase_speed |
| # description: > |
| # Set the speed increase delta based on the delta increase |
| # size times the given value and property's value difference |
| # parameters: |
| # - property |
| # - factor |
| # - delta |
| # - name: set_net_decrease_speed |
| # description: > |
| # Set the speed decrease delta based on the delta decrease |
| # size times the given value and property's value difference |
| # parameters: |
| # - property |
| # - factor |
| # - delta |
| # - name: update_default_floor |
| # description: > |
| # Update the default fan floor to the given speed |
| # parameters: |
| # - property |
| # - speed |
| # - name: use_events_on_state |
| # description: > |
| # Use a set of events when all the group properties are at a given |
| # state, otherwise remove the events |
| # parameters: |
| # - property |
| # - events |
| # |
| #events: |
| # - name: missing_before_high_speed |
| # groups: |
| # - name: zone0_fans |
| # zone_conditions: |
| # - name: air_cooled_chassis |
| # zones: |
| # - 0 |
| # interface: xyz.openbmc_project.Inventory.Item |
| # property: |
| # name: Present |
| # type: bool |
| # triggers: |
| # - name: init |
| # method: getProperties |
| # handler: setProperty |
| # - name: signal |
| # signal: propertiesChanged |
| # handler: setProperty |
| # actions: |
| # - name: count_state_before_speed |
| # count: 1 |
| # property: |
| # value: false |
| # type: bool |
| # speed: |
| # value: 10500 |
| # type: uint64_t |
| # - name: set_air_cooled_speed_boundaries_based_on_ambient |
| # groups: |
| # - name: zone0_ambient |
| # zone_conditions: |
| # - name: air_cooled_chassis |
| # zones: |
| # - 0 |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # triggers: |
| # - name: init |
| # method: getProperties |
| # handler: setProperty |
| # - name: signal |
| # signal: propertiesChanged |
| # handler: setProperty |
| # actions: |
| # - name: set_floor_from_average_sensor_value |
| # map: |
| # value: |
| # - 27000: 3500 |
| # - 32000: 4600 |
| # - 37000: 5200 |
| # - 40000: 5800 |
| # type: std::map<int64_t, uint64_t> |
| # - name: set_ceiling_from_average_sensor_value |
| # map: |
| # value: |
| # - 25000: 7200 |
| # - 27000: 10500 |
| # type: std::map<int64_t, uint64_t> |
| # - name: set_water_cooled_speed_boundaries_based_on_ambient |
| # groups: |
| # - name: zone0_ambient |
| # zone_conditions: |
| # - name: water_and_air_cooled_chassis |
| # zones: |
| # - 0 |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # triggers: |
| # - name: init |
| # method: getProperties |
| # handler: setProperty |
| # - name: signal |
| # signal: propertiesChanged |
| # handler: setProperty |
| # actions: |
| # - name: set_floor_from_average_sensor_value |
| # map: |
| # value: |
| # - 27000: 3000 |
| # - 32000: 4300 |
| # - 37000: 5000 |
| # - 40000: 5800 |
| # type: std::map<int64_t, uint64_t> |
| # - name: set_ceiling_from_average_sensor_value |
| # map: |
| # value: |
| # - 25000: 7200 |
| # - 27000: 10500 |
| # type: std::map<int64_t, uint64_t> |
| # - name: occ_active_speed_changes |
| # precondition: |
| # name: property_states_match |
| # groups: |
| # - name: occ0_object |
| # interface: org.open_power.OCC.Status |
| # property: |
| # name: OccActive |
| # type: bool |
| # value: true |
| # - name: occ1_object |
| # interface: org.open_power.OCC.Status |
| # property: |
| # name: OccActive |
| # type: bool |
| # value: true |
| # triggers: |
| # - name: init |
| # method: getProperties |
| # handler: setProperty |
| # - name: signal |
| # signal: interfacesAdded |
| # handler: setProperty |
| # - name: signal |
| # signal: propertiesChanged |
| # handler: setProperty |
| # events: |
| # - name: speed_control_sensors |
| # groups: |
| # - name: zone0_regulators |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # - name: zone0_dimms |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # triggers: |
| # - name: init |
| # method: getProperties |
| # handler: setProperty |
| # - name: signal |
| # signal: interfacesAdded |
| # handler: setProperty |
| # - name: signal |
| # signal: propertiesChanged |
| # handler: setProperty |
| # - name: signal |
| # signal: interfacesRemoved |
| # handler: removeInterface |
| # - name: 1sec_speed_change_request_sampling |
| # triggers: |
| # - name: timer |
| # interval: 1000000 |
| # type: repeating |
| # actions: |
| # # Speed changes based on regulator temps |
| # - name: set_net_increase_speed |
| # groups: |
| # - name: zone0_regulators |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # property: |
| # value: 85000 |
| # type: int64_t |
| # factor: |
| # value: 1000 |
| # type: int64_t |
| # delta: |
| # value: 400 |
| # type: uint64_t |
| # - name: set_net_decrease_speed |
| # groups: |
| # - name: zone0_regulators |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # property: |
| # value: 82000 |
| # type: int64_t |
| # factor: |
| # value: 1000 |
| # type: int64_t |
| # delta: |
| # value: 40 |
| # type: uint64_t |
| # # Speed changes based on dimm temps |
| # - name: set_net_increase_speed |
| # groups: |
| # - name: zone0_dimms |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # property: |
| # value: 64000 |
| # type: int64_t |
| # factor: |
| # value: 1000 |
| # type: int64_t |
| # delta: |
| # value: 200 |
| # type: uint64_t |
| # - name: set_net_decrease_speed |
| # groups: |
| # - name: zone0_dimms |
| # interface: xyz.openbmc_project.Sensor.Value |
| # property: |
| # name: Value |
| # type: int64_t |
| # property: |
| # value: 61000 |
| # type: int64_t |
| # factor: |
| # value: 1000 |
| # type: int64_t |
| # delta: |
| # value: 40 |
| # type: uint64_t |