Abstract:
A thermostat is operative to note the current temperature at time of entering into a setback of one or more previously established setpoints. The thermostat is also operative to note any newly defined setpoints. The thermostat also notes whether the setback is to occur in a heating or cooling mode of operation. The thermostat maintains a record of the aforementioned entry conditions as well as the amount of time the thermostat participates in a requested setback. The thermostat also preferably notes one or more setpoints and sensed temperature occurring at the end of an implemented setback as well as the ending heating or cooling mode of operation. A record of temperature conditions, mode of operation and elapsed time for each setback is stored for retrieval by a remotely located entity in communication with the thermostat. This entity is usually an energy provider. This record is available for retrieval at any time, including a time when the thermostat is presently implementing a setback.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    The present invention relates to thermostats having the capability of tracking, recording, and reporting setback information to a remotely located entity.  
           [0002]    Thermostats have heretofore received and implemented setbacks of locally entered setpoints in response to receiving setback information from a remotely located source such as an energy provider. Examples of such thermostats are disclosed in commonly assigned U.S. Pat. No. 6,264,110 entitled “Setback Reporting Thermostat” and commonly assigned U.S. Pat. No. 6,305,611 entitled “Setback Tracking Thermostat”. The aforementioned thermostats include the ability within the thermostats to maintain an accurate record of the amount of time that the thermostat participates in one or more setbacks of locally entered setpoints. This record is transmitted to an energy provider upon request.  
           [0003]    The above described thermostats do not however necessarily provide the energy provider with a complete record as to what has occurred during the one or more setbacks implemented by these thermostats. In this regard, these thermostats only provide the amount of time spent in the one or more setbacks of locally entered setpoints. This reported information does not include a record of the actual temperature conditions occurring during the one or more setbacks implemented by these thermostats.  
         SUMMARY OF THE INVENTION  
         [0004]    A thermostat is operative to note the current temperature at time of entering into a setback of one or more previously established setpoints. The thermostat is also operative to note any newly defined setpoints. The thermostat also preferably notes whether a setback is to occur in a heating or cooling mode of operation. The thermostat maintains a record of the aforementioned entry conditions as well as the amount of time the thermostat participates in a requested setback. The thermostat also preferably notes one or more setpoints, operating mode and sensed temperature occurring at the end of an implemented setback. A setback record of temperature conditions, modes of operation and elapsed time for each setback is stored for retrieval by a remotely located entity in communication with the thermostat. This entity is usually an energy provider. This record is available for retrieval at any time, including a time when the thermostat is presently implementing a setback.  
           [0005]    The thermostat also preferably allows the requester to either clear the record or simply read the record without clearing. In either case, the thermostat preferably continues to track any time and temperature conditions in any currently implemented setback. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0006]    For a fuller understanding of the present invention, reference should now be made to the following detailed description taken in conjunction with the accompanying drawings, wherein:  
         [0007]    [0007]FIG. 1 is a block diagram of a thermostat and transceiver, wherein the transceiver is in communication with a remotely located device (not shown) so as to thereby receive and/or transmit information to the remotely located device;  
         [0008]    [0008]FIG. 2 is a block diagram of elements within the thermostat including a microprocessor that is responsive to signals from the transceiver;  
         [0009]    [0009]FIGS. 3A, 3B and  3 C are a flowchart of the program implemented by the processor of FIG. 2 so as to respond to communications from the transceiver; and  
         [0010]    [0010]FIG. 4 is a flowchart of a sub-routine within the program of FIGS. 3A, 3B and  3 C. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0011]    Referring to FIG. 1, a thermostat  10  is operatively connected to a transceiver  12  via a communication line  14  so as to receive or transmit information to the transceiver  12 . The transceiver  12  provides a communication link between the thermostat  10  and a remotely located device (not shown), which provides setpoint control information to the thermostat  10 .  
         [0012]    The remotely located device is preferably controlled by an energy provider seeking to provide cost effective setpoint control information to the thermostat  10 .  
         [0013]    The thermostat preferably causes messages to be displayed on a display  16  in response to receipt of information from the remotely located device. This includes the display of a message to the effect that the locally entered setpoint has been adjusted or altered in response to a request from the remotely located device. A touch sensitive button  18  on the front panel of the thermostat can be depressed any time one wishes to override the setback of the locally entered setpoint.  
         [0014]    Referring to FIG. 2, the touch-sensitive button  18  is illustrated as a switch connected to a microprocessor  20  which is in turn connected to the display  16 . The microprocessor  20  is also connected to a temperature sensor  22  and a memory  24 . The microprocessor normally executes one or more control programs stored in memory  24 , which monitor any variation of the temperature indicated by the sensor  22  with respect to one or more locally entered setpoints preferably stored in the memory  24 . These control programs cause the microprocessor to control an HVAC system  26  through relay logic  28  so as to thereby heat or cool the space in which the thermostat is located as necessary.  
         [0015]    The microprocessor  20  also executes a program stored in memory  24 , which processes information received from the transceiver  12  via the line  14 . This latter program, when executed by the microprocessor, will preferably implement adjustments to the locally entered setpoints that have been stored in the memory  24 . The microprocessor will thereafter execute the one or more control programs stored in the memory  24  so as to monitor any variation of the temperature indicated by the temperature sensor  22  with respect to the now modified setpoints. The program will furthermore cause the microprocessor to track and maintain an accurate record of temperature conditions and amount of elapsed time occurring during any setback or curtailment of a locally entered setpoint. The program processor will moreover maintain records of temperature and elapsed times occurring in any past setbacks or curtailments of locally entered setpoints. These records of setback or curtailment of locally entered setpoints will be made available upon receipt of a request from the energy provider.  
         [0016]    Referring to FIGS. 3A, 3B and  3 C, a flowchart of the steps executed by the microprocessor  20  in response to receipt of information concerning setback or curtailment of locally entered setpoints is illustrated. As has been previously discussed, the microprocessor will receive this information from the transceiver  12  via the line  14 . The flowchart begins with a step  30  wherein certain variables used by the program are initialized. These include SB_TIMER, SB_ACTIVE, SETBACK_RECORD and N. The microprocessor proceeds from a step  30  to a step  32  and inquires as to whether SB_ACTIVE is equal to one. Since this variable will have been initially set equal to zero, the microprocessor will proceed to a step  34  and inquire as to whether the SETBACK_RECORD equals one. It is to be appreciated that the microprocessor  20  will independently of the program illustrated in FIG. 3, respond to a communication passed along by the transceiver  12  regarding any setback of the setpoint that may be requested by the energy provider. SETBACK_RECORD will be set equal to one when this occurs. The processor will furthermore store information pertaining to the requested setback in the memory  24 . This information will preferably include values for the following variables: SB_SETPOINTOFFSET, SB_STARTTIME, and SB_PERIOD. SB_SETPOINTOFFSET is the amount by which the locally setpoints are to be adjusted whereas SB_STARTTIME is the preferred time in which the setback of the setpoints is to begin. SB_PERIOD is the amount of time during which the particular setback is to occur. Assuming a setback request has been received and stored in the memory, the processor will proceed along a yes path to a step  36  and retrieve the values for SB_SETPOINTOFFSET, SB_STARTTIME and SB_PERIOD. The processor will proceed to a step  38  and compute the value of SB_ENDTIME, which is the sum of SB_STARTTIME plus SB_PERIOD.  
         [0017]    The processor will proceed from step  38  to a step  44  and read the “TIME_OF_DAY”. This is preferably read from an internal system clock within the microprocessor, which tracks time by at least the total number of minutes in a twenty-four hour day. The processor proceeds from step  44  to step  46  and inquires as to whether the TIME_OF_DAY read in step  44  is equal to SB_STARTTIME.  
         [0018]    Assuming that the time of day is not equal to SB_STARTTIME, the processor will proceed along a no path out of step  46  to a step  48  and read the currently stored values of heat setpoint, T h  and cool setpoint, T c . The microprocessor will thereafter proceed to step  50  and read the temperature sensor  22  and thereafter control the HVAC system  26  to either T h  or T c .  
         [0019]    It is to be appreciated that such control is defined by a separate control program, which reads the temperature sensor  22  and thereafter controls the HVAC system  26  so as to either achieve the heat setpoint T h  or the cool setpoint T c . It is to be appreciated that the setpoint which is used will depend on the operating mode of the HVAC system being controlled. If the operating mode of the HVAC system is, for example, heating, then T h  will be used. On the other hand, if operating mode of the HVAC system is cooling, then T c  is used. The processor will proceed to step  52  and display a message on the display  16  that the thermostat is in a “normal” mode of operation. The processor will proceed from step  52  through a junction A to a step  54  and inquire as to whether or not a request has been received for a report on setback usage by the thermostat. It is to be understood that such a request would normally be initiated by the energy provider and stored in the memory  24  for inquiry by the microprocessor in step  54 . Assuming that no such setback usage has occurred, the processor will proceed along the no path to a step  56  and inquire as to whether a communication has been received from the energy provider requesting that setback usage be initialized. Assuming that such an initialization has not been requested, the processor will proceed along the no path to junction B and return to step  32 .  
         [0020]    Since the value of SB_ACTIVE is still zero, the processor will proceed through steps  34 - 46 , as has been previously discussed. Assuming that the read time of day in step  44  now equals SB_STARTTIME, the processor will proceed along the yes path out of step  46  to a step  58 . Referring to step  58 , the processor will first set the variable SB ACTIVE equal to one. The processor will also set a variable A equal to SB_SETPOINTOFFSET. The microprocessor will still furthermore compute the value of a variable “t” as being equal to SB_ENDTIME minus SB_STARTTIME. The processor may again need to account for any transition between one day and the next when doing this computation. In this regard, SB_ENDTIME would need to be adjusted by the total time in one day in the event that SB_STARTTIME is near the end of one day and SB_ENDTIME occurs the next day.  
         [0021]    The final computation within step  58  is to set SB_INITIAL_START equal to SB_STARTTIME. The processor will proceed to step  60  and set a software timer SB_TIMER equal to “t” and initiate a decrementing of the software timer. The processor will next proceed from step  60  to a step  62  and read the locally entered setpoints T h  and T c  from memory  24 . The processor will next proceed to a step  64  and adjust the values of T h  and T c  by the value of Δ. This will effectively lower the heat setpoint T h  by the amount of Δ and raise the cool setpoint T c  by the amount Δ. The processor will proceed to a step  66  and note the operating mode of the HVAC system being controlled as START_OP_MODE. The processor will proceed to read the temperature sensor  22  and store the read value as START_TEMP in a step  68 . The processor will next proceed in a step  70  to store the values of T′ h  and T′ c  as HEAT_START_SETOINT and COOL_START SETPOINT respectively. The processor will proceed to read the temperature sensor  22  and control the HVAC system  26  in accordance with either T′ h  or T′ c  as computed in step  72 . In this manner, the HVAC control system will now be controlling the HVAC system to a lower heat setpoint or to a higher cool setpoint so as to thereby produce an incremental saving of energy costs. The processor will proceed to a step  74  and display the current value of SB_TIMER and a message indicating that the locally entered setpoint is being curtailed. The processor will proceed through steps  54  and  56  in the event that neither setback usage or an initialization of setback usage have been requested by the energy provider.  
         [0022]    The processor will again return to step  32  and inquire as to whether SB_ACTIVE is equal to one. Since SB_ACTIVE will have been set equal to one in step  58 , the processor will proceed along the yes path to a step  76  and inquire as to whether the software timer, SB_TIMER, has been decremented to zero. Assuming that the SB_TIMER is not equal to zero, the processor will proceed to a step  78  and inquire as to whether the override button  18  has been depressed. Assuming that the override button  18  has not been depressed, the processor will proceed to a step  80  and inquire as to whether the locally entered heat setpoint “T h ” or the locally entered cool setpoint “T c ” has changed between successive executions of the logic of FIG. 3. This is preferably accomplished by comparing the time of day with any user programmed setpoint change times in memory  24 . If the time of day is within a very small predefined range of a programmed setpoint change time in memory  24 , then the values of the new locally entered setpoints for the particular change time are read and stored as T h  and T c . The processor will then proceed to step  81  and adjust the new locally entered setpoints to T′ h  and T′ c .  
         [0023]    The processor will proceed either from step  80  or step  81  to step  72  and implement the control of the HVAC system  26 , as has been previously described. The display will be updated in accordance with step  74  before proceeding through steps  54  and  56  in the event that setback usage has not been requested.  
         [0024]    Referring again to step  32 , the processor will again inquire as to whether SB_ACTIVE is equal to one. Since the thermostat is implementing a setback, the processor will again proceed to step  76  and inquire as to whether the SB_TIMER equals zero. Assuming that SB_TIMER has now been decremented to zero, the processor will proceed along the yes path to a step  82  and set SB_ACTIVE equal to zero. The processor will proceed to a step  84  and initiate a sub-routine entitled “COMPUTE_SETBACK_PARTICIPATION”. This particular sub-routine is illustrated in FIG. 4.  
         [0025]    Referring to FIG. 4, the COMPUTE_SETBACK_PARTICIPATION sub-routine begins with a step  85  wherein the operating mode of the HVAC system being controlled is noted and stored as END_OP_MODE. The processor will then proceed with step  86  wherein the sensed temperature of the sensor  22  is read and set equal to END_TEMP. The processor proceeds to a step  88  to set T′ h  equal to HEAT_END_SETPOINT and T′ c  equal to COOL_END_SETPOINT. The processor will proceed to a step  90  wherein the current time of day is read as well as the value of the variables SB_INITIAL_START. It will be remembered that the value of SB_INITIAL_START will have been computed in step  58  to be equal to the TIME_OF_DAY read in step  44  when the thermostat enters a setback.  
         [0026]    The processor proceeds from step  90  to a step  92  and inquires as to whether the currently read TIME_OF_DAY is greater than SB_INITIAL_START. In the event that the currently read TIME_OF_DAY is greater than SB_INITIAL_START, the processor will proceed along the yes path to a step  94  and compute the value of a variable denoted as SB_CURRENT. Referring to step  98 , SB_CURRENT is equal to the TIME_OF_DAY as read in step  90  minus the value of SB_INITIAL_START. It is to be appreciated that this computation should yield the current amount of setback time that has expired since SB_ACTIVE was set equal to one in step  58 . Referring again to step  92 , in the event that the TIME_OF_DAY is not greater than SB_INITIAL_START, then the processor will proceed along the no path and compute the value of the SB_CURRENT variable in another manner. Specifically, SB_CURRENT will be equal to the value of TOTAL_TIME_ONE_DAY plus TIME_OF_DAY minus SB_INITIAL_START. In this regard, the value of the variable TOTAL_TIME_ONE_DAY is the total amount of time in a given day expressed in terms of total number of minutes in the day or whatever unit of time is used in the particular embodiment. It is to be appreciated that the computation of SB_CURRENT in step  96  is necessary in the event that a transition has occurred from one day to the next following the time indicated by SB_INITIAL_START.  
         [0027]    Referring now to step  98 , the values of SB_CURRENT, START_OP_MODE, START_TEMP, HEAT_START_TEMP,COOL_START_TEMP, END_OP_MODE, END_TEMP, HEAT_END_SETPOINT and COOL_END_SETPOINT are stored as a setback account record SB_ACCOUNT_RECORD(N). This account record essentially describes elapsed time and temperature conditions occurring during the particularly implemented setback. The processor proceeds to increment the setback account record index, N, by one in a step  100 . The processor proceeds out of the sub-routine of FIG. 4 back to step  84  wherein the processor proceeds to a step  102  and sets SETBACK_RECORD equal to zero.  
         [0028]    The processor proceeds from step  102  to step  48  wherein the locally programmed setpoints T h  and T c  are read before proceeding to step  50  to control the HVAC system in accordance with the appropriate locally entered setpoint T h  or T c . In this regard, the processor will now be using normal local unit setpoints to control the HVAC system. The processor will proceed through steps  52 ,  54 , and  56 , as has been previously described, before returning to step  32 . Since SB_ACTIVE will have been previously set equal to zero in step  82 , the processor will proceed along the no path out of step  32  to inquire as to whether SETBACK_RECORD equals one. If it does not, the microprocessor will proceed along the no path to step  48  and again execute steps  48 - 56 , as has been previously described.  
         [0029]    Referring again to step  34 , in the event that SETBACK_RECORD is equal to one at some point, then the processor will again read the values of SB_SETPOINTOFFSET, SB_STARTTIME, and SB_PERIOD from the memory  24  in step  36 . The processor will next proceed through steps  36 - 46  to determine whether the current TIME_OF_DAY is equal to SB_STARTTIME. Assuming that at some point TIME_OF_DAY is equal to SB_STARTTIME, the processor will proceed through steps  58 - 74  and hence through  54 - 56  as has been previously discussed. The processor will, on the next execution of the logic of FIG. 3, proceed back through step  32  and now exit along the yes path to step  76 . Assuming that the SB_TIMER is not equal to zero, the processor will proceed to a step  78  and inquire whether the override button  18  has been depressed. It will be remembered that the override button  18  will have been depressed in the event that the user wishes to override the setback, as displayed on the display  16 . If this occurs, the processor will proceed along the yes path out of step  78  and set SB_TIMER equal to zero in a step  104 . The processor will proceed to set SB_ACTIVE equal to zero in step  82  before proceeding in step  84  to the sub-routine for computing setback participation of FIG. 4.  
         [0030]    Referring to FIG. 4, the operating mode of the HVAC system being controlled is stored as END_OP_MODE in step  85 . The sensed temperature of the sensor  22  is read and set equal to END_TEMP in step  86 . The processor proceeds to step  88  and sets T′ h  equal to HEAT 13  END_SETPOINT and T′ c  equal to COOL_END_SETPOINT. The current TIME_OF_DAY as well as the value of SB_INITIAL_START will be read in step  90 . Inquiry will next be made as to whether the TIME_OF_DAY is greater than SB INITIAL START and the appropriate computation of SB CURRENT will thereafter be made in either step  94  or  96 . SB_CURRENT(N) will now be defined in step  98 . The setback account record index, N, will be incremented by one in step  100 . The processor will return to step  84  and thereafter proceed through steps  104  and  48 - 54 . Assuming that a setback usage request has not been received in step  54 , the processor will proceed through steps  54  and  56  and return to step  32 , as has been previously discussed.  
         [0031]    Referring again to step  32 , it is to be appreciated that at some point in time during the successive executions of the logic of FIG. 3, another SETBACK_RECORD flag equal to one may occur. When this happens, SB_SETPOINTOFFSET and SB_STARTTIME and SB_PERIOD will again be read from the memory  24  in step  34 . At some point the TIME_OF_DAY will again be equal to SB_STARTTIME. The processor will set SB_ACTIVE equal to one in step  58 . The processor will proceed through steps  60 ,  62 ,  64 ,  66 ,  68 ,  70 ,  72  and  74 , as has been previously described, before encountering step  54 . Assuming that a setback usage request has been made and stored in the memory  24 , the processor will proceed out of step  54  to step  106  and clear the thus stored setback usage request in memory  24 . The processor will proceed to step  108  and implement the setback participation sub-routine of FIG. 4. As has been previously discussed, the operating mode of the HVAC system being controlled is stored as END_OP_MODE in step  85 . The sensed temperature of the sensor  22  is read and set equal to END_TEMP in step  86 . The processor proceeds to a step  88  to set T′ h  equal to HEAT_END_SETPOINT and T′ c  equal to COOL_END_SETPOINT. The TIME_OF_DAY will be read and compared with SB_INITIAL_START before computing the value of SB_CURRENT in either step  94  or  96 . The processor will proceed in step  98  to define SB_CURRENT(N) in step  98 . The setback account record index, N, will then be incremented by one in step  100  before returning to step  108 . The processor will proceed from step  108  to step  110  wherein a message will be sent to the transceiver  12 , which will in turn communicate with the energy provider&#39;s receiving device. The message will include the previously defined and indexed setback accounts. The processor will next proceed to step  112  and inquire as to whether SB_ACTIVE is equal to zero. It will be remembered that the request for setback usage was encountered during a time in which the setback was in effect. SB_ACTIVE would hence still be equal to one prompting the processor to proceed from step  112  to step  114 . Referring to step  114 , the variable SB_INITIAL_START will be set equal to the currently read time of day from the system clock. This will, essentially, set a new SB_INITIAL_START that is equal to the presently read TIME_OF_DAY. The processor will proceed from step  114  to step  56 .  
         [0032]    Referring to step  56 , it is to be noted that this step may also be encountered out of step  112 . The processor will have proceeded out of step  112  to step  56  in the event that the thermostat was no longer implementing a setback as indicated by SB_ACTIVE being equal to zero. The processor will proceed to inquire in step  56  as to whether an initialization of setback usage request has been received and stored in the memory  24 . This particular request will possibly be transmitted by the energy provider when the energy provider wishes to initialize the indexed setback account records. If such a request has been received, then the processor will proceed along the yes path to a step  116  and clear the initial setback usage request stored in memory  24 . The processor will then proceed to step  118  and clear all indexed setback accounts and set the setback account record index, N, equal to zero. The processor will proceed from step  118  through junction B back to step  32 . Referring again to step  56 , in the event that a request to initialize the setback usage has not been received, the processor will proceed directly to step  32 . It is thus to be appreciated that the processor may have sent a message to the energy provider in step  110  without initializing the indexed setback accounts if the processor has not received the initialized setback usage request. On the other hand, if the processor has received the initialized setback usage request, then the indexed setback accounts will be cleared in step  116  and the index N will be set equal to zero in step  118 .  
         [0033]    Referring again to step  32 , inquiry is made as to whether SB_ACTIVE is equal to one. It is to be appreciated that SB_ACTIVE may either be one or zero after having processed a usage request through steps  106 - 118 . Assuming that SB_ACTIVE is still equal to one, then the processor will proceed along the yes path to step  76  and inquire as to whether SB_TIMER equals zero. It will be remembered that SB_TIMER has been continually decrementing towards zero since having been initially set equal to “t” in step  60 . This decrementing of the SB_TIMER will occur regardless of whether or not a setback usage request has been processed in steps  106 - 110 . At some point, the SB_TIMER will be decremented to zero when step  76  is encountered. When this occurs, the processor will proceed along the yes path to step  82  and set SB_ACTIVE equal to zero before implementing the computation of setback participation in step  84 . Referring to the sub-routine for computing setback computation in FIG. 4, the operating mode of the HVAC system being controlled will be stored as END_OP_MODE in step  85 . The processor will again read the sensed temperature of the sensor  22  and store the value in END TEMP in step  86 . The processor proceeds to step  88  and sets T′ h  equal to HEAT_END_SETPOINT and T′ c  equal to COOL_END_SETPOINT. The processor proceeds to read the TIME OF DAY as well as the value of SB_INITIAL_START. It will be remembered that SB_INITIAL_START will have been set equal to the TIME_OF_DAY occurring when step  114  is executed. This will be a different SB_INITIAL_START than would have been normally carried by the processor as a result of implementing step  58 . In other words, SB_INITIAL_START will now be whatever TIME_OF_DAY it was when the setback usage request was processed. The processor will proceed to inquire whether or not the read time of day in step  90  is greater than the value of SB_INITIAL_START in step  92 . As has been previously discussed, SB_CURRENT will be computed out of step  92  in either step  94  or  96 . SB_ACCOUNT(N) will now be defined in step  98 . Referring to steps  106 - 118 , it will be appreciated that the indexed setback accounts will either be whatever has been defined previously or these accounts will have been previously cleared in step  118 . In this latter case, there will be no setback account records as a result of having received a message from the energy provider to initialize the setback usage out of step  56 . It is hence to be appreciated that SB_ACCOUNT(N) in step  98  will either be the next indexed account record or it will be a first new account record. It is to be furthermore appreciated that any subsequent establishment of an account record in step  98  will include any remaining portion of a setback that continues in effect. This will occur even if the indexed setback accounts are cleared in step  118  as a result of also having received a request to initialize the setback usage.  
         [0034]    It is to be appreciated that a preferred embodiment of a program for tracking and reporting setback usage has been disclosed. Alternations and modifications to the thus disclosed program may occur without departing from the scope of the invention. In particular, the processor may, for instance, receive different setpoint offsets for heating and cooling. In this event, the adjustments to the current heating and cooling setpoints would be with respect to the particularly computed offsets for each setpoint rather than the currently disclosed single SB_SETPOINTOFFSET. It is also to be appreciated that the approach to adjusting current heating and cooling setpoints by setpoint offsets need not occur to practice the invention. In this regard, setpoint offsets could be replaced by setpoints communicated by the energy provider. In this latter case, there would be no need for logic implementing adjustments to T h  or T c . It is furthermore to be appreciated that the SB_TIMER may be initially set up differently so as to not be a decrementing timer from a particular time “t”. For instance, the timer may be incremented from zero at the initialization of a setback would work equally well.  
         [0035]    Accordingly, the foregoing description of a preferred embodiment of the invention is by way of example only and the invention is to be limited by the following claims and equivalents thereto.