summaryrefslogtreecommitdiffstats
path: root/control/example/events.yaml
blob: b2c22cfe193fccdd0a20cc6192b778fa2868514f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#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]
#
#actions:
#    - name: [The name associated with a supported 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]
#      zone_conditions:
#          - name: [The name of the zone condition]
#            zones:
#                - [Zone number to include this set speed event with]
#      group: [A group name from the list of groups]
#      interface: [The Dbus interface on the group members' object path]
#      property: [The property name and type on the interface to be used]
#      action:
#          name: [Name of an action from the list of actions]
#          [List 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
#
#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
#
#events:
#    - name: missing_before_high_speed
#      zone_conditions:
#          - name: air_cooled_chassis
#            zones:
#                - 0
#      group: zone0_fans
#      interface: xyz.openbmc_project.Inventory.Item
#      property:
#          name: Present
#          type: bool
#      action:
#          name: count_state_before_speed
#          count: 1
#          property: false
#          speed:
#              value: 10500
#              type: uint64_t
#    - name: update_air_cooled_floor_speed_based_on_ambient
#      zone_conditions:
#          - name: air_cooled_chassis
#            zones:
#                - 0
#      group: zone0_ambient
#      interface: xyz.openbmc_project.Sensor.Value
#      property:
#          name: Value
#          type: int64_t
#      action:
#          name: set_floor_from_average_sensor_value
#          map:
#              value:
#                  - 25000: 3500
#                  - 30000: 4600
#                  - 35000: 5200
#                  - 40000: 5800
#              type: std::map<int64_t, uint64_t>
#    - name: update_water_cooled_floor_speed_based_on_ambient
#      zone_conditions:
#          - name: water_and_air_cooled_chassis
#            zones:
#                - 0
#      group: zone0_ambient
#      interface: xyz.openbmc_project.Sensor.Value
#      property:
#          name: Value
#          type: int64_t
#      action:
#          name: set_floor_from_average_sensor_value
#          map:
#              value:
#                  - 25000: 2500
#                  - 30000: 3600
#                  - 35000: 4200
#                  - 40000: 4800
#              type: std::map<int64_t, uint64_t>
#    - name: update_ceiling_speed_based_on_ambient
#      zone_conditions:
#          - name: air_cooled_chassis
#            zones:
#                - 0
#          - name: water_and_air_cooled_chassis
#            zones:
#                - 0
#      precondition:
#          name: property_states_match
#          groups:
#              - name: occ0_object
#                interface: org.open_power.OCC.Status
#                property:
#                    name: OccActive
#                    type: bool
#                    value: true
#      group: zone0_ambient
#      interface: xyz.openbmc_project.Sensor.Value
#      property:
#          name: Value
#          type: int64_t
#      action:
#          name: set_ceiling_from_average_sensor_value
#          map:
#              value:
#                  - 25000: 7200
#                  - 27000: 10500
#              type: std::map<int64_t, uint64_t>
OpenPOWER on IntegriCloud