Patent Abstract:
The invention comprises systems and methods for ramping setpoints on thermostats controlling HVAC systems. At least one thermostat is located inside a structure and is used to control an HVAC system in the structure. At least one remote processor is in communication with said thermostat and at least one database stores data reported by the thermostat. At least one processor compares the outside temperature at least one location and at least one point in time to information reported to the remote processor from the thermostat. The remote processor ramps the setpoint on the thermostat so as to reduce the average spread between inside temperature and outside temperature in order to reduce energy consumption with affecting comfort. The remote processor takes into account the effect of weather conditions and occupant preferences in determining whether and when to ramp setpoints.

Full Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority to U.S. Provisional Application No. 61/133,994, filed Jul. 7, 2008, the entirety of which is incorporated herein by reference and is to be considered part of this specification. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to the use of thermostatic HVAC controls that are connected to a computer network. More specifically, the present invention pertains to application of specific adaptive waveforms to the setpoints programmed into thermostats in order to reduce energy consumption with out a subjective loss of comfort. 
     2. Background 
     Heating and cooling systems for buildings (heating, ventilation and cooling, or HVAC systems) have been controlled for decades by thermostats. At the most basic level, a thermostat includes a means to allow a user to set a desired temperature, a means to sense actual temperature, and a means to signal the heating and/or cooling devices to turn on or off in order to try to change the actual temperature to equal the desired temperature. The most basic versions of thermostats use components such as a coiled bi-metallic spring to measure actual temperature and a mercury switch that opens or completes a circuit when the spring coils or uncoils with temperature changes. More recently, electronic digital thermostats have become prevalent. These thermostats use solid-state devices such as thermistors or thermal diodes to measure temperature, and microprocessor-based circuitry to control the switch and to store and operate based upon user-determined protocols for temperature vs. time. 
     These programmable thermostats generally offer a very restrictive user interface, limited by the cost of the devices, the limited real estate of the small wall-mounted boxes, and the inability to take into account more than two variables: the desired temperature set by the user, and the ambient temperature sensed by the thermostat. Users can generally only set one series of commands per day, and in order to change one parameter (e.g., to change the late-night temperature) the user often has to cycle through several other parameters by repeatedly pressing one or two buttons. 
     Because the interface of programmable thermostats is so poor, the significant theoretical savings that are possible with them (sometimes cited as 25% of heating and cooling costs) are rarely realized. In practice, studies have found that more than 50% of users never program their thermostats at all. Significant percentages of the thermostats that are programmed are programmed sub-optimally, in part because, once programmed, people tend not to re-invest the time needed to change the settings very often. 
     A second problem with standard programmable thermostats is that they represent only a small evolutionary step beyond the first, purely mechanical thermostats. Like the first thermostats, they only have two input signals—ambient temperature and the preset desired temperature. The entire advance with programmable thermostats is that they can shift between multiple present temperatures at different times without real-time involvement of a human being. 
     Because most thermostats control HVAC systems that do not offer infinitely variable output, traditional thermostats are designed to permit the temperature as seen by the thermostat to vary above and below the setpoint to prevent the HVAC system from constantly and rapidly cycling on and off, which is inefficient and harmful to the HVAC system. The temperature range in which the thermostat allows the controlled environment to drift is known as both the dead zone and, more formally, the hysteresis zone. The hysteresis zone is frequently set at +/−1 degree Fahrenheit. Thus if the setpoint is 68 degrees, in the heating context the thermostat will allow the inside temperature to fall to 67 degrees before turning the heating system on, and will allow it to rise to 69 degrees before turning it off again. 
     Standard programmable thermostats are all designed with the same basic underlying premise: that the comfort of building occupants is maximized by maintaining a relatively constant temperature, at least for the duration of a given setpoint, and with the variations inherent in using a hysteresis band to trade comfort off against efficient operation and durability. That is, if a programmable thermostat has been programmed to maintain a temperature of 68 degrees Fahrenheit for 8 hours, it will cycle the HVAC system as needed to maintain that temperature. 
     However, academic research has shown that humans tend not to notice changes in temperature if (a) they are below a certain magnitude and (b) if the rate of change is sufficiently slow. For example a 1978 study found that people did not notice ramps less than 0.5° C./h (0.9° F./h). A 2004 study found that and that ramps up to 1.5° C./h (2.7° F./h) are unlikely to cause discomfort. 
     Because energy consumption is directly proportional to setpoint—that is, the further a given setpoint diverges from the balance point (the inside temperature assuming no HVAC activity) in a given house under given conditions, the higher energy consumption will be to maintain temperature at that setpoint), energy will be saved by any strategy that over a given time frame lowers the average heating setpoint or raises the cooling setpoint. It is therefore possible to save energy by adopting a strategy that takes advantage of human insensitivity to slow temperature ramping by incorporating a user&#39;s desired setpoint within the range of the ramp, but setting the average target temperature below the desired setpoint in the case of heating, and above it in the case of cooling. For example, a ramped summer setpoint that consisted of a repeated pattern of three phases of equal length set at 72° F., 73° F., and 74° F. would create an effective average setpoint of 73° F., but would generally be experienced by occupants as yielding equivalent comfort as in a room set at a constant 72° F. Energy savings resulting from this approach have been shown to be in the range of 4-6%. 
     It would be advantageous to create a temperature control system that would automatically generate optimized ramped setpoints that could save energy without compromising the comfort of the occupants. It would also be advantageous to create a temperature control system that could incorporate adaptive algorithms that could automatically determine when the ramped setpoints should not be applied due to a variety of exogenous conditions that make application of such ramped setpoints undesirable. 
     SUMMARY OF THE INVENTION 
     In one embodiment, the invention comprises a thermostat attached to an HVAC system, a local network connecting the thermostat to a larger network such as the Internet, and one or more additional thermostats attached to the network, and a server in bi-directional communication with a plurality of such thermostats. The server logs the ambient temperature sensed by each thermostat vs. time and the signals sent by the thermostats to their HVAC systems. The server preferably also logs outside temperature and humidity data for the geographic locations for the buildings served by the connected HVAC systems. Such information is widely available from various sources that publish detailed weather information based on geographic areas such as by ZIP code. The server uses this data to determine optimum application of an n-phase ramped setpoint algorithm in order to change the actual average setpoint over time without affecting the perceived temperature. 
     At least one embodiment of the invention comprises the steps of measuring the temperature inside a conditioned space; comparing said inside temperature to the desired setpoint for such conditioned space; evaluating the schedule for setpoint changes; determining whether the scheduled setpoint has been changed; setting the actual setpoint to the desired setpoint; determining the number of phases for actual setpoints; setting actual setpoints to increments away from the desired setpoint as additional phases, where each successive setpoint is further from said desired setpoint than the previous setpoint; and returning to the desired setpoint after said determined number of setpoints has been reached. 
     At least one embodiment of the invention comprises the steps of evaluating the temperature inside a conditioned environment; evaluating weather conditions outside the conditioned environment; setting a first target inside temperature for a specified time interval; setting at least a second target inside temperature for a specified time interval, where said second target temperature differs from said first target temperature by a specified amount; determining whether said variation of temperature setpoints is appropriate given said outside weather conditions; and cycling through said two or more target temperatures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows an example of an overall environment in which an embodiment of the invention may be used. 
         FIG. 2  shows a high-level illustration of the architecture of a network showing the relationship between the major elements of one embodiment of the subject invention. 
         FIG. 3  shows an embodiment of the website to be used as part of the subject invention. 
         FIG. 4  shows a high-level schematic of the thermostat used as part of the subject invention. 
         FIG. 5  shows one embodiment of the database structure used as part of the subject invention 
         FIG. 6  shows the conventional programming of a programmable thermostat over a 24-hour period. 
         FIG. 7  shows the programming of a programmable thermostat over a 24-hour period using ramped setpoints. 
         FIG. 8  shows the steps required for the core function of the ramped setpoint algorithm. 
         FIG. 9  shows a flowchart listing steps in the process of deciding whether to implement the ramped setpoint algorithm. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       FIG. 1  shows an example of an overall environment  100  in which an embodiment of the invention may be used. The environment  100  includes an interactive communication network  102  with computers  104  connected thereto. Also connected to network  102  are one or more server computers  106 , which store information and make the information available to computers  104 . The network  102  allows communication between and among the computers  104  and  106 . 
     Presently preferred network  102  comprises a collection of interconnected public and/or private networks that are linked to together by a set of standard protocols to form a distributed network. While network  102  is intended to refer to what is now commonly referred to as the Internet, it is also intended to encompass variations which may be made in the future, including changes additions to existing standard protocols. 
     When a user of the subject invention wishes to access information on network  102 , the buyer initiates connection from his computer  104 . For example, the user invokes a browser, which executes on computer  104 . The browser, in turn, establishes a communication link with network  102 . Once connected to network  102 , the user can direct the browser to access information on server  106 . 
     One popular part of the Internet is the World Wide Web. The World Wide Web contains a large number of computers  104  and servers  106 , which store HyperText Markup Language (HTML) documents capable of displaying graphical and textual information. HTML is a standard coding convention and set of codes for attaching presentation and linking attributes to informational content within documents. 
     The servers  106  that provide offerings on the World Wide Web are typically called websites. A website is often defined by an Internet address that has an associated electronic page. Generally, an electronic page is a document that organizes the presentation of text graphical images, audio and video. Servers  106  also provide a variety of services other than serving websites. These services, such as communicating with and controlling remote devices as described below, may be delivered via Internet Protocol or other means for communicating across a network. 
     In addition to the Internet, the network  102  can comprise a wide variety of interactive communication media. For example, network  102  can include local area networks, interactive television networks, telephone networks, wireless data systems, two-way cable systems, and the like. 
     In one embodiment, computers  104  and servers  106  are conventional computers that are equipped with communications hardware such as modem or a network interface card. The computers include processors such as those sold by Intel and AMD. Other processors may also be used, including general-purpose processors, multi-chip processors, embedded processors and the like. 
     Computers  104  can also be handheld and wireless devices such as personal digital assistants (PDAs), cellular telephones and other devices capable of accessing the network. 
     Computers  104  utilize a browser configured to interact with the World Wide Web. Such browsers may include Microsoft Explorer, Mozilla, Firefox, Opera or Safari. They may also include browsers used on handheld and wireless devices. 
     The storage medium may comprise any method of storing information. It may comprise random access memory (RAM), electronically erasable programmable read only memory (EEPROM), read only memory (ROM), hard disk, floppy disk, CD-ROM, optical memory, or other method of storing data. 
     Computers  104  and  106  may use an operating system such as Microsoft Windows, Apple Mac OS, Linux, Unix or the like. 
     Computers  106  may include a range of devices that provide information, sound, graphics and text, and may use a variety of operating systems and software optimized for distribution of content via networks. 
       FIG. 2  illustrates in further detail the architecture of the specific components connected to network  102  showing the relationship between the major elements of one embodiment of the subject invention. Attached to the network are thermostats  108  and computers  104  of various users. Connected to thermostats  108  are HVAC units  110 . The HVAC units may be conventional air conditioners, heat pumps, or other devices for transferring heat into or out of a building. Each user is connected to the server  106  via wired or wireless connection such as Ethernet or a wireless protocol such as IEEE 802.11, a gateway  110  that connects the computer and thermostat to the Internet via a broadband connection such as a digital subscriber line (DSL) or other form of broadband connection to the World Wide Web. Server  106  contains the content to be served as web pages and viewed by computers  104 , as well as databases containing information used by the servers. 
     In the currently preferred embodiment, the website  200  includes a number of components accessible to the user, as shown in  FIG. 3 . Those components may include a means to enter temperature settings  202 , a means to enter information about the user&#39;s home  204 , a means to enter the user&#39;s electricity bills  206 , means to calculate energy savings that could result from various thermostat-setting strategies  208 , and means to enable and choose between various arrangements  210  for demand reduction with their electric utility provider as intermediated by the demand reduction service provider. 
       FIG. 4  shows a high-level block diagram of thermostat  108  used as part of the subject invention. Thermostat  108  includes temperature sensing means  252 , which may be a thermistor, thermal diode or other means commonly used in the design of electronic thermostats. It includes a microprocessor  254 , memory  256 , a display  258 , a power source  260 , a relay  262 , which turns the HVAC system on and off in response to a signal from the microprocessor, and contacts by which the relay is connected to the wires that lead to the HVAC system. To allow the thermostat to communicate bi-directionally with the computer network, the thermostat also includes means  264  to connect the thermostat to a local computer or to a wireless network. Such means could be in the form of Ethernet, wireless protocols such as IEEE 802.11, IEEE 802.15.4, Bluetooth, cellular systems such as CDMA, GSM and GPRS, or other wireless protocols. The thermostat  250  may also include controls  266  allowing users to change settings directly at the thermostat, but such controls are not necessary to allow the thermostat to function. 
     The data used to generate the content delivered in the form of the website is stored on one or more servers  106  within one or more databases. As shown in  FIG. 5 , the overall database structure  300  may include temperature database  400 , thermostat settings database  500 , energy bill database  600 , HVAC hardware database  700 , weather database  800 , user database  900 , transaction database  1000 , product and service database  1100  and such other databases as may be needed to support these and additional features. 
     The website  200  will allow users of connected thermostats  250  to create personal accounts. Each user&#39;s account will store information in database  900 , which tracks various attributes relative to users of the site. Such attributes may include the make and model of the specific HVAC equipment in the user&#39;s home; the age and square footage of the home, the solar orientation of the home, the location of the thermostat in the home, the user&#39;s preferred temperature settings, whether the user is a participant in a demand reduction program, etc. 
     As shown in  FIG. 3 , the website  200  will permit thermostat users to perform through the web browser substantially all of the programming functions traditionally performed directly at the physical thermostat, such as temperature set points, the time at which the thermostat should be at each set point, etc. Preferably the website will also allow users to accomplish more advanced tasks such as allow users to program in vacation settings for times when the HVAC system may be turned off or run at more economical settings, and set macros that will allow changing the settings of the temperature for all periods with a single gesture such as a mouse click. 
     In addition to using the system to allow better signaling and control of the HVAC system, which relies primarily on communication running from the server to the thermostat, the bi-directional communication will also allow the thermostat  108  to regularly measure and send to the server information about the temperature in the building. By comparing outside temperature, inside temperature, thermostat settings, cycling behavior of the HVAC system, and other variables, the system will be capable of numerous diagnostic and controlling functions beyond those of a standard thermostat. 
     The system installed in a subscriber&#39;s home may optionally include additional temperature sensors at different locations within the building. These additional sensors may be connected to the rest of the system via a wireless system such as 802.11 or 802.15.4, or may be connected via wires. Additional temperature and/or humidity sensors may allow increased accuracy of the system, which can in turn increase user comfort or energy savings. 
       FIG. 6  represents the conventional programming of a thermostat and the resulting behavior of a home&#39;s HVAC system in the air conditioning context. The morning setpoint of 74 degrees  1002  remains constant from midnight until 9:00 AM, and the inside temperature  1004  varies more or less within the limits of the hysteresis band during that entire period. When the setpoint changes to 80 degrees  1006 , the inside temperature  1008  varies within the hysteresis band around the new setpoint, and so on. Whether the average temperature is equal to, greater or less than the nominal setpoint will depend on weather conditions, the dynamic signature of the structure, and the efficiency and size of the HVAC system. But in most cases the average temperature will be at least roughly equivalent to the nominal setpoint. 
       FIG. 7  represents implementation of three-phase ramped setpoint  1102  derived from the same user preferences as manifested by the settings shown in  FIG. 6 . Because 74 degrees, the setpoint requested by the user  1104  is the lowest of the three discrete steps  1106 ,  1108 ,  1110 , rather than the middle step, the average inside temperature  1112  will be roughly one degree warmer than the average temperature without use of the ramped setpoints. 
     In order to implement such ramped setpoints automatically, algorithms may be created. These algorithms may be generated on remote server  106  and the setpoint changes can be transmitted to a given thermostat on a just-in-time basis or, if the thermostat  108  is capable of storing future settings, they may be transferred in batch mode to such thermostats. Basic parameters used to generate such algorithms include: 
     the number of discrete phases to be used; 
     the temperature differential associated with each phase; and 
     the duration of each phase 
     In order to increase user comfort and thus maximize consumer acceptance, additional parameters may be considered, including: 
     time of day 
     outside weather conditions 
     recent history of manual inputs 
     recent pre-programmed setpoint changes. 
     Time of day may be relevant because, for example, if the home is typically unoccupied at a given time, there is no need for perceptual programming. Outside weather is relevant because comfort is dependent not just on temperature as sensed by a thermostat, but also includes radiant differentials. On extremely cold days, even if the inside dry-bulb temperature is within normal comfort range, radiant losses due to cold surfaces such as single-glazed windows can cause subjective discomfort; thus on such days occupants may be more sensitive to ramping. Recent manual inputs (e.g., programming overrides) may create situations in which exceptions should be taken; depending on the context, recent manual inputs may either suspend the ramping of setpoints or simply alter the baseline temperature from which the ramping takes place. 
       FIG. 8  shows the steps used in the core ramped setpoint algorithm into the context of a remotely managed thermostat system. In step  1202  the application determines whether to instantiate the algorithm based upon external scheduling criteria. In step  1204  the application running on a remote server retrieves from the thermostat the data generated by or entered into the thermostat, including current temperature settings, HVAC status and inside temperature. The algorithm performs preliminary logical tests at that point to determine whether further processing is required. For example, in the heating context, if the inside temperature as reported by the thermostat  108  is more than 1 degree higher than the current setpoint, the algorithm may determine that running the ramped setpoint program will have no effect and therefore terminate. In step  1206  the algorithm advances to the next phase from the most recent phase; i.e., if the algorithm is just starting, the phase changes from “0” to “1”; if it has just completed the third phase of a three-phase ramp, the phase will change from “2” to “0”. In step  1208  the application determines if the current phase is “0”. If it is, then in step  1210  the algorithm determines whether current setpoint equals the setpoint in the previous phase. If so, which implies no manual overrides or other setpoint adjustments have occurred during the most recent phase, then in step  1212  the algorithm sets the new setpoint back to the previous phase “0” setpoint. If not, then in step  1214 , the algorithm keeps the current temperature setting as setpoint for this new phase. In step  1216 , the algorithm logs the resulting new setpoint as the new phase “0” setpoint for use in subsequent phases. 
     Returning to the branch after step  1208 , if the current phase at that point is not phase “0”, then in step  1220 , the algorithm determines whether the current setpoint is equal to the setpoint temperature in the previous phase. If not, which implies setpoints have been adjusted by the house occupants, thermostat schedules, or other events, then in step  1222 , the application resets the phase to “0”, resets the new setpoint associated with phase “0” to equal the current temperature setting, and sets the current setting to that temperature. Alternatively, if the current temperature setting as determined in step  1220  is equal to the setpoint in the previous phase, then in step  1224  new setpoint is made to equal current setpoint plus the differential associated with each phase change. In step  1226  the “previous-phase setpoint” variable is reset to equal the new setpoint in anticipation of its use during a subsequent iteration. 
       FIG. 9  shows one embodiment of the overall control application implementing the algorithm described in  FIG. 8 . In step  1302 , the control application retrieves the current setting from the thermostat. In step  1304 , the setting is logged in database  300 . In step  1305 , the control program determines whether other algorithms that have higher precedence than the ramped setpoint algorithm are to be run. If another algorithm is to be run prior to the ramped setpoint algorithm, then the other program is executed in step  1306 . If there are no alternate algorithms that should precede the ramped setpoint application then in step  1308 , the control program determines whether the thermostat has been assigned to execute the ramped setpoint program. If not, the control program skips the remaining actions in the current iteration. If the program is set to run, then in step  1310  the algorithm retrieves from database  300  the rules and parameters governing the implementation of the algorithm for the current application of the program. In step  1312 , the algorithm determines whether one or more conditions that preclude application of the algorithm, such as extreme outside weather conditions, whether the home is likely to be occupied, etc. If any of the exclusionary conditions apply, the application skips execution of the ramped setpoint algorithm for the current iteration. If not, the application proceeds to step  1314  in which the application determines whether the setpoint has been altered by manual overrides, thermostat setback schedule changes, or other algorithms as compared to the previous value as stored in database  300 . If setpoint has been altered, the application proceeds to step  1320  discussed below. In step  1318 , the program described in  FIG. 8 , is executed. In step  1320 , the application resets the phase to “0”. Certain temperature setting variables are reset in anticipation of their use in subsequent phases. These variables include the new phase 0 temperature setting which is anchored to the current actual temperature setting, and the new previous-phase setpoint which will be used for identifying setpoint overrides in the subsequent phase. 
     In step  1322 , the system records the changes to the thermostat settings to database  300 . In step  1324 , the system records the changes to the phase status of the algorithm to database  300 . In step  1326 , the application determines whether the new temperature setting differs from the current setting. If they are the same, the application skips applying changes to the thermostat. If they are different, then in step  1328 , the application transmits revised settings to the thermostat. In step  1330 , the application then hibernates for the specified duration until it is invoked again by beginning at step  1302  again.

Technology Classification (CPC): 5