diff --git a/config/trane/TZEMT400AB32MAA.xml b/config/trane/TZEMT400AB32MAA.xml index 4daeff47..418bb062 100644 --- a/config/trane/TZEMT400AB32MAA.xml +++ b/config/trane/TZEMT400AB32MAA.xml @@ -5,242 +5,222 @@ - 0 + 0 = Gas/Elec, 1 = HeatPump - 0 + 0 = Gas, 1 = Elec - 0 + 0 = w/Cool, 1 = w/Heat - 1 + 0 = C, 1 = F - + - 1 - 0 + 0 = Unlocked, 1 = Locked - 5 + Sets the minimum off time before another heating/cooling cycle can begin to provide compressor short cycle protection. The thermostat screen will display WAIT when minimum off time is being enforced. - 6 + Sets the minimum run time before a heating/cooling cycle can turn off to prevent rapid cycling. Thermostat screen will display "Cool ON" or "Heat ON" while the minimum run time is being enforced. - 1 + Sets the delta from setpoint that stage 1 heating starts. - 0 + Sets the delta from setpoint that stage 1 heating stops. Stage 1 turns off at setpoint minus (-) Delta Stage 1. - 2 + Sets the delta from setpoint that stage 2 heating starts. - 0 + Sets the delta from setpoint that stage 2 heating stops. Stage 1 turns off at setpoint minus (-) Delta Stage 2. - 3 + Sets the delta from setpoint that stage 3 heating starts. - 0 + Sets the delta from setpoint that stage 3 heating stops. Stage 1 turns off at setpoint minus (-) Delta Stage 3. - 1 + Sets the delta from setpoint that stage 1 cooling starts. - 0 + Sets the delta from setpoint that stage 1 cooling stops. Stage 1 turns off at setpoint minus (-) Delta Stage 1. - 2 + Sets the delta from setpoint that stage 2 cooling starts. - 0 + Sets the delta from setpoint that stage 2 cooling stops. Stage 1 turns off at setpoint minus (-) Delta Stage 2. - + - 5 - + - 5 - 3 + Sets the minimum separation between the heating and cooling setpoints. Attempts to lower the cooling below the heating setpoint by this amount will PUSH the heating setpoint down to maintain this separation. Same for setting the heating setpoint above the cooling setpoint, it will PUSH the cooling setpoint up to maintain this separation. Settings in F. - 0 + 0 = No Setback, 1 = Setback, 2 if ESM - + - 5 - + - 5 - + - 5 - 65 + Energy Saving Mode (ESM) Setpoints are the setpoints used when the Energy Saving Mode schedule is selected in the Schedule Mode screen (or via Z-Wave control). Setting in F. - 80 + Energy Saving Mode (ESM) Setpoints are the setpoints used when the Energy Saving Mode schedule is selected in the Schedule Mode screen (or via Z-Wave control). - + - 5 - + - 5 - + - 5 - + - 3 - + - 0 - + - 5 - + - 5 - + - 0 - + - 1 - 0 + The fan cycler function cycles the HVAC system fan for an ON period followed by an OFF period continuously. Used to provide minimum air ventilation requirements. When the Fan ON time is set to a value greater than 0, an additional Cycler Fan mode is present when pressing the FAN button on the thermostat. - 0 + The fan cycler function cycles the HVAC system fan for an ON period followed by an OFF period continuously. Used to provide minimum air ventilation requirements. When the Fan ON time is set to a value greater than 0, an additional Cycler Fan mode is present when pressing the FAN button on the thermostat. - 0 + 0 = no 2nd stage heat, 1 = 2nd stage heat. - 1 + 0 = no aux heat, 1 = aux heat enabled. - + 0 = no 2nd stage cool, 1 = 2nd stage cool - + - 1 - + - 0 - + - 90 - + - 0 - 0 + Set to 1 if running schedule (RUN is displayed on the thermostat screen). - + - 13 - + Default: HOLD 80F / 26C @@ -248,12 +228,11 @@ ESM - + - 0 - + Heating 1 Setpoint (does this vary with ESM, etc. or is this for the "Hold" setting? Default: @@ -262,7 +241,7 @@ ESM 64F / xxC (unless parameter xx has been changed) - + Backlight Timeout is the time (in seconds) from the last button press to the backlight going out. The time-out @@ -272,7 +251,7 @@ Default: 30 - + Sets the maximum heating setpoint value. Will not ramp or accept setpoints higher than this maximum. @@ -281,7 +260,7 @@ Default: 90F / 32C - + Sets the minimum cooling setpoint value. Will not ramp or accept setpoints lower than this minimum. @@ -290,12 +269,11 @@ Default: 60F / 15C - + - 10 - + This is the time before any screen reverts to the Minimized Screen (temperature display only), after you stop pushing @@ -304,12 +282,11 @@ Default: 0 - + - 0 - + The internal temperature sensor can be calibrated to report values different from its actual reading. The offset can @@ -317,27 +294,23 @@ Default: 0 - + - 0 - + - 0 - + - 0 - + - 0 - + The Screen Contrast sets the contrast level of the LCD display. The contrast can be set between 0 and 20. If the display @@ -346,44 +319,36 @@ Default: 10 - + - 1 - + - 30 - + - 0 - + - 1 - + - 1 - + - 30 - + - 0 - + - 0 @@ -398,54 +363,44 @@ 0xf4 after reset - + - 0 - + - 0 - + - 1 - + - 44 - + - 0 - + - 0 - + - 1 - + - 44 - + - 0 - + - unknown @@ -460,193 +415,160 @@ 0xe4 after reset - + When enabled (set to 1), the local thermostat's scheduler function is enabled. Default: 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + Recovery enable? Default: 1 0x00 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + This value holds information about the first schedule setpoints for Sundays. @@ -660,7 +582,7 @@ 0x06001519 06:00AM 21C / 25C - + This value holds information about the second schedule setpoints for Sundays. @@ -674,7 +596,7 @@ 0x0800101d 08:00AM 16C / 29C - + This value holds information about the third schedule setpoints for Sundays. @@ -688,7 +610,7 @@ 0x12001519 06:00PM 21C / 25C - + This value holds information about the fourth schedule setpoints for Sundays. @@ -702,7 +624,7 @@ 0x1600101b 10:00PM 16C / 27C - + This value holds information about the first schedule setpoints for Mondays. diff --git a/config/trane/TZEMT400BB32MAA.xml b/config/trane/TZEMT400BB32MAA.xml index f3ca1881..d21ebcdf 100644 --- a/config/trane/TZEMT400BB32MAA.xml +++ b/config/trane/TZEMT400BB32MAA.xml @@ -6,242 +6,222 @@ - 0 + 0 = Gas/Elec, 1 = HeatPump - 0 + 0 = Gas, 1 = Elec - 0 + 0 = w/Cool, 1 = w/Heat - 1 + 0 = C, 1 = F - + - 1 - 0 + 0 = Unlocked, 1 = Locked - 5 + Sets the minimum off time before another heating/cooling cycle can begin to provide compressor short cycle protection. The thermostat screen will display WAIT when minimum off time is being enforced. - 6 + Sets the minimum run time before a heating/cooling cycle can turn off to prevent rapid cycling. Thermostat screen will display "Cool ON" or "Heat ON" while the minimum run time is being enforced. - 1 + Sets the delta from setpoint that stage 1 heating starts. - 0 + Sets the delta from setpoint that stage 1 heating stops. Stage 1 turns off at setpoint minus (-) Delta Stage 1. - 2 + Sets the delta from setpoint that stage 2 heating starts. - 0 + Sets the delta from setpoint that stage 2 heating stops. Stage 1 turns off at setpoint minus (-) Delta Stage 2. - 3 + Sets the delta from setpoint that stage 3 heating starts. - 0 + Sets the delta from setpoint that stage 3 heating stops. Stage 1 turns off at setpoint minus (-) Delta Stage 3. - 1 + Sets the delta from setpoint that stage 1 cooling starts. - 0 + Sets the delta from setpoint that stage 1 cooling stops. Stage 1 turns off at setpoint minus (-) Delta Stage 1. - 2 + Sets the delta from setpoint that stage 2 cooling starts. - 0 + Sets the delta from setpoint that stage 2 cooling stops. Stage 1 turns off at setpoint minus (-) Delta Stage 2. - + - 5 - + - 5 - 3 + Sets the minimum separation between the heating and cooling setpoints. Attempts to lower the cooling below the heating setpoint by this amount will PUSH the heating setpoint down to maintain this separation. Same for setting the heating setpoint above the cooling setpoint, it will PUSH the cooling setpoint up to maintain this separation. Settings in F. - 0 + 0 = No Setback, 1 = Setback, 2 if ESM - + - 5 - + - 5 - + - 5 - 65 + Energy Saving Mode (ESM) Setpoints are the setpoints used when the Energy Saving Mode schedule is selected in the Schedule Mode screen (or via Z-Wave control). Setting in F. - 80 + Energy Saving Mode (ESM) Setpoints are the setpoints used when the Energy Saving Mode schedule is selected in the Schedule Mode screen (or via Z-Wave control). - + - 5 - + - 5 - + - 5 - + - 3 - + - 0 - + - 5 - + - 5 - + - 0 - + - 1 - 0 + The fan cycler function cycles the HVAC system fan for an ON period followed by an OFF period continuously. Used to provide minimum air ventilation requirements. When the Fan ON time is set to a value greater than 0, an additional Cycler Fan mode is present when pressing the FAN button on the thermostat. - 0 + The fan cycler function cycles the HVAC system fan for an ON period followed by an OFF period continuously. Used to provide minimum air ventilation requirements. When the Fan ON time is set to a value greater than 0, an additional Cycler Fan mode is present when pressing the FAN button on the thermostat. - 0 + 0 = no 2nd stage heat, 1 = 2nd stage heat. - 1 + 0 = no aux heat, 1 = aux heat enabled. - + 0 = no 2nd stage cool, 1 = 2nd stage cool - + - 1 - + - 0 - + - 90 - + - 0 - 0 + Set to 1 if running schedule (RUN is displayed on the thermostat screen). - + - 13 - + Default: HOLD 80F / 26C @@ -249,12 +229,11 @@ ESM - + - 0 - + Heating 1 Setpoint (does this vary with ESM, etc. or is this for the "Hold" setting? Default: @@ -263,7 +242,7 @@ ESM 64F / xxC (unless parameter xx has been changed) - + Backlight Timeout is the time (in seconds) from the last button press to the backlight going out. The time-out @@ -273,7 +252,7 @@ Default: 30 - + Sets the maximum heating setpoint value. Will not ramp or accept setpoints higher than this maximum. @@ -282,7 +261,7 @@ Default: 90F / 32C - + Sets the minimum cooling setpoint value. Will not ramp or accept setpoints lower than this minimum. @@ -291,12 +270,11 @@ Default: 60F / 15C - + - 10 - + This is the time before any screen reverts to the Minimized Screen (temperature display only), after you stop pushing @@ -305,12 +283,11 @@ Default: 0 - + - 0 - + The internal temperature sensor can be calibrated to report values different from its actual reading. The offset can @@ -318,27 +295,23 @@ Default: 0 - + - 0 - + - 0 - + - 0 - + - 0 - + The Screen Contrast sets the contrast level of the LCD display. The contrast can be set between 0 and 20. If the display @@ -347,44 +320,36 @@ Default: 10 - + - 1 - + - 30 - + - 0 - + - 1 - + - 1 - + - 30 - + - 0 - + - 0 @@ -399,54 +364,44 @@ 0xf4 after reset - + - 0 - + - 0 - + - 1 - + - 44 - + - 0 - + - 0 - + - 1 - + - 44 - + - 0 - + - unknown @@ -461,193 +416,160 @@ 0xe4 after reset - + When enabled (set to 1), the local thermostat's scheduler function is enabled. Default: 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + - 0 0xff after reset - + - 0 - + - 0 - + Recovery enable? Default: 1 0x00 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + - 0 - + This value holds information about the first schedule setpoints for Sundays. @@ -661,7 +583,7 @@ 0x06001519 06:00AM 21C / 25C - + This value holds information about the second schedule setpoints for Sundays. @@ -675,7 +597,7 @@ 0x0800101d 08:00AM 16C / 29C - + This value holds information about the third schedule setpoints for Sundays. @@ -689,7 +611,7 @@ 0x12001519 06:00PM 21C / 25C - + This value holds information about the fourth schedule setpoints for Sundays. @@ -703,7 +625,7 @@ 0x1600101b 10:00PM 16C / 27C - + This value holds information about the first schedule setpoints for Mondays. diff --git a/cpp/src/command_classes/ThermostatMode.cpp b/cpp/src/command_classes/ThermostatMode.cpp index 60155cb8..ce71162c 100644 --- a/cpp/src/command_classes/ThermostatMode.cpp +++ b/cpp/src/command_classes/ThermostatMode.cpp @@ -121,6 +121,11 @@ void ThermostatMode::WriteXML TiXmlElement* _ccElement ) { + if( m_supportedModes.empty() ) + { + return; + } + CommandClass::WriteXML( _ccElement ); if( Node* node = GetNodeUnsafe() ) @@ -236,8 +241,10 @@ bool ThermostatMode::HandleMsg if( ValueList* valueList = static_cast( GetValue( _instance, 0 ) ) ) { valueList->OnValueChanged( _data[1]&0x1f ); - Log::Write( "Received thermostat mode from node %d: %s", GetNodeId(), valueList->GetItem().m_label.c_str() ); + Log::Write( "Received thermostat mode from node %d: %s", GetNodeId(), valueList->GetItem().m_label.c_str() ); } + else + Log::Write( "Received thermostat mode from node %d: index %d", GetNodeId(), _data[1]&0x1f ); Node* node = GetNodeUnsafe(); if( node != NULL && node->m_queryPending ) { diff --git a/cpp/src/value_classes/Value.cpp b/cpp/src/value_classes/Value.cpp index e7ee6216..e8cba073 100644 --- a/cpp/src/value_classes/Value.cpp +++ b/cpp/src/value_classes/Value.cpp @@ -241,7 +241,11 @@ void Value::ReadXML char const* str = helpElement->Value(); if( str && !strcmp( str, "Help" ) ) { - m_help = helpElement->GetText(); + str = helpElement->GetText(); + if( str ) + { + m_help = str; + } break; }