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 
int operatingHoursLhx
Operating hours of Varistar LHX.
Definition: Lhx.idl:69
double max
Maximum value.
Definition: Lhx.idl:24
boolean stBusError
ST-Bus communication error.
Definition: Lhx.idl:59
boolean thresholdWaterOutlet
The water outlet temperature threshold was crossed.
Definition: Lhx.idl:58
boolean thresholdAirOutlet
The air outlet temperature threshold was crossed.
Definition: Lhx.idl:49
LHX Interface.
Definition: Lhx.idl:17
boolean condenserPumpFailure
Condenser pump failure occurred.
Definition: Lhx.idl:60
boolean waterLeak
Water leakage was detected.
Definition: Lhx.idl:55
double min
Minimum value.
Definition: Lhx.idl:23
LHX operational state.
Definition: Lhx.idl:66
AlertStatus alertStatus
Alert status of LHX controller.
Definition: Lhx.idl:68
LHX capabilities.
Definition: Lhx.idl:74
int decdigits
Number of significant decimal digits.
Definition: Lhx.idl:25
vector< boolean > sensorFailure
Sensor failure (broken or short circuit)
Definition: Lhx.idl:46
double setpointWaterValve
setpoint temperature, default 20deg C
Definition: Lhx.idl:39
boolean thresholdAirInlet
The air inlet temperature threshold was crossed.
Definition: Lhx.idl:50
LHX Model.
Definition: Lhx.idl:14
Basic IDL definitions.
Definition: Event.idl:10
boolean thresholdWaterInlet
The water inlet temperature threshold was crossed.
Definition: Lhx.idl:51
LHX metadata.
Definition: Lhx.idl:29
OpState newState
Status after change.
Definition: Lhx.idl:82
boolean on
LHX is switched on.
Definition: Lhx.idl:67
ParamCfg setpointWaterValveCfg
Water valve configuration characteristics.
Definition: Lhx.idl:32
boolean emergencyCooling
LHX is in emergency cooling mode.
Definition: Lhx.idl:54
boolean externalWaterCoolingFailure
An external water cooling failure occurred.
Definition: Lhx.idl:57
Sensor interface
Definition: Sensor.idl:15
string version
The LHX firmware version, empty if not available.
Definition: Lhx.idl:31
ParamCfg defaultFanSpeedCfg
Default fan speed configuration characteristics.
Definition: Lhx.idl:34
LHX alert status.
Definition: Lhx.idl:45
vector< boolean > fanFailure
Fan motor failure.
Definition: Lhx.idl:47
Sensors Model.
Definition: AccumulatingNumericSensor.idl:13
OnOffState
Sensor states for DISCRETE_ON_OFF sensors.
Definition: Sensor.idl:25
double defaultFanSpeed
fanspeed for &#39;normal&#39; operation, default 80%
Definition: Lhx.idl:41
LHX settings.
Definition: Lhx.idl:38
boolean voltageLow
The battery voltage is low.
Definition: Lhx.idl:62
ParamCfg setpointVentilatorsCfg
Ventilators configuration characteristics.
Definition: Lhx.idl:33
Settings newSettings
Settings after change.
Definition: Lhx.idl:88
vector< int > operatingHoursFan
Operating hours of Fans.
Definition: Lhx.idl:70
boolean maximumCoolingRequest
Maximum cooling was requested.
Definition: Lhx.idl:53
string model
The LHX model (e.g. "LHX 20")
Definition: Lhx.idl:30
boolean baseElectronicsFailure
Base electronics failure occurred.
Definition: Lhx.idl:61
boolean thresholdHumidity
The humidity threshold was crossed.
Definition: Lhx.idl:56
boolean doorOpened
The door was opened.
Definition: Lhx.idl:52
vector< boolean > powerSupplyFailure
Power supply failure.
Definition: Lhx.idl:48
double setpointVentilators
setpoint temperature, default 3deg C / Pa
Definition: Lhx.idl:40
Configuration parameter characteristics.
Definition: Lhx.idl:22