A wireless controller (112, 200) configured to set a programmable setpoint of a remote HVAC unit, wherein the remote HVAC unit is configured to thermostatically control a temperature in a space based at least in part on a temperature sensed by a local temperature sensor (124, 210) of the remote HVAC unit and the programmable setpoint, the wireless controller comprising: a transmitter configured to wirelessly transmit one or more commands to set the programmable setpoint of the remote HVAC unit; a memory for storing a desired setpoint temperature; a temperature sensor for sensing a temperature at the wireless controller; a controller operatively coupled to the transmitter, the temperature sensor, and the memory, the controller configured to: transmit one or more commands via the transmitter to set the programmable setpoint of the remote HVAC unit to the desired setpoint temperature; wait until the temperature sensed by the temperature sensor of the wireless controller stabilizes at a stabilized temperature; determine a difference between the desired setpoint temperature and the stabilized temperature, resulting in an offset temperature; if the offset temperature is greater than or equal to a threshold offset, then: determine an updated control setpoint temperature based on the offset temperature and the desired setpoint temperature; and transmit one or more commands to set the programmable setpoint of the remote HVAC unit to the updated control setpoint temperature. a transmitter configured to wirelessly transmit one or more commands to set the programmable setpoint of the remote HVAC unit; a memory for storing a desired setpoint temperature; a temperature sensor for sensing a temperature at the wireless controller; a controller operatively coupled to the transmitter, the temperature sensor, and the memory, the controller configured to: transmit one or more commands via the transmitter to set the programmable setpoint of the remote HVAC unit to the desired setpoint temperature; wait until the temperature sensed by the temperature sensor of the wireless controller stabilizes at a stabilized temperature; determine a difference between the desired setpoint temperature and the stabilized temperature, resulting in an offset temperature; if the offset temperature is greater than or equal to a threshold offset, then: determine an updated control setpoint temperature based on the offset temperature and the desired setpoint temperature; and transmit one or more commands to set the programmable setpoint of the remote HVAC unit to the updated control setpoint temperature. transmit one or more commands via the transmitter to set the programmable setpoint of the remote HVAC unit to the desired setpoint temperature; wait until the temperature sensed by the temperature sensor of the wireless controller stabilizes at a stabilized temperature; determine a difference between the desired setpoint temperature and the stabilized temperature, resulting in an offset temperature; if the offset temperature is greater than or equal to a threshold offset, then: determine an updated control setpoint temperature based on the offset temperature and the desired setpoint temperature; and transmit one or more commands to set the programmable setpoint of the remote HVAC unit to the updated control setpoint temperature. determine an updated control setpoint temperature based on the offset temperature and the desired setpoint temperature; and transmit one or more commands to set the programmable setpoint of the remote HVAC unit to the updated control setpoint temperature.