1# sensor_monitoring
2
3## Description
4
5Defines how to read the sensors for a voltage rail, such as voltage output,
6current output, and temperature. Sensor values are measured, actual values
7rather than target values.
8
9Sensors will be read once per second. The sensor values will be stored on D-Bus
10on the BMC, making them available to external interfaces like Redfish.
11
12The [pmbus_read_sensor](pmbus_read_sensor.md) action is used to read one sensor.
13To read multiple sensors, multiple "pmbus_read_sensor" actions need to be
14executed.
15
16The "pmbus_read_sensor" actions can be specified in two ways:
17
18- Use the "rule_id" property to specify a standard rule to run.
19- Use the "actions" property to specify an array of actions that are unique to
20  this device.
21
22## Properties
23
24| Name     |      Required       | Type                          | Description                                                 |
25| :------- | :-----------------: | :---------------------------- | :---------------------------------------------------------- |
26| comments |         no          | array of strings              | One or more comment lines describing the sensor monitoring. |
27| rule_id  | see [notes](#notes) | string                        | Unique ID of the [rule](rule.md) to execute.                |
28| actions  | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute.                             |
29
30### Notes
31
32- You must specify either "rule_id" or "actions".
33
34## Examples
35
36```
37{
38  "comments": [ "Read all sensors supported by the IR35221 regulator" ],
39  "rule_id": "read_ir35221_sensors_rule"
40}
41
42{
43  "comments": [ "Only read sensors if version register 0x75 contains 2.",
44                "Earlier versions produced invalid sensor values." ],
45  "actions": [
46    {
47      "if": {
48        "condition": {
49          "i2c_compare_byte": { "register": "0x75", "value": "0x02" }
50        },
51        "then": [
52          { "run_rule": "read_sensors_rule" }
53        ]
54      }
55    }
56  ]
57}
58```
59