Raritan / Server Technology Xerus™ PDU JSON-RPC API: sensorpush.idl Source File

Raritan / Server Technology Xerus™ PDU JSON-RPC API

sensorpush.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3 * Copyright 2012 Raritan Inc. All rights reserved.
4 */
5
6 #include "NumericSensor.idl"
7 #include "SensorLogger.idl"
8
9 /** The datapush module contains the definition of the JSON-encoded datapush messages. The standard rules for enconding apply.
10
11 \ref datapush_example
12 */
13 module datapush {
14 enumeration PowerLine {
15 L1, ///< Line 1
16 L2, ///< Line 2
17 L3, ///< Line 3
18 NEUTRAL, ///< Neutral
19 EARTH, ///< Earth
20 PLUS, ///< Positive (DC)
21 MINUS ///< Negative (DC)
22 };
23
24 /** Device type */
25 enumeration DeviceType {
26 INLET, ///< Inlet
27 INLET_POLE, ///< Inlet Pole
28 OCP, ///< Overcurrent Protector
29 OCP_POLE, ///< Overcurrent Protector Pole
30 OUTLET, ///< Outlet
31 OUTLET_POLE, ///< Outlet Pole
32 WIRE, ///< Wire
33 WIRE_POLE, ///< Wire Pole
34 TRANSFER_SWITCH, ///< Transfer Switch
35 TRANSFER_SWITCH_POLE, ///< Transfer Switch Pole
36 EXTERNAL_SENSOR, ///< External Sensor
37 POWER_METER, ///< Power Meter
38 POWER_METER_POLE, ///< Power Meter Pole
39 PANEL_CIRCUIT, ///< Circuit in a PMC Panel
40 PANEL_CIRCUIT_POLE, ///< Circuit Pole in a PMC Panel
41 PDU, ///< PDU global
42 OUTLET_GROUP, ///< Outlet group,
43 INLET_LINE_PAIR ///< Inlet Line Pair (line-line sensor)
44 };
45
46 /** Device information */
47 structure Device {
48 DeviceType type; ///< Device type
49 string label; ///< Device label
50 string name; ///< Device name (i.e. user-configurable names for Outlets, Inlets, ...)
51 PowerLine line; ///< Power line (pole sensors only)
52 };
53
54 /** Sensor information */
55 structure Sensor {
56 Device device; ///< Device information
57 string id; ///< Sensor identification
58 int readingtype;
59 ///< Reading type (numeric or discrete)
60 sensors.NumericSensor.MetaData metadata;
61 ///< Metadata (if readingType is NUMERIC)
62 };
63
64 /** One full log row (one timestamp, mulitple sensors) */
65 structure LogRow {
66 time timestamp; ///< UNIX timestamp (UTC)
67 vector<sensors.Logger.Record> records;
68 ///< Log records (one per sensor, same order
69 ///< as in the sensor list)
70 };
71
72 /** Message for pushing one full log record for all sensors */
73 structure SensorLogPushMessage {
74 string serialNumber; ///< Device serial number
75 string name; ///< Device name (user-configurable)
76
77 vector<Sensor> sensors; ///< List of logged sensors
78 vector<LogRow> rows; ///< List of log rows
79 };
80
81 }
sensors::Logger
Sensor logger interface.
Definition: SensorLogger.idl:31
sensors::NumericSensor
A sensor with numeric readings.
Definition: NumericSensor.idl:17
datapush
The datapush module contains the definition of the JSON-encoded datapush messages.
Definition: assetmgrpush.idl:10
datapush::PowerLine
PowerLine
Definition: sensorpush.idl:14
datapush::DeviceType
DeviceType
Device type.
Definition: sensorpush.idl:25
datapush::PANEL_CIRCUIT
@ PANEL_CIRCUIT
Circuit in a PMC Panel.
Definition: sensorpush.idl:39
datapush::EXTERNAL_SENSOR
@ EXTERNAL_SENSOR
External Sensor.
Definition: sensorpush.idl:36
datapush::WIRE_POLE
@ WIRE_POLE
Wire Pole.
Definition: sensorpush.idl:33
datapush::INLET_LINE_PAIR
@ INLET_LINE_PAIR
Inlet Line Pair (line-line sensor)
Definition: sensorpush.idl:43
datapush::OCP_POLE
@ OCP_POLE
Overcurrent Protector Pole.
Definition: sensorpush.idl:29
datapush::INLET_POLE
@ INLET_POLE
Inlet Pole.
Definition: sensorpush.idl:27
datapush::POWER_METER_POLE
@ POWER_METER_POLE
Power Meter Pole.
Definition: sensorpush.idl:38
datapush::OUTLET_POLE
@ OUTLET_POLE
Outlet Pole.
Definition: sensorpush.idl:31
datapush::INLET
@ INLET
Inlet.
Definition: sensorpush.idl:26
datapush::OCP
@ OCP
Overcurrent Protector.
Definition: sensorpush.idl:28
datapush::POWER_METER
@ POWER_METER
Power Meter.
Definition: sensorpush.idl:37
datapush::OUTLET_GROUP
@ OUTLET_GROUP
Outlet group,.
Definition: sensorpush.idl:42
datapush::PANEL_CIRCUIT_POLE
@ PANEL_CIRCUIT_POLE
Circuit Pole in a PMC Panel.
Definition: sensorpush.idl:40
datapush::OUTLET
@ OUTLET
Outlet.
Definition: sensorpush.idl:30
datapush::PDU
@ PDU
PDU global.
Definition: sensorpush.idl:41
datapush::TRANSFER_SWITCH_POLE
@ TRANSFER_SWITCH_POLE
Transfer Switch Pole.
Definition: sensorpush.idl:35
datapush::TRANSFER_SWITCH
@ TRANSFER_SWITCH
Transfer Switch.
Definition: sensorpush.idl:34
datapush::WIRE
@ WIRE
Wire.
Definition: sensorpush.idl:32
sensors
Sensors Model.
Definition: AccumulatingNumericSensor.idl:13
datapush::Device
Device information.
Definition: sensorpush.idl:47
datapush::Device::label
string label
Device label.
Definition: sensorpush.idl:49
datapush::Device::type
DeviceType type
Device type.
Definition: sensorpush.idl:48
datapush::Device::name
string name
Device name (i.e. user-configurable names for Outlets, Inlets, ...)
Definition: sensorpush.idl:50
datapush::Device::line
PowerLine line
Power line (pole sensors only)
Definition: sensorpush.idl:51
datapush::LogRow
One full log row (one timestamp, mulitple sensors)
Definition: sensorpush.idl:65
datapush::LogRow::timestamp
time timestamp
UNIX timestamp (UTC)
Definition: sensorpush.idl:66
datapush::LogRow::records
vector< sensors::Logger.Record > records
Log records (one per sensor, same order as in the sensor list)
Definition: sensorpush.idl:67
datapush::SensorLogPushMessage
Message for pushing one full log record for all sensors.
Definition: sensorpush.idl:73
datapush::SensorLogPushMessage::rows
vector< LogRow > rows
List of log rows.
Definition: sensorpush.idl:78
datapush::SensorLogPushMessage::sensors
vector< Sensor > sensors
List of logged sensors.
Definition: sensorpush.idl:77
datapush::SensorLogPushMessage::serialNumber
string serialNumber
Device serial number.
Definition: sensorpush.idl:74
datapush::SensorLogPushMessage::name
string name
Device name (user-configurable)
Definition: sensorpush.idl:75
datapush::Sensor
Sensor information.
Definition: sensorpush.idl:55
datapush::Sensor::device
Device device
Device information.
Definition: sensorpush.idl:56
datapush::Sensor::metadata
sensors::NumericSensor MetaData metadata
Metadata (if readingType is NUMERIC)
Definition: sensorpush.idl:60
datapush::Sensor::id
string id
Sensor identification.
Definition: sensorpush.idl:57
datapush::Sensor::readingtype
int readingtype
Reading type (numeric or discrete)
Definition: sensorpush.idl:58
sensors::Logger::Record
Sensor log record.
Definition: SensorLogger.idl:148
sensors::NumericSensor::MetaData
Numeric sensor metadata.
Definition: NumericSensor.idl:40