#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
#
#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
