Raritan / Server Technology Xerus™ PDU JSON-RPC API
Inlet.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Copyright 2009 Raritan Inc. All rights reserved.
4  */
5 
6 #ifndef __PDUMODEL_INLET_IDL__
7 #define __PDUMODEL_INLET_IDL__
8 
9 #include <EDevice.idl>
10 #include <Nameplate.idl>
11 #include <NumericSensor.idl>
12 #include <StateSensor.idl>
13 #include <Pole.idl>
14 #include <ResidualCurrentStateSensor.idl>
15 
16 /**
17  * PDU Model
18  */
19 module pdumodel {
20 
21  /** %Inlet interface */
22  interface Inlet extends EDevice {
23 
24  /** %Inlet metadata */
25  structure MetaData {
26  string label; ///< %Inlet label
27  string plugType; ///< Plug type
28  Nameplate namePlate; ///< %Nameplate information
29  Rating rating; ///< Numerical usage ratings
30  boolean hasWaveformSupport; ///< Whether waveform reading is supported on this inlet
31  boolean isDC; ///< Current type, \c true for DC, \c false for AC
32  };
33 
34  /** %Inlet sensors */
35  structure Sensors {
36  sensors.NumericSensor voltage; ///< RMS voltage sensor (may be a VoltageMonitoringSensor)
37  sensors.NumericSensor current; ///< RMS current sensor
38  sensors.NumericSensor peakCurrent; ///< Peak current sensor
39  sensors.NumericSensor residualCurrent; ///< Residual current sensor
40  sensors.NumericSensor residualACCurrent; ///< AC Residual current sensor
41  ///< (AC portion of residual operating current)
42  sensors.NumericSensor residualDCCurrent; ///< DC Residual current sensor
43  ///< (DC portion of residual operating current)
44  sensors.NumericSensor activePower; ///< Active power sensor
45  sensors.NumericSensor reactivePower; ///< Reactive power sensor
46  sensors.NumericSensor apparentPower; ///< Apparent power sensor
47  sensors.NumericSensor powerFactor; ///< Power factor sensor
48  sensors.NumericSensor displacementPowerFactor; ///< Displacement power factor sensor
49  sensors.NumericSensor activeEnergy; ///< Active energy sensor
50  sensors.NumericSensor apparentEnergy; ///< Apparent energy sensor
51  sensors.NumericSensor unbalancedCurrent; ///< Current unbalance sensor
52  sensors.NumericSensor unbalancedLineLineCurrent; ///< Line-Line current unbalance sensor
53  sensors.NumericSensor unbalancedVoltage; ///< Voltage unbalance sensor
54  sensors.NumericSensor unbalancedLineLineVoltage; ///< Line-Line voltage unbalance sensor
55  sensors.NumericSensor lineFrequency; ///< Line AC frequency sensor
56  sensors.NumericSensor phaseAngle; ///< Phase angle sensor
57  sensors.NumericSensor crestFactor; ///< Crest factor sensor
58  sensors.NumericSensor voltageThd; ///< Voltage total harmonic distortion sensor
59  sensors.NumericSensor currentThd; ///< Current total harmonic distortion sensor
60  sensors.StateSensor powerQuality; ///< Power quality sensor
61  sensors.StateSensor surgeProtectorStatus; ///< Surge protector status sensor
62  ResidualCurrentStateSensor residualCurrentStatus; ///< Residual current monitor state sensor
63  };
64 
65  /** %Inlet settings */
66  structure Settings {
67  string name; ///< User-defined name
68  };
69 
70  /** Event: Inlet settings have been changed */
71  valueobject SettingsChangedEvent extends event.UserEvent {
72  Settings oldSettings; ///< Settings before change
73  Settings newSettings; ///< Settings after change
74  };
75 
76  /** Event: Inlet has been enabled or disabled */
77  valueobject EnableStateChangedEvent extends event.UserEvent {
78  boolean enabled; ///< New enable state
79  };
80 
81  /**
82  * Retrieve the inlet metadata.
83  *
84  * @return %Inlet metadata
85  */
87 
88  /**
89  * Get the inlet sensors.
90  *
91  * @return %Inlet sensors
92  */
94 
95  /**
96  * Get the list of inlet poles.
97  *
98  * @return List of inlet poles
99  */
100  vector<Pole> getPoles();
101 
102  /**
103  * Get the list of inlet line pairs.
104  *
105  * @return List of inlet line pairs
106  */
107  vector<MeteredLinePair> getLinePairs();
108 
109  /**
110  * Retrieve the inlet settings.
111  *
112  * @return %Inlet settings
113  */
115 
116  /**
117  * Change the inlet settings.
118  *
119  * @param settings New inlet settings
120  *
121  * @return 0 if OK
122  * @return 1 if any parameters are invalid
123  */
124  int setSettings(in Settings settings);
125 
126  /**
127  * Enable/disable PDU operation for this inlet.
128  *
129  * When PDU operation is disabled the sensors for this inlet and all
130  * children will no longer be updated, and outlet switching is no
131  * longer allowed. This can be useful for multi-inlet units if one
132  * inlet is temporarily expected to be powered down.
133  *
134  * @param enabled \c true to enable PDU operation
135  */
136  void setEnabled(in boolean enabled);
137 
138  /**
139  * Test whether PDU operation is enabled for this inlet.
140  *
141  * @return \c true if PDU operation is enabled
142  */
143  boolean isEnabled();
144  };
145 
146 }
147 
148 #endif
Common base interface for any kind of electrical device that is used in the PDU model,...
Definition: EDevice.idl:27
Inlet interface
Definition: Inlet.idl:22
vector< MeteredLinePair > getLinePairs()
Get the list of inlet line pairs.
MetaData getMetaData()
Retrieve the inlet metadata.
int setSettings(in Settings settings)
Change the inlet settings.
boolean isEnabled()
Test whether PDU operation is enabled for this inlet.
Sensors getSensors()
Get the inlet sensors.
Settings getSettings()
Retrieve the inlet settings.
Settings newSettings
Settings after change.
Definition: Inlet.idl:73
vector< Pole > getPoles()
Get the list of inlet poles.
void setEnabled(in boolean enabled)
Enable/disable PDU operation for this inlet.
Residual current state sensor interface.
Definition: ResidualCurrentStateSensor.idl:17
A sensor with numeric readings.
Definition: NumericSensor.idl:17
Sensor with discrete readings.
Definition: StateSensor.idl:43
PDU Model.
Definition: Ade.idl:12
Sensors Model.
Definition: AccumulatingNumericSensor.idl:13
Inlet metadata
Definition: Inlet.idl:25
boolean hasWaveformSupport
Whether waveform reading is supported on this inlet.
Definition: Inlet.idl:30
string plugType
Plug type.
Definition: Inlet.idl:27
string label
Inlet label
Definition: Inlet.idl:26
boolean isDC
Current type, true for DC, false for AC.
Definition: Inlet.idl:31
Rating rating
Numerical usage ratings.
Definition: Inlet.idl:29
Nameplate namePlate
Nameplate information
Definition: Inlet.idl:28
Inlet sensors
Definition: Inlet.idl:35
sensors::NumericSensor voltage
RMS voltage sensor (may be a VoltageMonitoringSensor)
Definition: Inlet.idl:36
sensors::NumericSensor activeEnergy
Active energy sensor.
Definition: Inlet.idl:49
sensors::NumericSensor residualCurrent
Residual current sensor.
Definition: Inlet.idl:39
sensors::NumericSensor unbalancedLineLineCurrent
Line-Line current unbalance sensor.
Definition: Inlet.idl:52
sensors::NumericSensor unbalancedVoltage
Voltage unbalance sensor.
Definition: Inlet.idl:53
sensors::StateSensor powerQuality
Power quality sensor.
Definition: Inlet.idl:60
sensors::NumericSensor currentThd
Current total harmonic distortion sensor.
Definition: Inlet.idl:59
sensors::NumericSensor unbalancedLineLineVoltage
Line-Line voltage unbalance sensor.
Definition: Inlet.idl:54
sensors::NumericSensor residualDCCurrent
DC Residual current sensor.
Definition: Inlet.idl:42
sensors::NumericSensor crestFactor
Crest factor sensor.
Definition: Inlet.idl:57
sensors::NumericSensor displacementPowerFactor
Displacement power factor sensor.
Definition: Inlet.idl:48
sensors::NumericSensor peakCurrent
Peak current sensor.
Definition: Inlet.idl:38
sensors::NumericSensor lineFrequency
Line AC frequency sensor.
Definition: Inlet.idl:55
sensors::NumericSensor reactivePower
Reactive power sensor.
Definition: Inlet.idl:45
ResidualCurrentStateSensor residualCurrentStatus
Residual current monitor state sensor.
Definition: Inlet.idl:62
sensors::NumericSensor current
RMS current sensor.
Definition: Inlet.idl:37
sensors::StateSensor surgeProtectorStatus
Surge protector status sensor.
Definition: Inlet.idl:61
sensors::NumericSensor powerFactor
Power factor sensor.
Definition: Inlet.idl:47
sensors::NumericSensor unbalancedCurrent
Current unbalance sensor.
Definition: Inlet.idl:51
sensors::NumericSensor apparentEnergy
Apparent energy sensor.
Definition: Inlet.idl:50
sensors::NumericSensor residualACCurrent
AC Residual current sensor.
Definition: Inlet.idl:40
sensors::NumericSensor apparentPower
Apparent power sensor.
Definition: Inlet.idl:46
sensors::NumericSensor phaseAngle
Phase angle sensor.
Definition: Inlet.idl:56
sensors::NumericSensor activePower
Active power sensor.
Definition: Inlet.idl:44
sensors::NumericSensor voltageThd
Voltage total harmonic distortion sensor.
Definition: Inlet.idl:58
Inlet settings
Definition: Inlet.idl:66
string name
User-defined name.
Definition: Inlet.idl:67
Component nameplate information.
Definition: Nameplate.idl:23
Numerical usage ratings.
Definition: Nameplate.idl:15