Raritan PX2/PX3 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  };
21 
22  /** Device type */
23  enumeration DeviceType {
24  INLET, ///< Inlet
25  INLET_POLE, ///< Inlet Pole
26  OCP, ///< Overcurrent Protector
27  OCP_POLE, ///< Overcurrent Protector Pole
28  OUTLET, ///< Outlet
29  OUTLET_POLE, ///< Outlet Pole
30  WIRE, ///< Wire
31  WIRE_POLE, ///< Wire Pole
32  TRANSFER_SWITCH, ///< Transfer Switch
33  TRANSFER_SWITCH_POLE, ///< Transfer Switch Pole
34  EXTERNAL_SENSOR, ///< External Sensor
35  POWER_METER, ///< Power Meter
36  POWER_METER_POLE, ///< Power Meter Pole
37  PANEL_CIRCUIT, ///< Circuit in a PMC Panel
38  PANEL_CIRCUIT_POLE, ///< Circuit Pole in a PMC Panel
39  PDU, ///< PDU global
40  OUTLET_GROUP ///< Outlet group
41  };
42 
43  /** Device information */
44  structure Device {
45  DeviceType type; ///< Device type
46  string label; ///< Device label
47  PowerLine line; ///< Power line (pole sensors only)
48  };
49 
50  /** Sensor information */
51  structure Sensor {
52  Device device; ///< Device information
53  string id; ///< Sensor identification
55  ///< Reading type (numeric or discrete)
57  ///< Metadata (if readingType is NUMERIC)
58  };
59 
60  /** One full log row (one timestamp, mulitple sensors) */
61  structure LogRow {
62  time timestamp; ///< Timestamp
64  ///< Log records (one per sensor, same order
65  ///< as in the sensor list)
66  };
67 
68  /** Message for pushing one full log record for all sensors */
70  vector<Sensor> sensors; ///< List of logged sensors
71  vector<LogRow> rows; ///< List of log rows
72  };
73 
74 }
Wire.
Definition: sensorpush.idl:30
PDU global.
Definition: sensorpush.idl:39
Overcurrent Protector Pole.
Definition: sensorpush.idl:27
vector< Sensor > sensors
List of logged sensors.
Definition: sensorpush.idl:70
Power Meter.
Definition: sensorpush.idl:35
Sensor log record.
Definition: SensorLogger.idl:127
string label
Device label.
Definition: sensorpush.idl:46
Outlet Pole.
Definition: sensorpush.idl:29
PowerLine
Definition: sensorpush.idl:14
sensors::NumericSensor_4_0_3 MetaData metadata
Metadata (if readingType is NUMERIC)
Definition: sensorpush.idl:56
time timestamp
Timestamp.
Definition: sensorpush.idl:62
vector< LogRow > rows
List of log rows.
Definition: sensorpush.idl:71
External Sensor.
Definition: sensorpush.idl:34
Wire Pole.
Definition: sensorpush.idl:31
Transfer Switch Pole.
Definition: sensorpush.idl:33
Device information.
Definition: sensorpush.idl:44
Outlet group.
Definition: sensorpush.idl:40
int readingtype
Reading type (numeric or discrete)
Definition: sensorpush.idl:54
Overcurrent Protector.
Definition: sensorpush.idl:26
Inlet.
Definition: sensorpush.idl:24
Circuit Pole in a PMC Panel.
Definition: sensorpush.idl:38
Inlet Pole.
Definition: sensorpush.idl:25
Power Meter Pole.
Definition: sensorpush.idl:36
string id
Sensor identification.
Definition: sensorpush.idl:53
The datapush module contains the definition of the JSON-encoded datapush messages.
Definition: assetmgrpush.idl:10
Sensors Model.
Definition: AccumulatingNumericSensor.idl:13
Transfer Switch.
Definition: sensorpush.idl:32
Sensor logger interface.
Definition: SensorLogger.idl:31
Device device
Device information.
Definition: sensorpush.idl:52
Outlet.
Definition: sensorpush.idl:28
DeviceType type
Device type.
Definition: sensorpush.idl:45
vector< sensors::Logger_2_1_6.Record > records
Log records (one per sensor, same order as in the sensor list)
Definition: sensorpush.idl:63
A sensor with numeric readings.
Definition: NumericSensor.idl:17
PowerLine line
Power line (pole sensors only)
Definition: sensorpush.idl:47
DeviceType
Device type.
Definition: sensorpush.idl:23
Circuit in a PMC Panel.
Definition: sensorpush.idl:37
Sensor information.
Definition: sensorpush.idl:51
Numeric sensor metadata.
Definition: NumericSensor.idl:40
Message for pushing one full log record for all sensors.
Definition: sensorpush.idl:69
One full log row (one timestamp, mulitple sensors)
Definition: sensorpush.idl:61