sensorpush.idl
/* SPDX-License-Identifier: BSD-3-Clause */
/*
* Copyright 2012 Raritan Inc. All rights reserved.
*/
#include "NumericSensor.idl"
#include "SensorLogger.idl"
/** The datapush module contains the definition of the JSON-encoded datapush messages. The standard rules for enconding apply.
\ref datapush_example
*/
module datapush {
enumeration PowerLine {
L1, ///< Line 1
L2, ///< Line 2
L3, ///< Line 3
NEUTRAL, ///< Neutral
EARTH ///< Earth
};
/** Device type */
enumeration DeviceType {
INLET, ///< Inlet
INLET_POLE, ///< Inlet Pole
OCP, ///< Overcurrent Protector
OCP_POLE, ///< Overcurrent Protector Pole
OUTLET, ///< Outlet
OUTLET_POLE, ///< Outlet Pole
WIRE, ///< Wire
WIRE_POLE, ///< Wire Pole
TRANSFER_SWITCH, ///< Transfer Switch
TRANSFER_SWITCH_POLE, ///< Transfer Switch Pole
EXTERNAL_SENSOR, ///< External Sensor
POWER_METER, ///< Power Meter
POWER_METER_POLE, ///< Power Meter Pole
PANEL_CIRCUIT, ///< Circuit in a PMC Panel
PANEL_CIRCUIT_POLE, ///< Circuit Pole in a PMC Panel
PDU, ///< PDU global
OUTLET_GROUP ///< Outlet group
};
/** Device information */
structure Device {
DeviceType type; ///< Device type
string label; ///< Device label
PowerLine line; ///< Power line (pole sensors only)
};
/** Sensor information */
structure Sensor {
Device device; ///< Device information
string id; ///< Sensor identification
int readingtype;
///< Reading type (numeric or discrete)
sensors.NumericSensor_4_0_3.MetaData metadata;
///< Metadata (if readingType is NUMERIC)
};
/** One full log row (one timestamp, mulitple sensors) */
structure LogRow {
time timestamp; ///< Timestamp
vector<sensors.Logger_2_1_6.Record> records;
///< Log records (one per sensor, same order
///< as in the sensor list)
};
/** Message for pushing one full log record for all sensors */
structure SensorLogPushMessage {
vector<Sensor> sensors; ///< List of logged sensors
vector<LogRow> rows; ///< List of log rows
};
}
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