Raritan PX2/PX3 JSON-RPC API: pdu-json-rpc-api/idl/sensorpush.idl Source File

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