An intelligent controller (402, 802, 1304, 1306) for controlling an environment, the intelligent controller comprising: a processor; a memory; a current control schedule stored in the memory; one or more sensors (708-710, 810-812) for sensing current values of an environmental parameter; instructions stored within the memory that, when executed by the processor, cause the intelligent controller, during a response time following an immediate-control input or a scheduled setpoint change recorded in the control schedule, to: at each of multiple points in time: record, in the memory, a current value for the environmental parameter; when the environmental parameter values recorded in memory fit a local model for change in the parameter with time, determine a remaining response time using the local model, storing the determined response time in memory, and sending the remaining response time to be displayed on a display device; and when the environmental parameter values do not fit a local model but fit a global model, determine a remaining response time using the global model, storing the determined response time in memory, and sending the remaining response time to be displayed on the display device. a processor; a memory; a current control schedule stored in the memory; one or more sensors (708-710, 810-812) for sensing current values of an environmental parameter; instructions stored within the memory that, when executed by the processor, cause the intelligent controller, during a response time following an immediate-control input or a scheduled setpoint change recorded in the control schedule, to: at each of multiple points in time: record, in the memory, a current value for the environmental parameter; when the environmental parameter values recorded in memory fit a local model for change in the parameter with time, determine a remaining response time using the local model, storing the determined response time in memory, and sending the remaining response time to be displayed on a display device; and when the environmental parameter values do not fit a local model but fit a global model, determine a remaining response time using the global model, storing the determined response time in memory, and sending the remaining response time to be displayed on the display device. at each of multiple points in time: record, in the memory, a current value for the environmental parameter; when the environmental parameter values recorded in memory fit a local model for change in the parameter with time, determine a remaining response time using the local model, storing the determined response time in memory, and sending the remaining response time to be displayed on a display device; and when the environmental parameter values do not fit a local model but fit a global model, determine a remaining response time using the global model, storing the determined response time in memory, and sending the remaining response time to be displayed on the display device. record, in the memory, a current value for the environmental parameter; when the environmental parameter values recorded in memory fit a local model for change in the parameter with time, determine a remaining response time using the local model, storing the determined response time in memory, and sending the remaining response time to be displayed on a display device; and when the environmental parameter values do not fit a local model but fit a global model, determine a remaining response time using the global model, storing the determined response time in memory, and sending the remaining response time to be displayed on the display device.