1#Example set speed events for phosphor-fan-control
2
3#groups:
4#    - name: [A unique name for this group]
5#      description: [A user description of what makes up the group]
6#      type: [The '/xyz/openbmc_project' path extension]
7#      members:
8#          [List of object paths under the path extension]
9#
10#actions:
11#    - name: [The name associated with a supported action function]
12#      description: [A user description of what this action does]
13#      parameters:
14#          [Ordered list of required parameters for the associated function]
15#
16#events:
17#    - name: [A unique name for this event]
18#      zone_conditions:
19#          - name: [The name of the zone condition]
20#            zones:
21#                - [Zone number to include this set speed event with]
22#      group: [A group name from the list of groups]
23#      interface: [The Dbus interface on the group members' object path]
24#      property: [The property name and type on the interface to be used]
25#      action:
26#          name: [Name of an action from the list of actions]
27#          [List each required action parameter with a defined type and value
28#           for this event. The 'property' parameter utilizes the same type
29#           defined under the 'property' attribute.]
30
31#Example:
32#groups:
33#    - name: zone0_fans
34#      description: Group of fan inventory objects for zone 0
35#      type: inventory
36#      members:
37#          - /system/chassis/motherboard/fan0
38#          - /system/chassis/motherboard/fan1
39#          - /system/chassis/motherboard/fan2
40#          - /system/chassis/motherboard/fan3
41#    - name: zone0_ambient
42#      description: Group of ambient temperature sensors for zone 0
43#      type: sensors
44#      members:
45#          - /temperature/ambient
46#
47#actions:
48#    - name: count_state_before_speed
49#      description: Set the speed when a number of properties at a state
50#      parameters:
51#          - count
52#          - property
53#          - speed
54#    - name: set_floor_from_average_sensor_value
55#      description: Set floor speed from first entry with average less than key
56#      parameters:
57#          - map
58#
59#events:
60#    - name: missing_before_high_speed
61#      zone_conditions:
62#          - name: air_cooled_chassis
63#            zones:
64#                - 0
65#      group: zone0_fans
66#      interface: xyz.openbmc_project.Inventory.Item
67#      property:
68#          name: Present
69#          type: bool
70#      action:
71#          name: count_state_before_speed
72#          count: 1
73#          property: false
74#          speed:
75#              value: 10500
76#              type: uint64_t
77#    - name: update_air_cooled_floor_speed_based_on_ambient
78#      zone_conditions:
79#          - name: air_cooled_chassis
80#            zones:
81#                - 0
82#      group: zone0_ambient
83#      interface: xyz.openbmc_project.Sensor.Value
84#      property:
85#          name: Value
86#          type: int64_t
87#      action:
88#          name: set_floor_from_average_sensor_value
89#          map:
90#              value:
91#                  - 25: 3500
92#                  - 30: 4600
93#                  - 35: 5200
94#                  - 40: 5800
95#              type: std::map<int64_t, uint64_t>
96#    - name: update_water_cooled_floor_speed_based_on_ambient
97#      zone_conditions:
98#          - name: water_and_air_cooled_chassis
99#            zones:
100#                - 0
101#      group: zone0_ambient
102#      interface: xyz.openbmc_project.Sensor.Value
103#      property:
104#          name: Value
105#          type: int64_t
106#      action:
107#          name: set_floor_from_average_sensor_value
108#          map:
109#              value:
110#                  - 25: 2500
111#                  - 30: 3600
112#                  - 35: 4200
113#                  - 40: 4800
114#              type: std::map<int64_t, uint64_t>
115