diff --git a/src/app/clusters/thermostat-server/thermostat-server.cpp b/src/app/clusters/thermostat-server/thermostat-server.cpp index 7676c870be8764..3d93b12851ce6c 100644 --- a/src/app/clusters/thermostat-server/thermostat-server.cpp +++ b/src/app/clusters/thermostat-server/thermostat-server.cpp @@ -353,8 +353,7 @@ Status CheckHeatingSetpointDeadband(bool autoSupported, int16_t newCoolingSetpoi { return Status::Success; } - int16_t maxValidHeatingSetpoint = newCoolingSetpoint; - maxValidHeatingSetpoint -= deadband; + int16_t maxValidHeatingSetpoint = static_cast(newCoolingSetpoint - deadband); if (maxValidHeatingSetpoint < minHeatingSetpoint) { // If we need to adjust the heating setpoint to preserve the deadband, it will go below the min heat setpoint @@ -380,8 +379,7 @@ Status CheckCoolingSetpointDeadband(bool autoSupported, int16_t newHeatingSetpoi { return Status::Success; } - int16_t minValidCoolingSetpoint = newHeatingSetpoint; - minValidCoolingSetpoint += deadband; + int16_t minValidCoolingSetpoint = static_cast(newHeatingSetpoint + deadband); if (minValidCoolingSetpoint > maxCoolingSetpoint) { // If we need to adjust the cooling setpoint to preserve the deadband, it will go above the max cool setpoint @@ -407,8 +405,7 @@ typedef Status (*SetpointSetter)(EndpointId endpoint, int16_t value, MarkAttribu void EnsureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSetpoint, int16_t newHeatingSetpoint, int16_t maxCoolingSetpoint, int16_t deadband, SetpointSetter setter) { - int16_t minValidCoolingSetpoint = newHeatingSetpoint; - minValidCoolingSetpoint += deadband; + int16_t minValidCoolingSetpoint = static_cast(newHeatingSetpoint + deadband); if (currentCoolingSetpoint >= minValidCoolingSetpoint) { // The current cooling setpoint doesn't violate the deadband @@ -443,8 +440,7 @@ void EnsureCoolingSetpointDeadband(EndpointId endpoint, int16_t currentCoolingSe void EnsureHeatingSetpointDeadband(EndpointId endpoint, int16_t currentHeatingSetpoint, int16_t newCoolingSetpoint, int16_t minHeatingSetpoint, int16_t deadband, SetpointSetter setter) { - int16_t maxValidHeatingSetpoint = newCoolingSetpoint; - maxValidHeatingSetpoint -= deadband; + int16_t maxValidHeatingSetpoint = static_cast(newCoolingSetpoint - deadband); if (currentHeatingSetpoint <= maxValidHeatingSetpoint) { // The current cooling setpoint doesn't violate the deadband