This module implements support for the Amphenol Telaire Ventostat T8100 Ventilation Controller with BACnet interface. It may also support the T8200 and T8300 models, but they have not been tested.
The Telaire Ventostat T8100 reports Temperature, Humidity and CO2 concentrations. It supports an optional relay with a settable trigger point. The unit this driver was tested under did not support the optional relay. The temperature range supported is 0-50C, humidity is 0-100% non-condensing, and CO2 range is appoximately 0-2000 PPM for the T8100. Other sensors in this family support wider ranges.
This module was developed using the upm::BACNETMSTP library, based on libbacnet-stack 0.8.3. Both libbacnet 0.8.3 and the upm::BACNETMSTP libraries must be present in order to build this module.
It was connected using an RS232->RS485 interface. You cannot use the built in MCU TTL UART pins for accessing this device – you must use a full Serial RS232->RS485 or USB-RS485 interface connected via USB.
string defaultDev = "/dev/ttyUSB0";
if (argc > 1)
defaultDev = string(argv[1]);
cout << "Using device " << defaultDev << endl;
cout << "Initializing..." << endl;
sensor.initMaster(defaultDev, 38400, 1000001, 2);
cout << endl;
cout << "Device Description: " << sensor.getDeviceDescription() << endl;
cout << "Device Location: " << sensor.getDeviceLocation() << endl;
cout << endl;
while (shouldRun) {
sensor.update();
cout << "CO2 Concentration: " << sensor.getCO2() << " ppm" << endl;
cout << "Temperature: " << sensor.getTemperature() << " C / " << sensor.getTemperature(true)
<< " F" << endl;
cout << "Humidity: " << sensor.getHumidity() << " %RH" << endl;
cout << "Relay State: " << sensor.getRelayState() << endl;
cout << endl;
upm_delay(5);
}
cout << "Exiting..." << endl;
|
enum | ANALOG_VALUES_T : uint32_t {
AV_Temperature_Offset = 1,
AV_RH_Offset = 2,
AV_Relay_Set_Point = 3,
AV_Relay_Hysteresis = 4,
AV_Elevation = 5,
AV_Calibration_Single_Point = 6,
AV_Baud_Rate = 7,
AV_MAC_Address = 8
} |
|
enum | ANALOG_INPUTS_T : uint32_t { AI_CO2 = 1,
AI_Relative_Humidity = 2,
AI_Temperature_ChipCap = 3,
AI_Temperature_Thermistor = 4
} |
|
enum | BINARY_VALUES_T : uint32_t { BV_Temperature_Units = 1,
BV_ABC_Logic_State = 2,
BV_ABC_Logic_Reset = 3,
BV_CO2_Calibration = 4
} |
|
enum | BINARY_INPUTS_T : uint32_t { BI_Relay_State = 1
} |
|
|
| T8100 (uint32_t targetDeviceObjectID) |
|
| ~T8100 () |
|
void | update () |
|
float | getHumidity () |
|
float | getCO2 () |
|
float | getTemperature (bool fahrenheit=false) |
|
bool | getRelayState () |
|
void | setTemperatureScale (bool fahrenheit) |
|
bool | getTemperatureScale () |
|
float | getTemperatureOffset () |
|
void | setTemperatureOffset (float value) |
|
float | getHumidityOffset () |
|
void | setHumidityOffset (float value) |
|
float | getRelaySetPoint () |
|
void | setRelaySetPoint (float value) |
|
float | getRelayHysteresis () |
|
void | setRelayHysteresis (float value) |
|
float | getElevation () |
|
void | setElevation (float value) |
|
float | getCalibrationSinglePoint () |
|
void | setCalibrationSinglePoint (float value) |
|
float | getBaudRate () |
|
float | getMACAddress () |
|
bool | getABCLogicState () |
|
void | setABCLogicState (bool value) |
|
bool | getABCLogicReset () |
|
void | setABCLogicReset (bool value) |
|
bool | getCO2Calibration () |
|
void | setCO2Calibration (bool value) |
|
| BACNETUTIL (uint32_t targetDeviceObjectID) |
|
virtual | ~BACNETUTIL () |
|
virtual void | initMaster (std::string port, int baudRate, int deviceInstanceNumber, int macAddr, int maxMaster=DEFAULT_MAX_MASTER, int maxInfoFrames=1) |
|
virtual void | setDebug (bool enable) |
|
virtual float | getAnalogValue (uint32_t objInstance) |
|
virtual void | setAnalogValue (uint32_t objInstance, float value) |
|
virtual float | getAnalogInput (uint32_t objInstance) |
|
virtual std::string | getAnalogValueUnits (uint32_t objInstance) |
|
virtual std::string | getAnalogInputUnits (uint32_t objInstance) |
|
virtual bool | getBinaryInput (uint32_t objInstance) |
|
virtual std::string | lookupBinaryInputText (uint32_t objInstance, bool value) |
|
virtual std::string | getBinaryInputText (uint32_t objInstance) |
|
virtual bool | getBinaryValue (uint32_t objInstance) |
|
virtual void | setBinaryValue (uint32_t objInstance, bool value) |
|
virtual std::string | lookupBinaryValueText (uint32_t objInstance, bool value) |
|
virtual std::string | getBinaryValueText (uint32_t objInstance) |
|
virtual unsigned int | getMultiStateValue (uint32_t objInstance) |
|
virtual std::string | lookupMultiStateValueText (uint32_t objInstance, unsigned int value) |
|
virtual std::string | getMultiStateValueText (uint32_t objInstance) |
|
virtual unsigned int | getMultiStateValueMaxStates (uint32_t objInstance) |
|
virtual void | setMultiStateValue (uint32_t objInstance, unsigned int value) |
|
virtual void | checkReliability (bool enable) |
|
virtual std::string | getDeviceDescription () |
|
virtual std::string | getDeviceLocation () |
|
virtual bool | setDeviceLocation (std::string location) |
|
virtual std::string | getDeviceName () |
|
virtual bool | setDeviceName (std::string name) |
|
virtual std::string | getAllErrorString () |
|
virtual BACNETMSTP::BACERR_TYPE_T | getErrorType () |
|
virtual uint8_t | getRejectReason () |
|
virtual std::string | getRejectString () |
|
virtual uint8_t | getAbortReason () |
|
virtual std::string | getAbortString () |
|
virtual BACNET_ERROR_CLASS | getErrorClass () |
|
virtual BACNET_ERROR_CODE | getErrorCode () |
|
virtual std::string | getErrorString () |
|
virtual std::string | getUPMErrorString () |
|
|
typedef std::map< uint32_t, binaryData_t > | binaryInfo_t |
|
typedef std::map< uint32_t, multiStateData_t > | multiStateInfo_t |
|
typedef std::map< uint32_t, std::string > | avCacheMap_t |
|
typedef std::map< uint32_t, std::string > | aiCacheMap_t |
|
virtual void | updateMultiStateValueInfo (uint32_t objInstance) |
|
virtual void | deleteMultiStateValueInfo (uint32_t objInstance) |
|
virtual void | updateBinaryValueInfo (uint32_t objInstance) |
|
virtual void | deleteBinaryValueInfo (uint32_t objInstance) |
|
virtual void | updateBinaryInputInfo (uint32_t objInstance) |
|
virtual void | deleteBinaryInputInfo (uint32_t objInstance) |
|