6#ifndef __PDUMODEL_PDU_IDL__
7#define __PDUMODEL_PDU_IDL__
9#include <Nameplate.idl>
11#include <PeripheralDeviceSlot.idl>
12#include <PeripheralDeviceManager.idl>
14#include <OverCurrentProtector.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>
31 constant
int ERR_INVALID_PARAM = 1;
368 in
boolean respectSequence);
389 in
boolean respectSequence);
Internal beeper interface.
PowerState
Outlet power state.
Sensors getSensors()
Retrieve the PDU sensors.
int cycleMultipleOutletPowerStates(in vector< int > outletNumbers, in boolean respectSequence)
Power-cycle multiple outlets.
hmi::InternalBeeper getBeeper()
Get the built-in beeper, if there is any.
int leaveRS485ConfigMode()
Leave RS485 config mode.
vector< Controller > getControllers()
Get the list of sub controllers.
sensors::Logger getSensorLogger()
Get the sensor logger.
vector< Inlet > getInlets()
Get the list of inlets.
vector< PortWithProperties > getPorts(in peripheral::PortType portType, in portsmodel.Port.DeviceTypeId devType)
Get all serial ports of this device using filters.
boolean isLoadSheddingActive()
Retrieve the current load shedding state.
int setAllOutletPowerStates(in Outlet::PowerState pstate)
Switch all outlets.
Settings getSettings()
Retrieve the PDU settings.
PduOrientation
PDU orientations.
@ PO_BOTTOMFEED
Bottom feed PDU orientation (reversible ETO, normal order)
@ PO_NONE
No PDU orientation (non-reversible ETO, default)
vector< OverCurrentProtector > getOverCurrentProtectors()
Get the list of overcurrent protectors.
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.
vector< portsmodel::Port > getFeaturePorts()
Get all feature ports of this device.
void cancelOutletSequence()
Stop a currently running outlet sequence.
int setMultipleOutletPowerStates(in vector< int > outletNumbers, in Outlet::PowerState state, in boolean respectSequence)
Switch multiple outlets.
vector< portsmodel::Port > getRemoteHubPorts()
Get all remote hub ports of this device.
StartupState
Outlet power state on device startup
@ SS_ON
Outlet will be switched on
@ SS_OFF
Outlet will be switched off
vector< Outlet > getOutlets()
Get the list of outlets.
int setSettings(in Settings settings)
Change the PDU settings.
peripheral::DeviceManager getPeripheralDeviceManager()
Get the peripheral device manager.
Nameplate getNameplate()
Retrieve the PDU nameplate information.
OutletSequenceState getOutletSequenceState()
Retrieve the current outlet sequencing status.
sensors::AlertedSensorManager getAlertedSensorManager()
Get the alerted sensor manager.
int enterRS485ConfigModeAndAssignCtrlBoardAddress(in int addr)
Enter RS485 config mode and assign an address to a relay board.
void setLoadSheddingActive(in boolean active)
Enable or disable load shedding.
vector< portsmodel::Port > getSensorPorts()
Get all sensor ports of this device.
int cycleAllOutletPowerStates()
Power-cycle all outlets.
Statistic getStatistic()
Retrieve PDU statistics.
MetaData getMetaData()
Retrieve the PDU metadata.
vector< TransferSwitch > getTransferSwitches()
Returns list of Transfer Switches.
Peripheral Device Manager.
DeviceTypeId
devices types that may be connected to port
A global instance keeping track of sensors in alerted state.
A sensor with numeric readings.
Sensor with discrete readings.
Common base for all events.
Component nameplate information.
Event: Load shedding mode was enabled or disabled.
boolean enabled
Whether load shedding mode is enabled after the change.
Event: Outlet sequencing state has changed.
OutletSequenceState newState
New sequencing state.
int cancelableOutletsRemaining
Number of outlets remaining whose switch operation can be canceled (non-cancelable operations won't b...
int timeUntilNextSwitch
Time in milliseconds before the next outlet is switched.
int outletsRemaining
Number of outlets remaining in the sequence.
boolean sequenceRunning
true if an outlet sequence is currently running
int nextOutletToSwitch
Number (0-based) of the next outlet in the sequence.
Event: Serial port has appeared.
PortWithProperties port
port with id and actual properties
Event: Serial port has disappeared.
string portId
this id corresponds to port id used in PortAppearedEvent and getPorts()
Port with id and properties, used in PortAppearedEvent and getPorts()
string id
this id corresponds to portID in PortDisappearedEvent
portsmodel::Port port
the appeared port
portsmodel::Port Properties properties
actual properties of appeared port
sensors::NumericSensor apparentEnergy
Active energy sensor.
vector< sensors::StateSensor > powerSupplyStatus
Power supply fault status.
sensors::NumericSensor apparentPower
Active power sensor.
sensors::NumericSensor activeEnergy
Active energy sensor.
sensors::NumericSensor activePower
Active power sensor.
Event: PDU settings have been changed.
Settings oldSettings
Settings before change.
Settings newSettings
Settings after change.
string name
User-defined name.
vector< int > outletPowerStateSequence
The order in which multiple outlets should be switched.
int cycleDelay
Default power-cycle interval in seconds; can be overriden per outlet.
int inRushGuardDelay
Minimum delay in milliseconds between switching two outlets on.
int powerOnDelay
Delay in seconds before restoring outlet states after power is applied to outlets.
boolean inhibitRelayControl
If true, all relay control methods are disabled.
boolean suspendTripCauseOutlets
If true, outlets suspected to have caused an OCP to trip are automatically suspended (turned off)
int energyPulsesPerKWh
Ratio between LED pulses and energy consumption.
boolean energyPulseEnabled
Enables energy consumption counting using the PDU's LED(s)
boolean latchingRelays
If true, relays keep their state during power-cycling.
StartupState startupState
Default outlet state after applying power to outlets; can be overriden per outlet.
int demandUpdateInterval
BCM2 only: Update interval in seconds for demand sensors.
int demandAveragingIntervals
BCM2 only: Average demand sensors over this many update intervals.
vector< CircuitBreakerStatistic > cbStats
Circuit breaker statistics.
vector< CtrlStatistic > ctrlStats
Sub controller statistics.
peripheral::DeviceManager Statistics peripheralStats
Peripheral device statistics.
vector< OutletStatistic > outletStats
Outlet statistics
Peripheral device statistics.