Legrand / Raritan / Server Technology Xerus™ JSON-RPC API

Loading...
Searching...
No Matches
Pdu.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2009 Raritan Inc. All rights reserved.
4 */
5
6#ifndef __PDUMODEL_PDU_IDL__
7#define __PDUMODEL_PDU_IDL__
8
9#include <Nameplate.idl>
10#include <Outlet.idl>
11#include <PeripheralDeviceSlot.idl>
12#include <PeripheralDeviceManager.idl>
13#include <Port.idl>
14#include <OverCurrentProtector.idl>
15#include <Inlet.idl>
16#include <TransferSwitch.idl>
17#include <StateSensor.idl>
18#include <SensorLogger.idl>
19#include <Controller.idl>
20#include <InternalBeeper.idl>
21#include <AlertedSensorManager.idl>
22
23/**
24 * PDU Model
25 */
26module pdumodel {
27
28 /** Main PDU interface */
29 interface Pdu {
30
31 constant int ERR_INVALID_PARAM = 1; ///< Invalid parameters
32
33 /** PDU orientations */
34 enumeration PduOrientation {
35 PO_NONE, ///< No PDU orientation (non-reversible ETO, default)
36 PO_BOTTOMFEED, ///< Bottom feed PDU orientation (reversible ETO, normal order)
37 PO_TOPFEED ///< Top feed PDU orientation (reversible ETO, reversed order)
38 };
39
40 /** PDU metadata */
41 structure MetaData {
42 Nameplate nameplate; ///< %Nameplate information
43 string ctrlBoardSerial; ///< Main controller serial number
44 string hwRevision; ///< Hardware revision
45 string fwRevision; ///< Firmware revision
46 string macAddress; ///< MAC address
47 boolean hasSwitchableOutlets; ///< \c true if at least one outlet is switchable
48 boolean hasMeteredOutlets; ///< \c true if at least one outlet is metered
49 boolean hasLatchingOutletRelays; ///< \c true if at least one outlet has a latching relay
50 boolean isInlineMeter; ///< \c true if all inlets have exactly one outlet
51 boolean isEnergyPulseSupported; ///< \c true if the PDU has one or more LED(s) capable
52 ///< of emitting pulses to measure consumed energy
53 boolean hasDCInlets; ///< \c true if at least one inlet is DC
54 PduOrientation pduOrientation; ///< PDU orientation at boot
55 };
56
57 /** PDU sensors */
58 structure Sensors {
59 vector<sensors.StateSensor> powerSupplyStatus; ///< Power supply fault status
60 sensors.NumericSensor activePower; ///< Active power sensor
61 sensors.NumericSensor apparentPower; ///< Active power sensor
62 sensors.NumericSensor activeEnergy; ///< Active energy sensor
63 sensors.NumericSensor apparentEnergy; ///< Active energy sensor
64 };
65
66 /** PDU statistics */
67 structure Statistic {
68 vector<CircuitBreakerStatistic> cbStats; ///< Circuit breaker statistics
69 vector<CtrlStatistic> ctrlStats; ///< Sub controller statistics
70 vector<OutletStatistic> outletStats; ///< %Outlet statistics
71 peripheral.DeviceManager.Statistics peripheralStats; ///< Peripheral device statistics
72 };
73
74 /** %Outlet power state on device startup */
75 enumeration StartupState {
76 SS_ON, ///< %Outlet will be switched on
77 SS_OFF, ///< %Outlet will be switched off
78 SS_LASTKNOWN ///< Restore last known power state
79 };
80
81 /** PDU settings */
82 [sparse_in]
83 structure Settings {
84 string name; ///< User-defined name
85 StartupState startupState; ///< Default outlet state after applying power to outlets; can be overriden per outlet
86 int cycleDelay; ///< Default power-cycle interval in seconds; can be overriden per outlet
87 int inRushGuardDelay; ///< Minimum delay in milliseconds between switching two outlets on
88 vector<int> outletPowerStateSequence; ///< The order in which multiple outlets should be switched.
89 ///< Format: List of outlet numbers (0-based), empty for default.
90 ///< \n Affects the following functions:
91 ///< \li \c setAllOutletPowerStates
92 ///< \li \c cycleAllOutletPowerStates
93 ///< \li \c setMultipleOutletPowerStates
94 ///< \li \c cycleMultipleOutletPowerStates
95 int powerOnDelay; ///< Delay in seconds before restoring outlet states after power is applied to outlets
96 boolean latchingRelays; ///< If true, relays keep their state during power-cycling
97 boolean energyPulseEnabled; ///< Enables energy consumption counting using the PDU's LED(s)
98 int energyPulsesPerKWh; ///< Ratio between LED pulses and energy consumption
99 int demandUpdateInterval; ///< BCM2 only: Update interval in seconds for demand sensors
100 int demandAveragingIntervals; ///< BCM2 only: Average demand sensors over this many update intervals
101 boolean suspendTripCauseOutlets; ///< If true, outlets suspected to have caused an OCP to trip are
102 ///< automatically suspended (turned off)
103 boolean inhibitRelayControl; ///< If true, all relay control methods are disabled
104 };
105
106 /** %Outlet sequencing status */
107 structure OutletSequenceState {
108 boolean sequenceRunning; ///< \c true if an outlet sequence is currently running
109 int nextOutletToSwitch; ///< Number (0-based) of the next outlet in the sequence
110 int timeUntilNextSwitch; ///< Time in milliseconds before the next outlet is switched
111 int outletsRemaining; ///< Number of outlets remaining in the sequence
112 int cancelableOutletsRemaining; ///< Number of outlets remaining whose switch operation can be canceled
113 ///< (non-cancelable operations won't be affected by canceling the sequence)
114 };
115
116 /** Port with id and properties, used in PortAppearedEvent and getPorts() */
117 structure PortWithProperties {
118 string id; ///< this id corresponds to portID in PortDisappearedEvent
119 portsmodel.Port port; ///< the appeared port
120 portsmodel.Port.Properties properties; ///< actual properties of appeared port
121 };
122
123 /** Event: PDU settings have been changed */
124 valueobject SettingsChangedEvent extends event.UserEvent {
125 Settings oldSettings; ///< Settings before change
126 Settings newSettings; ///< Settings after change
127 };
128
129 /** Event: Load shedding mode was enabled or disabled */
130 valueobject LoadSheddingModeChangedEvent extends event.UserEvent {
131 boolean enabled; ///< Whether load shedding mode is enabled after the change
132 };
133
134 /** Event: Outlet sequencing state has changed */
135 valueobject OutletSequenceStateChangedEvent extends idl.Event {
136 OutletSequenceState newState; ///< New sequencing state
137 };
138
139 /** Event: Serial port has appeared */
140 valueobject PortAppearedEvent extends idl.Event {
141 PortWithProperties port; ///< port with id and actual properties
142 };
143
144 /** Event: Serial port has disappeared */
145 valueobject PortDisappearedEvent extends idl.Event {
146 string portId; ///< this id corresponds to port id used in PortAppearedEvent and getPorts()
147 };
148
149 /**
150 * Retrieve the PDU nameplate information.
151 *
152 * @return Nameplate information
153 */
154 Nameplate getNameplate();
155
156 /**
157 * Retrieve the PDU metadata.
158 *
159 * @return PDU metadata
160 */
161 MetaData getMetaData();
162
163 /**
164 * Retrieve the PDU sensors.
165 *
166 * @return PDU sensors
167 */
168 Sensors getSensors();
169
170 /**
171 * Get the sensor logger.
172 *
173 * @return Sensor logger reference
174 */
175 sensors.Logger getSensorLogger();
176
177 /**
178 * Get the alerted sensor manager.
179 *
180 * @return Alerted sensor manager
181 */
182 sensors.AlertedSensorManager getAlertedSensorManager();
183
184 /**
185 * Get the list of sub controllers.
186 *
187 * @return List of sub controllers
188 */
189 vector<Controller> getControllers();
190
191 /**
192 * Get the list of outlets.
193 *
194 * @return List of outlets, indexed by their number (0-based)
195 */
196 vector<Outlet> getOutlets();
197
198 /**
199 * Get the list of overcurrent protectors.
200 *
201 * @return List of OCPs, indexed by their number (0-based)
202 */
203 vector<OverCurrentProtector> getOverCurrentProtectors();
204
205 /**
206 * Get the list of inlets.
207 *
208 * @return List of inlets, indexed by their number (0-based)
209 */
210 vector<Inlet> getInlets();
211
212 /**
213 * Returns list of Transfer Switches.
214 * This list may be empty.
215 */
216 vector<TransferSwitch> getTransferSwitches();
217
218 /**
219 * Get the peripheral device manager.
220 *
221 * @return Peripheral device manager
222 */
223 peripheral.DeviceManager getPeripheralDeviceManager();
224
225 /**
226 * Get the built-in beeper, if there is any.
227 *
228 * @return Beeper interface
229 */
230 hmi.InternalBeeper getBeeper();
231
232 /**
233 * Retrieve the PDU settings.
234 *
235 * @return PDU settings
236 */
237 Settings getSettings();
238
239 /**
240 * Retrieve the current load shedding state.
241 *
242 * @return \c true if load shedding is currently enabled
243 */
244 boolean isLoadSheddingActive();
245
246 /**
247 * Change the PDU settings.
248 *
249 * @param settings New PDU settings
250 *
251 * @return 0 if OK
252 * @return 1 if any parameters are invalid
253 *
254 * @note The Settings structure can be "sparse"; fields missing in the
255 * JSON representation will remain unchanged.
256 */
257 int setSettings(in Settings settings);
258
259 /**
260 * Enable or disable load shedding.
261 *
262 * @param active \c true to enable, \c false to disable load shedding
263 */
264 void setLoadSheddingActive(in boolean active);
265
266 /**
267 * Get all feature ports of this device
268 *
269 * This returns an entry for all feature ports, no matter whether
270 * something is connected or not.
271 * A device with n feature ports will return n entries here.
272 *
273 * @return List of all Feature Ports
274 */
275 vector<portsmodel.Port> getFeaturePorts();
276
277 /**
278 * Get all sensor ports of this device
279 *
280 * This returns an entry for all sensor ports, no matter whether
281 * something is connected or not.
282 * A device with n sensor ports will return n entries here.
283 *
284 * @return List of all Sensor Ports
285 */
286 vector<portsmodel.Port> getSensorPorts();
287
288 /**
289 * Get all remote hub ports of this device
290 *
291 * This returns an entry for all remote hub ports, no matter whether
292 * something is connected or not.
293 * A device with n remote hub ports will return n entries here.
294 *
295 * @return List of all Remote Hub Ports
296 */
297 vector<portsmodel.Port> getRemoteHubPorts();
298
299 /**
300 * Get all serial ports of this device using filters
301 *
302 * This returns an entry for all detected ports, no matter whether
303 * something is connected or not. The ports may be filtered by
304 * peripheral.PortType and/or supported device type portsmodel.Port.DeviceTypeId.
305 *
306 * @param portType filter for port type, or use peripheral.Portype.UNSPECIFIED
307 * @param devType filter the ports that support a specific device, or use portsmodel.Port.DeviceTypeId.UNSPECIFIED
308 *
309 * @return List of ports with id and properties.
310 */
311 vector<PortWithProperties> getPorts(in peripheral.PortType portType, in portsmodel.Port.DeviceTypeId devType);
312
313 /**
314 * Enter RS485 config mode and assign an address to a relay board.
315 * @warning This is dangerous! Do not use except for manufacturing.
316 *
317 * @param addr New relay board address
318 *
319 * @return 0 if OK
320 * @return 1 if any parameters are invalid
321 */
322 int enterRS485ConfigModeAndAssignCtrlBoardAddress(in int addr);
323
324 /**
325 * Enter RS485 config mode and assign an address to a sub controller
326 * device with a given device ID.
327 * @warning This is dangerous! Do not use except for manufacturing.
328 *
329 * @param deviceId Device id of the sub controller
330 * which is supposed to get the address
331 * @param addr New relay board address
332 *
333 * @return 0 if OK
334 * @return 1 if any parameters are invalid
335 */
336 int enterRS485ConfigModeAndAssignSCBoardAddress(in int deviceId, in int addr);
337
338 /**
339 * Leave RS485 config mode.
340 *
341 * @return 0 if OK
342 */
343 int leaveRS485ConfigMode();
344
345 /**
346 * Switch all outlets.
347 *
348 * @param pstate New power state for all outlets
349 *
350 * @return 0 if OK
351 * @return 5 if relay control is disabled in the PDU settings
352 */
353 int setAllOutletPowerStates(in Outlet.PowerState pstate);
354
355 /**
356 * Switch multiple outlets.
357 *
358 * @param outletNumbers List of outlet numbers (0-based)
359 * @param state New power state for all outlets in list
360 * @param respectSequence \c true to switch in defined sequence order
361 *
362 * @return 0 if OK
363 * @return 3 if any of the selected outlets is disabled
364 * @return 5 if relay control is disabled in the PDU settings
365 */
366 int setMultipleOutletPowerStates(in vector<int> outletNumbers,
367 in Outlet.PowerState state,
368 in boolean respectSequence);
369
370 /**
371 * Power-cycle all outlets.
372 *
373 * @return 0 if OK
374 * @return 5 if relay control is disabled in the PDU settings
375 */
376 int cycleAllOutletPowerStates();
377
378 /**
379 * Power-cycle multiple outlets.
380 *
381 * @param outletNumbers List of outlet numbers (0-based)
382 * @param respectSequence \c true to switch in defined sequence order
383 *
384 * @return 0 if OK
385 * @return 3 if any of the selected outlets is disabled
386 * @return 5 if relay control is disabled in the PDU settings
387 */
388 int cycleMultipleOutletPowerStates(in vector<int> outletNumbers,
389 in boolean respectSequence);
390
391 /**
392 * Retrieve PDU statistics.
393 *
394 * @return PDU statistics
395 */
396 Statistic getStatistic();
397
398 /**
399 * Retrieve the current outlet sequencing status.
400 *
401 * @return Sequencing status
402 */
403 OutletSequenceState getOutletSequenceState();
404
405 /**
406 * Stop a currently running outlet sequence.
407 */
408 void cancelOutletSequence();
409
410 };
411
412}
413
414#endif
hmi::InternalBeeper
Internal beeper interface.
Definition InternalBeeper.idl:15
pdumodel::Outlet
Outlet interface
Definition Outlet.idl:30
pdumodel::Outlet::PowerState
PowerState
Outlet power state.
Definition Outlet.idl:56
pdumodel::Pdu
Main PDU interface.
Definition Pdu.idl:29
pdumodel::Pdu::getSensors
Sensors getSensors()
Retrieve the PDU sensors.
pdumodel::Pdu::cycleMultipleOutletPowerStates
int cycleMultipleOutletPowerStates(in vector< int > outletNumbers, in boolean respectSequence)
Power-cycle multiple outlets.
pdumodel::Pdu::getBeeper
hmi::InternalBeeper getBeeper()
Get the built-in beeper, if there is any.
pdumodel::Pdu::leaveRS485ConfigMode
int leaveRS485ConfigMode()
Leave RS485 config mode.
pdumodel::Pdu::getControllers
vector< Controller > getControllers()
Get the list of sub controllers.
pdumodel::Pdu::getSensorLogger
sensors::Logger getSensorLogger()
Get the sensor logger.
pdumodel::Pdu::getInlets
vector< Inlet > getInlets()
Get the list of inlets.
pdumodel::Pdu::getPorts
vector< PortWithProperties > getPorts(in peripheral::PortType portType, in portsmodel.Port.DeviceTypeId devType)
Get all serial ports of this device using filters.
pdumodel::Pdu::isLoadSheddingActive
boolean isLoadSheddingActive()
Retrieve the current load shedding state.
pdumodel::Pdu::setAllOutletPowerStates
int setAllOutletPowerStates(in Outlet::PowerState pstate)
Switch all outlets.
pdumodel::Pdu::getSettings
Settings getSettings()
Retrieve the PDU settings.
pdumodel::Pdu::PduOrientation
PduOrientation
PDU orientations.
Definition Pdu.idl:34
pdumodel::Pdu::PO_BOTTOMFEED
@ PO_BOTTOMFEED
Bottom feed PDU orientation (reversible ETO, normal order)
Definition Pdu.idl:36
pdumodel::Pdu::PO_NONE
@ PO_NONE
No PDU orientation (non-reversible ETO, default)
Definition Pdu.idl:35
pdumodel::Pdu::getOverCurrentProtectors
vector< OverCurrentProtector > getOverCurrentProtectors()
Get the list of overcurrent protectors.
pdumodel::Pdu::enterRS485ConfigModeAndAssignSCBoardAddress
int enterRS485ConfigModeAndAssignSCBoardAddress(in int deviceId, in int addr)
Enter RS485 config mode and assign an address to a sub controller device with a given device ID.
pdumodel::Pdu::getFeaturePorts
vector< portsmodel::Port > getFeaturePorts()
Get all feature ports of this device.
pdumodel::Pdu::cancelOutletSequence
void cancelOutletSequence()
Stop a currently running outlet sequence.
pdumodel::Pdu::setMultipleOutletPowerStates
int setMultipleOutletPowerStates(in vector< int > outletNumbers, in Outlet::PowerState state, in boolean respectSequence)
Switch multiple outlets.
pdumodel::Pdu::getRemoteHubPorts
vector< portsmodel::Port > getRemoteHubPorts()
Get all remote hub ports of this device.
pdumodel::Pdu::StartupState
StartupState
Outlet power state on device startup
Definition Pdu.idl:75
pdumodel::Pdu::SS_ON
@ SS_ON
Outlet will be switched on
Definition Pdu.idl:76
pdumodel::Pdu::SS_OFF
@ SS_OFF
Outlet will be switched off
Definition Pdu.idl:77
pdumodel::Pdu::getOutlets
vector< Outlet > getOutlets()
Get the list of outlets.
pdumodel::Pdu::setSettings
int setSettings(in Settings settings)
Change the PDU settings.
pdumodel::Pdu::getPeripheralDeviceManager
peripheral::DeviceManager getPeripheralDeviceManager()
Get the peripheral device manager.
pdumodel::Pdu::getNameplate
Nameplate getNameplate()
Retrieve the PDU nameplate information.
pdumodel::Pdu::getOutletSequenceState
OutletSequenceState getOutletSequenceState()
Retrieve the current outlet sequencing status.
pdumodel::Pdu::getAlertedSensorManager
sensors::AlertedSensorManager getAlertedSensorManager()
Get the alerted sensor manager.
pdumodel::Pdu::enterRS485ConfigModeAndAssignCtrlBoardAddress
int enterRS485ConfigModeAndAssignCtrlBoardAddress(in int addr)
Enter RS485 config mode and assign an address to a relay board.
pdumodel::Pdu::setLoadSheddingActive
void setLoadSheddingActive(in boolean active)
Enable or disable load shedding.
pdumodel::Pdu::getSensorPorts
vector< portsmodel::Port > getSensorPorts()
Get all sensor ports of this device.
pdumodel::Pdu::cycleAllOutletPowerStates
int cycleAllOutletPowerStates()
Power-cycle all outlets.
pdumodel::Pdu::getStatistic
Statistic getStatistic()
Retrieve PDU statistics.
pdumodel::Pdu::getMetaData
MetaData getMetaData()
Retrieve the PDU metadata.
pdumodel::Pdu::getTransferSwitches
vector< TransferSwitch > getTransferSwitches()
Returns list of Transfer Switches.
peripheral::DeviceManager
Peripheral Device Manager.
Definition PeripheralDeviceManager.idl:22
portsmodel::Port
Port interface.
Definition Port.idl:19
portsmodel::Port::DeviceTypeId
DeviceTypeId
devices types that may be connected to port
Definition Port.idl:35
sensors::AlertedSensorManager
A global instance keeping track of sensors in alerted state.
Definition AlertedSensorManager.idl:15
sensors::Logger
Sensor logger interface.
Definition SensorLogger.idl:31
sensors::NumericSensor
A sensor with numeric readings.
Definition NumericSensor.idl:17
sensors::StateSensor
Sensor with discrete readings.
Definition StateSensor.idl:43
hmi
Human Machine Interface.
Definition ExternalBeeper.idl:14
idl
Basic IDL definitions.
Definition Event.idl:10
pdumodel
PDU Model.
Definition Ade.idl:12
peripheral
Peripheral Devices.
Definition GatewaySensorManager.idl:17
portsmodel
Ports.
Definition Port.idl:16
sensors
Sensors Model.
Definition AccumulatingNumericSensor.idl:13
idl::Event
Common base for all events.
Definition Event.idl:13
pdumodel::Nameplate
Component nameplate information.
Definition Nameplate.idl:23
pdumodel::Pdu::LoadSheddingModeChangedEvent
Event: Load shedding mode was enabled or disabled.
Definition Pdu.idl:130
pdumodel::Pdu::LoadSheddingModeChangedEvent::enabled
boolean enabled
Whether load shedding mode is enabled after the change.
Definition Pdu.idl:131
pdumodel::Pdu::MetaData
PDU metadata.
Definition Pdu.idl:41
pdumodel::Pdu::MetaData::hasDCInlets
boolean hasDCInlets
true if at least one inlet is DC
Definition Pdu.idl:53
pdumodel::Pdu::MetaData::hasSwitchableOutlets
boolean hasSwitchableOutlets
true if at least one outlet is switchable
Definition Pdu.idl:47
pdumodel::Pdu::MetaData::hasMeteredOutlets
boolean hasMeteredOutlets
true if at least one outlet is metered
Definition Pdu.idl:48
pdumodel::Pdu::MetaData::isEnergyPulseSupported
boolean isEnergyPulseSupported
true if the PDU has one or more LED(s) capable of emitting pulses to measure consumed energy
Definition Pdu.idl:51
pdumodel::Pdu::MetaData::isInlineMeter
boolean isInlineMeter
true if all inlets have exactly one outlet
Definition Pdu.idl:50
pdumodel::Pdu::MetaData::hasLatchingOutletRelays
boolean hasLatchingOutletRelays
true if at least one outlet has a latching relay
Definition Pdu.idl:49
pdumodel::Pdu::MetaData::pduOrientation
PduOrientation pduOrientation
PDU orientation at boot.
Definition Pdu.idl:54
pdumodel::Pdu::MetaData::hwRevision
string hwRevision
Hardware revision.
Definition Pdu.idl:44
pdumodel::Pdu::MetaData::nameplate
Nameplate nameplate
Nameplate information
Definition Pdu.idl:42
pdumodel::Pdu::MetaData::fwRevision
string fwRevision
Firmware revision.
Definition Pdu.idl:45
pdumodel::Pdu::MetaData::macAddress
string macAddress
MAC address.
Definition Pdu.idl:46
pdumodel::Pdu::MetaData::ctrlBoardSerial
string ctrlBoardSerial
Main controller serial number.
Definition Pdu.idl:43
pdumodel::Pdu::OutletSequenceStateChangedEvent
Event: Outlet sequencing state has changed.
Definition Pdu.idl:135
pdumodel::Pdu::OutletSequenceStateChangedEvent::newState
OutletSequenceState newState
New sequencing state.
Definition Pdu.idl:136
pdumodel::Pdu::OutletSequenceState
Outlet sequencing status
Definition Pdu.idl:107
pdumodel::Pdu::OutletSequenceState::cancelableOutletsRemaining
int cancelableOutletsRemaining
Number of outlets remaining whose switch operation can be canceled (non-cancelable operations won't b...
Definition Pdu.idl:112
pdumodel::Pdu::OutletSequenceState::timeUntilNextSwitch
int timeUntilNextSwitch
Time in milliseconds before the next outlet is switched.
Definition Pdu.idl:110
pdumodel::Pdu::OutletSequenceState::outletsRemaining
int outletsRemaining
Number of outlets remaining in the sequence.
Definition Pdu.idl:111
pdumodel::Pdu::OutletSequenceState::sequenceRunning
boolean sequenceRunning
true if an outlet sequence is currently running
Definition Pdu.idl:108
pdumodel::Pdu::OutletSequenceState::nextOutletToSwitch
int nextOutletToSwitch
Number (0-based) of the next outlet in the sequence.
Definition Pdu.idl:109
pdumodel::Pdu::PortAppearedEvent
Event: Serial port has appeared.
Definition Pdu.idl:140
pdumodel::Pdu::PortAppearedEvent::port
PortWithProperties port
port with id and actual properties
Definition Pdu.idl:141
pdumodel::Pdu::PortDisappearedEvent
Event: Serial port has disappeared.
Definition Pdu.idl:145
pdumodel::Pdu::PortDisappearedEvent::portId
string portId
this id corresponds to port id used in PortAppearedEvent and getPorts()
Definition Pdu.idl:146
pdumodel::Pdu::PortWithProperties
Port with id and properties, used in PortAppearedEvent and getPorts()
Definition Pdu.idl:117
pdumodel::Pdu::PortWithProperties::id
string id
this id corresponds to portID in PortDisappearedEvent
Definition Pdu.idl:118
pdumodel::Pdu::PortWithProperties::port
portsmodel::Port port
the appeared port
Definition Pdu.idl:119
pdumodel::Pdu::PortWithProperties::properties
portsmodel::Port Properties properties
actual properties of appeared port
Definition Pdu.idl:120
pdumodel::Pdu::Sensors
PDU sensors.
Definition Pdu.idl:58
pdumodel::Pdu::Sensors::apparentEnergy
sensors::NumericSensor apparentEnergy
Active energy sensor.
Definition Pdu.idl:63
pdumodel::Pdu::Sensors::powerSupplyStatus
vector< sensors::StateSensor > powerSupplyStatus
Power supply fault status.
Definition Pdu.idl:59
pdumodel::Pdu::Sensors::apparentPower
sensors::NumericSensor apparentPower
Active power sensor.
Definition Pdu.idl:61
pdumodel::Pdu::Sensors::activeEnergy
sensors::NumericSensor activeEnergy
Active energy sensor.
Definition Pdu.idl:62
pdumodel::Pdu::Sensors::activePower
sensors::NumericSensor activePower
Active power sensor.
Definition Pdu.idl:60
pdumodel::Pdu::SettingsChangedEvent
Event: PDU settings have been changed.
Definition Pdu.idl:124
pdumodel::Pdu::SettingsChangedEvent::oldSettings
Settings oldSettings
Settings before change.
Definition Pdu.idl:125
pdumodel::Pdu::SettingsChangedEvent::newSettings
Settings newSettings
Settings after change.
Definition Pdu.idl:126
pdumodel::Pdu::Settings
PDU settings.
Definition Pdu.idl:83
pdumodel::Pdu::Settings::name
string name
User-defined name.
Definition Pdu.idl:84
pdumodel::Pdu::Settings::outletPowerStateSequence
vector< int > outletPowerStateSequence
The order in which multiple outlets should be switched.
Definition Pdu.idl:88
pdumodel::Pdu::Settings::cycleDelay
int cycleDelay
Default power-cycle interval in seconds; can be overriden per outlet.
Definition Pdu.idl:86
pdumodel::Pdu::Settings::inRushGuardDelay
int inRushGuardDelay
Minimum delay in milliseconds between switching two outlets on.
Definition Pdu.idl:87
pdumodel::Pdu::Settings::powerOnDelay
int powerOnDelay
Delay in seconds before restoring outlet states after power is applied to outlets.
Definition Pdu.idl:95
pdumodel::Pdu::Settings::inhibitRelayControl
boolean inhibitRelayControl
If true, all relay control methods are disabled.
Definition Pdu.idl:103
pdumodel::Pdu::Settings::suspendTripCauseOutlets
boolean suspendTripCauseOutlets
If true, outlets suspected to have caused an OCP to trip are automatically suspended (turned off)
Definition Pdu.idl:101
pdumodel::Pdu::Settings::energyPulsesPerKWh
int energyPulsesPerKWh
Ratio between LED pulses and energy consumption.
Definition Pdu.idl:98
pdumodel::Pdu::Settings::energyPulseEnabled
boolean energyPulseEnabled
Enables energy consumption counting using the PDU's LED(s)
Definition Pdu.idl:97
pdumodel::Pdu::Settings::latchingRelays
boolean latchingRelays
If true, relays keep their state during power-cycling.
Definition Pdu.idl:96
pdumodel::Pdu::Settings::startupState
StartupState startupState
Default outlet state after applying power to outlets; can be overriden per outlet.
Definition Pdu.idl:85
pdumodel::Pdu::Settings::demandUpdateInterval
int demandUpdateInterval
BCM2 only: Update interval in seconds for demand sensors.
Definition Pdu.idl:99
pdumodel::Pdu::Settings::demandAveragingIntervals
int demandAveragingIntervals
BCM2 only: Average demand sensors over this many update intervals.
Definition Pdu.idl:100
pdumodel::Pdu::Statistic
PDU statistics.
Definition Pdu.idl:67
pdumodel::Pdu::Statistic::cbStats
vector< CircuitBreakerStatistic > cbStats
Circuit breaker statistics.
Definition Pdu.idl:68
pdumodel::Pdu::Statistic::ctrlStats
vector< CtrlStatistic > ctrlStats
Sub controller statistics.
Definition Pdu.idl:69
pdumodel::Pdu::Statistic::peripheralStats
peripheral::DeviceManager Statistics peripheralStats
Peripheral device statistics.
Definition Pdu.idl:71
pdumodel::Pdu::Statistic::outletStats
vector< OutletStatistic > outletStats
Outlet statistics
Definition Pdu.idl:70
peripheral::DeviceManager::Statistics
Peripheral device statistics.
Definition PeripheralDeviceManager.idl:125
portsmodel::Port::Properties
Port properties.
Definition Port.idl:57