Raritan PX2/PX3 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_2_0_7 extends EDevice {
23 
24  /** %Inlet metadata */
25  structure MetaData {
26  string label; ///< %Inlet label
27  string plugType; ///< Plug type
28  Nameplate_2_0_0 namePlate; ///< %Nameplate information
29  Rating_2_0_0 rating; ///< Numerical usage ratings
30  boolean isDC; ///< Current type, \c true for DC, \c false for AC
31  };
32 
33  /** %Inlet sensors */
34  structure Sensors {
35  sensors.NumericSensor_4_0_4 voltage; ///< RMS voltage sensor
36  sensors.NumericSensor_4_0_4 current; ///< RMS current sensor
37  sensors.NumericSensor_4_0_4 peakCurrent; ///< Peak current sensor
38  sensors.NumericSensor_4_0_4 residualCurrent; ///< Residual current sensor
39  sensors.NumericSensor_4_0_4 residualACCurrent; ///< AC Residual current sensor
40  ///< (AC portion of residual operating current)
41  sensors.NumericSensor_4_0_4 residualDCCurrent; ///< DC Residual current sensor
42  ///< (DC portion of residual operating current)
43  sensors.NumericSensor_4_0_4 activePower; ///< Active power sensor
44  sensors.NumericSensor_4_0_4 reactivePower; ///< Reactive power sensor
45  sensors.NumericSensor_4_0_4 apparentPower; ///< Apparent power sensor
46  sensors.NumericSensor_4_0_4 powerFactor; ///< Power factor sensor
47  sensors.NumericSensor_4_0_4 displacementPowerFactor; ///< Displacement power factor sensor
48  sensors.NumericSensor_4_0_4 activeEnergy; ///< Active energy sensor
49  sensors.NumericSensor_4_0_4 apparentEnergy; ///< Apparent energy sensor
50  sensors.NumericSensor_4_0_4 unbalancedCurrent; ///< Current unbalance sensor
51  sensors.NumericSensor_4_0_4 lineFrequency; ///< Line AC frequency sensor
52  sensors.NumericSensor_4_0_4 phaseAngle; ///< Phase angle sensor
53  sensors.NumericSensor_4_0_4 crestFactor; ///< Crest factor sensor
54  sensors.StateSensor_4_0_4 powerQuality; ///< Power quality sensor
55  sensors.StateSensor_4_0_4 surgeProtectorStatus; ///< Surge protector status sensor
56  ResidualCurrentStateSensor_2_0_4 residualCurrentStatus; ///< Residual current monitor state sensor
57  };
58 
59  /** %Inlet settings */
60  structure Settings {
61  string name; ///< User-defined name
62  };
63 
64  /** Event: Inlet settings have been changed */
65  valueobject SettingsChangedEvent extends event.UserEvent {
66  Settings oldSettings; ///< Settings before change
67  Settings newSettings; ///< Settings after change
68  };
69 
70  /** Event: Inlet has been enabled or disabled */
71  valueobject EnableStateChangedEvent extends event.UserEvent {
72  boolean enabled; ///< New enable state
73  };
74 
75  /**
76  * Retrieve the inlet metadata.
77  *
78  * @return %Inlet metadata
79  */
81 
82  /**
83  * Get the inlet sensors.
84  *
85  * @return %Inlet sensors
86  */
88 
89  /**
90  * Get the list of inlet poles.
91  *
92  * @return List of inlet poles
93  */
94  vector<Pole_7_0_0> getPoles();
95 
96  /**
97  * Retrieve the inlet settings.
98  *
99  * @return %Inlet settings
100  */
102 
103  /**
104  * Change the inlet settings.
105  *
106  * @param settings New inlet settings
107  *
108  * @return 0 if OK
109  * @return 1 if any parameters are invalid
110  */
111  int setSettings(in Settings settings);
112 
113  /**
114  * Enable/disable PDU operation for this inlet.
115  *
116  * When PDU operation is disabled the sensors for this inlet and all
117  * children will no longer be updated, and outlet switching is no
118  * longer allowed. This can be useful for multi-inlet units if one
119  * inlet is temporarily expected to be powered down.
120  *
121  * @param enabled \c true to enable PDU operation
122  */
123  void setEnabled(in boolean enabled);
124 
125  /**
126  * Test whether PDU operation is enabled for this inlet.
127  *
128  * @return \c true if PDU operation is enabled
129  */
130  boolean isEnabled();
131  };
132 
133 }
134 
135 #endif
Common base interface for any kind of electrical device that is used in the PDU model,...
Definition: EDevice.idl:24
Inlet interface
Definition: Inlet.idl:22
int setSettings(in Settings settings)
Change the inlet settings.
vector< Pole_7_0_0 > getPoles()
Get the list of inlet poles.
void setEnabled(in boolean enabled)
Enable/disable PDU operation for this inlet.
MetaData getMetaData()
Retrieve the inlet metadata.
Settings newSettings
Settings after change.
Definition: Inlet.idl:67
Settings getSettings()
Retrieve the inlet settings.
boolean isEnabled()
Test whether PDU operation is enabled for this inlet.
Sensors getSensors()
Get the inlet sensors.
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 isDC
Current type, true for DC, false for AC.
Definition: Inlet.idl:30
Rating_2_0_0 rating
Numerical usage ratings.
Definition: Inlet.idl:29
string plugType
Plug type.
Definition: Inlet.idl:27
string label
Inlet label
Definition: Inlet.idl:26
Nameplate_2_0_0 namePlate
Nameplate information
Definition: Inlet.idl:28
Inlet sensors
Definition: Inlet.idl:34
sensors::NumericSensor_4_0_4 phaseAngle
Phase angle sensor.
Definition: Inlet.idl:52
sensors::NumericSensor_4_0_4 crestFactor
Crest factor sensor.
Definition: Inlet.idl:53
sensors::NumericSensor_4_0_4 apparentEnergy
Apparent energy sensor.
Definition: Inlet.idl:49
sensors::NumericSensor_4_0_4 apparentPower
Apparent power sensor.
Definition: Inlet.idl:45
sensors::NumericSensor_4_0_4 residualCurrent
Residual current sensor.
Definition: Inlet.idl:38
sensors::NumericSensor_4_0_4 peakCurrent
Peak current sensor.
Definition: Inlet.idl:37
sensors::NumericSensor_4_0_4 current
RMS current sensor.
Definition: Inlet.idl:36
sensors::NumericSensor_4_0_4 reactivePower
Reactive power sensor.
Definition: Inlet.idl:44
sensors::NumericSensor_4_0_4 lineFrequency
Line AC frequency sensor.
Definition: Inlet.idl:51
sensors::NumericSensor_4_0_4 residualDCCurrent
DC Residual current sensor.
Definition: Inlet.idl:41
sensors::NumericSensor_4_0_4 activePower
Active power sensor.
Definition: Inlet.idl:43
sensors::NumericSensor_4_0_4 displacementPowerFactor
Displacement power factor sensor.
Definition: Inlet.idl:47
sensors::NumericSensor_4_0_4 residualACCurrent
AC Residual current sensor.
Definition: Inlet.idl:39
sensors::StateSensor_4_0_4 powerQuality
Power quality sensor.
Definition: Inlet.idl:54
sensors::NumericSensor_4_0_4 powerFactor
Power factor sensor.
Definition: Inlet.idl:46
sensors::NumericSensor_4_0_4 voltage
RMS voltage sensor.
Definition: Inlet.idl:35
sensors::StateSensor_4_0_4 surgeProtectorStatus
Surge protector status sensor.
Definition: Inlet.idl:55
sensors::NumericSensor_4_0_4 unbalancedCurrent
Current unbalance sensor.
Definition: Inlet.idl:50
ResidualCurrentStateSensor_2_0_4 residualCurrentStatus
Residual current monitor state sensor.
Definition: Inlet.idl:56
sensors::NumericSensor_4_0_4 activeEnergy
Active energy sensor.
Definition: Inlet.idl:48
Inlet settings
Definition: Inlet.idl:60
string name
User-defined name.
Definition: Inlet.idl:61
Component nameplate information.
Definition: Nameplate.idl:23
Numerical usage ratings.
Definition: Nameplate.idl:15