xref: /openbmc/entity-manager/schemas/virtual_sensor.json (revision da89d235c12bfc2c19437fecf2d1ca5251523e1c)
1{
2    "$schema": "http://json-schema.org/draft-07/schema#",
3    "$defs": {
4        "VirtualSensor": {
5            "additionalProperties": false,
6            "title": "phosphor-virtual-sensor configuration",
7            "description": "The configuration used by the virtual-sensor daemon in the phosphor-virtual-sensor repository. Virtual sensors are xyz.openbmc_project.Sensor.Value D-Bus objects that have sensor values calculated from the D-Bus sensors listed here.",
8            "type": "object",
9            "properties": {
10                "MaxValidInput": {
11                    "description": "Maximum valid value of an input sensor",
12                    "type": "number"
13                },
14                "MaxValue": {
15                    "description": "Maximum sensor value",
16                    "$ref": "legacy.json#/$defs/Types/MaxValue"
17                },
18                "MinValidInput": {
19                    "description": "Miniumum valid value of an input sensor",
20                    "type": "number"
21                },
22                "MinValue": {
23                    "description": "Minimum sensor value",
24                    "$ref": "legacy.json#/$defs/Types/MinValue"
25                },
26                "Name": {
27                    "type": "string"
28                },
29                "PowerState": {
30                    "$ref": "legacy.json#/$defs/Types/PowerState"
31                },
32                "EntityId": {
33                    "$ref": "legacy.json#/$defs/Types/EntityId"
34                },
35                "EntityInstance": {
36                    "$ref": "legacy.json#/$defs/Types/EntityInstance"
37                },
38                "Sensors": {
39                    "description": "Any DBus sensors whose values are used to determine the value of the virtual sensor.",
40                    "items": {
41                        "type": "string"
42                    },
43                    "type": "array"
44                },
45                "Thresholds": {
46                    "description": "Threshold values used to set and clear alarms",
47                    "$ref": "legacy.json#/$defs/Types/Thresholds"
48                },
49                "Type": {
50                    "description": "The type of calculation this sensor uses.",
51                    "type": "string",
52                    "enum": [
53                        "Average",
54                        "Maximum",
55                        "Minimum",
56                        "Sum",
57                        "ModifiedMedian"
58                    ]
59                },
60                "Units": {
61                    "description": "The sensor type, as it shows up in the D-Bus object name.",
62                    "$ref": "legacy.json#/$defs/Types/Units"
63                }
64            },
65            "required": ["Name", "Sensors", "Type", "Units"]
66        }
67    }
68}
69