has occurred and the routine terminates but if the difference is any value other than zero then the server concludes that a manual override has occurred thus in step 1016 the server logs the occurrence of an override to one or more databases in overall database structure 300 the process of interpreting a manual override is shown in fig8 1102 is the detection of an override as described in detail in fig7 in step 1104 the server retrieves contextual data required to interpret the manual override such data may include current and recent weather conditions current and recent inside temperatures etc this data is helpful because it is likely that manual overrides are at least in part deterministic that is that they may often be explained by such contextual data and that such understanding can permit anticipation of the desire on the part of the occupants to override and to adjust programming accordingly so as to anticipate and obviate the need for such changes in step 1106 the server retrieves any override data from the period preceding the specific override being evaluated that has not yet been evaluated by and incorporated into the long term programming and rules engines as described below in fig9 the amount of data may be for a period of a few hours.