Lhx.idl
/* SPDX-License-Identifier: BSD-3-Clause */
/*
* Copyright 2011 Raritan Inc. All rights reserved.
*/
#ifndef __LHXMODEL_LHX_IDL__
#define __LHXMODEL_LHX_IDL__
#include <Sensor.idl>
#include "LhxSensor.idl"
#include "LhxParameter.idl"
/** LHX Model */
module lhxmodel {
/** LHX Interface */
interface Lhx_3_2_4 {
constant int ERR_INVALID_PARAMS = 1; ///< Invalid parameters
constant int ERR_NOT_SUPPORTED = 2; ///< Not supported
/** Configuration parameter characteristics */
structure ParamCfg {
double min; ///< Minimum value
double max; ///< Maximum value
int decdigits; ///< Number of significant decimal digits
};
/** LHX metadata */
structure MetaData {
string model; ///< The LHX model (e.g. "LHX 20")
string version; ///< The LHX firmware version, empty if not available
ParamCfg setpointWaterValveCfg; ///< Water valve configuration characteristics
ParamCfg setpointVentilatorsCfg; ///< Ventilators configuration characteristics
ParamCfg defaultFanSpeedCfg; ///< Default fan speed configuration characteristics
};
/** LHX settings */
structure Settings {
double setpointWaterValve; ///< setpoint temperature, default 20deg C
double setpointVentilators; ///< setpoint temperature, default 3deg C / Pa
double defaultFanSpeed; ///< fanspeed for 'normal' operation, default 80%
};
/** LHX alert status **/
structure AlertStatus {
vector<boolean> sensorFailure; ///< Sensor failure (broken or short circuit)
vector<boolean> fanFailure; ///< Fan motor failure
vector<boolean> powerSupplyFailure; ///< Power supply failure
boolean thresholdAirOutlet; ///< The air outlet temperature threshold was crossed
boolean thresholdAirInlet; ///< The air inlet temperature threshold was crossed
boolean thresholdWaterInlet; ///< The water inlet temperature threshold was crossed
boolean doorOpened; ///< The door was opened
boolean maximumCoolingRequest; ///< Maximum cooling was requested
boolean emergencyCooling; ///< LHX is in emergency cooling mode
boolean waterLeak; ///< Water leakage was detected
boolean thresholdHumidity; ///< The humidity threshold was crossed
boolean externalWaterCoolingFailure; ///< An external water cooling failure occurred
boolean thresholdWaterOutlet; ///< The water outlet temperature threshold was crossed
boolean stBusError; ///< ST-Bus communication error
boolean condenserPumpFailure; ///< Condenser pump failure occurred
boolean baseElectronicsFailure; ///< Base electronics failure occurred
boolean voltageLow; ///< The battery voltage is low
};
/** LHX operational state */
structure OpState {
boolean on; ///< LHX is switched on
AlertStatus alertStatus; ///< Alert status of LHX controller
int operatingHoursLhx; ///< Operating hours of Varistar LHX
vector<int> operatingHoursFan; ///< Operating hours of Fans
};
/** LHX capabilities **/
structure Capabilities {
AlertStatus alerts;
map<string, boolean> features;
};
/** Event: LHX operational status has changed */
valueobject OpStateChangedEvent extends idl.Event {
OpState oldState; ///< Status before change
OpState newState; ///< Status after change
};
/** Event: LHX settings have changed */
valueobject SettingsChangedEvent extends event.UserEvent {
Settings oldSettings; ///< Settings before change
Settings newSettings; ///< Settings after change
};
/**
* Retrieve the LHX capabilities (static).
*/
Capabilities getCapabilities();
/**
* Retrieve the LHX metadata.
*
* @return LHX metadata
*/
MetaData getMetaData();
/**
* Retrieve the LHX settings.
*
* @return LHX settings
*/
Settings getSettings();
/**
* Change the LHX settings.
*
* @param settings New LHX settings
*
* @return 0 if OK
* @return ERR_INVALID_PARAMS if any parameters are invalid
*/
int setSettings(in Settings settings);
/**
* Get LHX sensors
*/
vector<Sensor_4_0_3> getSensors();
/**
* Get LHX operational state
*/
OpState getOpState();
/**
* Switch powerstate of LHX
*
* @param state on or off
*
* @return 0 if OK
* @return ERR_NOT_SUPPORTED if operation is not supported
*/
int setPowerState(in sensors.Sensor_4_0_3.OnOffState state);
/**
* Get parameter list.
*/
vector<Parameter_2_0_1> getParameters();
/**
* Get actual value list.
*/
vector<Parameter_2_0_1> getActualValues();
/**
* Request maximum cooling.
*
* @param requested true if request maximum cooling
* false if request normal operation
*
* @return 0 if OK
* @return ERR_NOT_SUPPORTED if operation is not supported
*/
int setMaximumCoolingRequest(in boolean requested);
/**
* Acknowledge alert status
*
* @return 0 if OK
* @return ERR_NOT_SUPPORTED if operation is not supported
*/
int acknowledgeAlertStatus();
};
}
#endif /* !__LHXMODEL_LHX_IDL__ */
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