Raritan PX2/PX3 JSON-RPC API

Lhx.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3 * Copyright 2011 Raritan Inc. All rights reserved.
4 */
5
6 #ifndef __LHXMODEL_LHX_IDL__
7 #define __LHXMODEL_LHX_IDL__
8
9 #include <Sensor.idl>
10 #include "LhxSensor.idl"
11 #include "LhxParameter.idl"
12
13 /** LHX Model */
14 module lhxmodel {
15
16 /** LHX Interface */
17 interface Lhx_3_2_4 {
18 constant int ERR_INVALID_PARAMS = 1; ///< Invalid parameters
19 constant int ERR_NOT_SUPPORTED = 2; ///< Not supported
20
21 /** Configuration parameter characteristics */
22 structure ParamCfg {
23 double min; ///< Minimum value
24 double max; ///< Maximum value
25 int decdigits; ///< Number of significant decimal digits
26 };
27
28 /** LHX metadata */
29 structure MetaData {
30 string model; ///< The LHX model (e.g. "LHX 20")
31 string version; ///< The LHX firmware version, empty if not available
32 ParamCfg setpointWaterValveCfg; ///< Water valve configuration characteristics
33 ParamCfg setpointVentilatorsCfg; ///< Ventilators configuration characteristics
34 ParamCfg defaultFanSpeedCfg; ///< Default fan speed configuration characteristics
35 };
36
37 /** LHX settings */
38 structure Settings {
39 double setpointWaterValve; ///< setpoint temperature, default 20deg C
40 double setpointVentilators; ///< setpoint temperature, default 3deg C / Pa
41 double defaultFanSpeed; ///< fanspeed for 'normal' operation, default 80%
42 };
43
44 /** LHX alert status **/
45 structure AlertStatus {
46 vector<boolean> sensorFailure; ///< Sensor failure (broken or short circuit)
47 vector<boolean> fanFailure; ///< Fan motor failure
48 vector<boolean> powerSupplyFailure; ///< Power supply failure
49 boolean thresholdAirOutlet; ///< The air outlet temperature threshold was crossed
50 boolean thresholdAirInlet; ///< The air inlet temperature threshold was crossed
51 boolean thresholdWaterInlet; ///< The water inlet temperature threshold was crossed
52 boolean doorOpened; ///< The door was opened
53 boolean maximumCoolingRequest; ///< Maximum cooling was requested
54 boolean emergencyCooling; ///< LHX is in emergency cooling mode
55 boolean waterLeak; ///< Water leakage was detected
56 boolean thresholdHumidity; ///< The humidity threshold was crossed
57 boolean externalWaterCoolingFailure; ///< An external water cooling failure occurred
58 boolean thresholdWaterOutlet; ///< The water outlet temperature threshold was crossed
59 boolean stBusError; ///< ST-Bus communication error
60 boolean condenserPumpFailure; ///< Condenser pump failure occurred
61 boolean baseElectronicsFailure; ///< Base electronics failure occurred
62 boolean voltageLow; ///< The battery voltage is low
63 };
64
65 /** LHX operational state */
66 structure OpState {
67 boolean on; ///< LHX is switched on
68 AlertStatus alertStatus; ///< Alert status of LHX controller
69 int operatingHoursLhx; ///< Operating hours of Varistar LHX
70 vector<int> operatingHoursFan; ///< Operating hours of Fans
71 };
72
73 /** LHX capabilities **/
74 structure Capabilities {
75 AlertStatus alerts;
76 map<string, boolean> features;
77 };
78
79 /** Event: LHX operational status has changed */
80 valueobject OpStateChangedEvent extends idl.Event {
81 OpState oldState; ///< Status before change
82 OpState newState; ///< Status after change
83 };
84
85 /** Event: LHX settings have changed */
86 valueobject SettingsChangedEvent extends event.UserEvent {
87 Settings oldSettings; ///< Settings before change
88 Settings newSettings; ///< Settings after change
89 };
90
91 /**
92 * Retrieve the LHX capabilities (static).
93 */
94 Capabilities getCapabilities();
95
96 /**
97 * Retrieve the LHX metadata.
98 *
99 * @return LHX metadata
100 */
101 MetaData getMetaData();
102
103 /**
104 * Retrieve the LHX settings.
105 *
106 * @return LHX settings
107 */
108 Settings getSettings();
109
110 /**
111 * Change the LHX settings.
112 *
113 * @param settings New LHX settings
114 *
115 * @return 0 if OK
116 * @return ERR_INVALID_PARAMS if any parameters are invalid
117 */
118 int setSettings(in Settings settings);
119
120 /**
121 * Get LHX sensors
122 */
123 vector<Sensor_4_0_3> getSensors();
124
125 /**
126 * Get LHX operational state
127 */
128 OpState getOpState();
129
130 /**
131 * Switch powerstate of LHX
132 *
133 * @param state on or off
134 *
135 * @return 0 if OK
136 * @return ERR_NOT_SUPPORTED if operation is not supported
137 */
138 int setPowerState(in sensors.Sensor_4_0_3.OnOffState state);
139
140 /**
141 * Get parameter list.
142 */
143 vector<Parameter_2_0_1> getParameters();
144
145 /**
146 * Get actual value list.
147 */
148 vector<Parameter_2_0_1> getActualValues();
149
150 /**
151 * Request maximum cooling.
152 *
153 * @param requested true if request maximum cooling
154 * false if request normal operation
155 *
156 * @return 0 if OK
157 * @return ERR_NOT_SUPPORTED if operation is not supported
158 */
159 int setMaximumCoolingRequest(in boolean requested);
160
161 /**
162 * Acknowledge alert status
163 *
164 * @return 0 if OK
165 * @return ERR_NOT_SUPPORTED if operation is not supported
166 */
167 int acknowledgeAlertStatus();
168 };
169
170 }
171
172 #endif /* !__LHXMODEL_LHX_IDL__ */
173
lhxmodel::Lhx_3_2_4::OpState::operatingHoursLhx
int operatingHoursLhx
Operating hours of Varistar LHX.
Definition: Lhx.idl:69
lhxmodel::Lhx_3_2_4::ParamCfg::max
double max
Maximum value.
Definition: Lhx.idl:24
lhxmodel::Lhx_3_2_4::AlertStatus::stBusError
boolean stBusError
ST-Bus communication error.
Definition: Lhx.idl:59
lhxmodel::Lhx_3_2_4::AlertStatus::thresholdWaterOutlet
boolean thresholdWaterOutlet
The water outlet temperature threshold was crossed.
Definition: Lhx.idl:58
lhxmodel::Lhx_3_2_4::AlertStatus::thresholdAirOutlet
boolean thresholdAirOutlet
The air outlet temperature threshold was crossed.
Definition: Lhx.idl:49
lhxmodel::Lhx_3_2_4
LHX Interface.
Definition: Lhx.idl:17
lhxmodel::Lhx_3_2_4::AlertStatus::condenserPumpFailure
boolean condenserPumpFailure
Condenser pump failure occurred.
Definition: Lhx.idl:60
lhxmodel::Lhx_3_2_4::AlertStatus::waterLeak
boolean waterLeak
Water leakage was detected.
Definition: Lhx.idl:55
lhxmodel::Lhx_3_2_4::ParamCfg::min
double min
Minimum value.
Definition: Lhx.idl:23
lhxmodel::Lhx_3_2_4::OpState
LHX operational state.
Definition: Lhx.idl:66
lhxmodel::Lhx_3_2_4::OpState::alertStatus
AlertStatus alertStatus
Alert status of LHX controller.
Definition: Lhx.idl:68
lhxmodel::Lhx_3_2_4::Capabilities
LHX capabilities.
Definition: Lhx.idl:74
lhxmodel::Lhx_3_2_4::ParamCfg::decdigits
int decdigits
Number of significant decimal digits.
Definition: Lhx.idl:25
lhxmodel::Lhx_3_2_4::AlertStatus::sensorFailure
vector< boolean > sensorFailure
Sensor failure (broken or short circuit)
Definition: Lhx.idl:46
lhxmodel::Lhx_3_2_4::Settings::setpointWaterValve
double setpointWaterValve
setpoint temperature, default 20deg C
Definition: Lhx.idl:39
lhxmodel::Lhx_3_2_4::AlertStatus::thresholdAirInlet
boolean thresholdAirInlet
The air inlet temperature threshold was crossed.
Definition: Lhx.idl:50
lhxmodel
LHX Model.
Definition: Lhx.idl:14
idl
Basic IDL definitions.
Definition: Event.idl:10
lhxmodel::Lhx_3_2_4::AlertStatus::thresholdWaterInlet
boolean thresholdWaterInlet
The water inlet temperature threshold was crossed.
Definition: Lhx.idl:51
lhxmodel::Lhx_3_2_4::MetaData
LHX metadata.
Definition: Lhx.idl:29
lhxmodel::Lhx_3_2_4::newState
OpState newState
Status after change.
Definition: Lhx.idl:82
lhxmodel::Lhx_3_2_4::OpState::on
boolean on
LHX is switched on.
Definition: Lhx.idl:67
lhxmodel::Lhx_3_2_4::MetaData::setpointWaterValveCfg
ParamCfg setpointWaterValveCfg
Water valve configuration characteristics.
Definition: Lhx.idl:32
lhxmodel::Lhx_3_2_4::AlertStatus::emergencyCooling
boolean emergencyCooling
LHX is in emergency cooling mode.
Definition: Lhx.idl:54
lhxmodel::Lhx_3_2_4::AlertStatus::externalWaterCoolingFailure
boolean externalWaterCoolingFailure
An external water cooling failure occurred.
Definition: Lhx.idl:57
sensors::Sensor_4_0_3
Sensor interface
Definition: Sensor.idl:15
lhxmodel::Lhx_3_2_4::MetaData::version
string version
The LHX firmware version, empty if not available.
Definition: Lhx.idl:31
lhxmodel::Lhx_3_2_4::MetaData::defaultFanSpeedCfg
ParamCfg defaultFanSpeedCfg
Default fan speed configuration characteristics.
Definition: Lhx.idl:34
lhxmodel::Lhx_3_2_4::AlertStatus
LHX alert status.
Definition: Lhx.idl:45
lhxmodel::Lhx_3_2_4::AlertStatus::fanFailure
vector< boolean > fanFailure
Fan motor failure.
Definition: Lhx.idl:47
sensors
Sensors Model.
Definition: AccumulatingNumericSensor.idl:13
sensors::Sensor_4_0_3::OnOffState
OnOffState
Sensor states for DISCRETE_ON_OFF sensors.
Definition: Sensor.idl:25
lhxmodel::Lhx_3_2_4::Settings::defaultFanSpeed
double defaultFanSpeed
fanspeed for &#39;normal&#39; operation, default 80%
Definition: Lhx.idl:41
lhxmodel::Lhx_3_2_4::Settings
LHX settings.
Definition: Lhx.idl:38
lhxmodel::Lhx_3_2_4::AlertStatus::voltageLow
boolean voltageLow
The battery voltage is low.
Definition: Lhx.idl:62
lhxmodel::Lhx_3_2_4::MetaData::setpointVentilatorsCfg
ParamCfg setpointVentilatorsCfg
Ventilators configuration characteristics.
Definition: Lhx.idl:33
lhxmodel::Lhx_3_2_4::newSettings
Settings newSettings
Settings after change.
Definition: Lhx.idl:88
lhxmodel::Lhx_3_2_4::OpState::operatingHoursFan
vector< int > operatingHoursFan
Operating hours of Fans.
Definition: Lhx.idl:70
lhxmodel::Lhx_3_2_4::AlertStatus::maximumCoolingRequest
boolean maximumCoolingRequest
Maximum cooling was requested.
Definition: Lhx.idl:53
lhxmodel::Lhx_3_2_4::MetaData::model
string model
The LHX model (e.g. "LHX 20")
Definition: Lhx.idl:30
lhxmodel::Lhx_3_2_4::AlertStatus::baseElectronicsFailure
boolean baseElectronicsFailure
Base electronics failure occurred.
Definition: Lhx.idl:61
lhxmodel::Lhx_3_2_4::AlertStatus::thresholdHumidity
boolean thresholdHumidity
The humidity threshold was crossed.
Definition: Lhx.idl:56
lhxmodel::Lhx_3_2_4::AlertStatus::doorOpened
boolean doorOpened
The door was opened.
Definition: Lhx.idl:52
lhxmodel::Lhx_3_2_4::AlertStatus::powerSupplyFailure
vector< boolean > powerSupplyFailure
Power supply failure.
Definition: Lhx.idl:48
lhxmodel::Lhx_3_2_4::Settings::setpointVentilators
double setpointVentilators
setpoint temperature, default 3deg C / Pa
Definition: Lhx.idl:40
lhxmodel::Lhx_3_2_4::ParamCfg
Configuration parameter characteristics.
Definition: Lhx.idl:22