THERMOSTAT THAT TRANSMITS EXPECTED THERMAL RESPONSES TO USERS.

MX434349BActive Publication Date: 2026-05-19UNIVERSAL ELECTRONICS INC

Patent Information

Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
UNIVERSAL ELECTRONICS INC
Filing Date
2023-04-13
Publication Date
2026-05-19

Smart Images

  • Figure MX434349B0
    Figure MX434349B0
Patent Text Reader

Abstract

A method and apparatus for summarizing and transmitting expected thermal responses are described. The expected thermal responses of a room or the entire structure are calculated based on thermostat set points. These expected thermal responses are summarized in an expected thermal response visualization and displayed to a user for easy understanding of current and future temperature expectations before or as a room or the entire structure is heated or cooled.
Need to check novelty before this filing date? Find Prior Art

Description

THERMOSTAT THAT TRANSMITS EXPECTED THERMAL RESPONSES TO USERS r LCfrnn / eznz / e / YiAi Field of Invention This application relates generally to heating, ventilation, and air conditioning techniques. More specifically, the embodiments of the present invention relate to methods and apparatus for calculating, summarizing, and displaying information related to HVAC. Background of the Invention Thermostats are used to control heating, ventilation, and air conditioning (HVAC) equipment, such as central air conditioners and central heaters, to adjust room temperatures to the user's desired settings. With the advancement of computer technology, thermostats have evolved over the years, allowing users to maximize energy conservation by turning off HVAC systems when heating or cooling is not needed, such as during the day when everyone is at work or school, or at night when people are sleeping. This is achieved by programming thermostats with setpoints, which are combinations of desired temperatures in conjunction with... Ref. 345149 certain times to reach the desired temperatures. Some modern thermostats can be programmed with as many as four setpoints per day, for example, a wake-up setpoint, comprising a desired temperature and the time at which the desired temperature should be reached when the members of a household wake up, generally in the morning, a departure setpoint, i.e., a desired temperature and the time when the building is unoccupied during the daytime hours, a return setpoint, i.e., a desired temperature and the time when the occupants are expected to return from work or school, and a bedtime setpoint, i.e., a desired temperature and the time when the occupants are expected to go to bed. Typically, thermostats control heating and / or cooling equipment by turning the HVAC equipment on or off, and in some cases, they can control whether an HVAC system fan is operating at high, low, or medium speed. For example, when the temperature of the room where a thermostat is located falls below a set point in heating mode, the thermostat sends a signal to the HVAC equipment to begin heating the room. When the set point has been reached or exceeded, the thermostat sends another signal to the HVAC equipment to turn it off. Modern thermostats rely on numbers as the primary indicator of system operation and user input. However, numbers cannot visually indicate expected thermal responses, such as how current room temperatures are expected to change over time before or while the HVAC is actively heating or cooling, or how rapid temperature changes will occur given a current temperature and set point. For example, if the user feels too hot, the thermostat needs to be set lower, or if the system is already cooling and this only takes a moment, a number alone is also insufficient to represent the energy required to reach the set point, missing the opportunity to encourage energy conservation. It would be desirable for thermostats to better transmit certain past, present, and future information related to HVAC to users, to provide them with an easy-to-understand user interface, especially to understand the expected thermal responses and performance of the HVAC system and to promote or encourage energy conservation. Summary of the Invention The embodiments of the present invention relate to a method and apparatus for summarizing and transmitting expected thermal responses. In one embodiment, an apparatus is described comprising a graphical user interface, a temperature sensor, a non-transient memory for storing processor-executable instructions and one or more setpoints, and a processor coupled with the graphical user interface, the temperature sensor, and the non-transient memory. This processor executes processor-executable instructions that cause the processor to store a first setpoint in memory. The first setpoint comprises a start time and a desired setpoint temperature. The apparatus then determines an ambient room temperature based on one or more signals from the temperature sensor and calculates an expected thermal response based on at least the ambient temperature and the desired setpoint temperature.Summarize the expected thermal response in an expected thermal response visualization and cause the expected thermal response visualization to be displayed in the graphical user interface. In another embodiment, a method is described comprising storing a first setpoint in memory, the first setpoint comprising a start time and a desired setpoint temperature, determining an ambient room temperature based on one or more signals from a temperature sensor, calculating an expected thermal response based on at least the ambient temperature and the desired setpoint temperature, summarizing the expected thermal response in an expected thermal response visualization, and causing the expected thermal response visualization to be displayed in the graphical user interface. Brief Description of the Figures The characteristics, advantages, and objectives of this document will become clearer from the detailed description provided below, when considered in conjunction with the figures in which the same reference numbers are identified, correspondingly through them, and where: Figure 1 shows a top plan view of a structure using the inventive concepts discussed herein; Figure 2 shows a perspective view of one mode of a thermostat as shown in Figure 1, which displays a waveform during a heating cycle; Figure 3A illustrates a waveform displayed on the thermostat as shown in Figures 1 and 2 when a heating cycle is or will become active, in economy operating mode; Figure 3B illustrates a waveform displayed on the thermostat as shown in Figures 1 and 2 when a heating cycle is or will become active, in a comfort operating mode; Figures 4A-4D illustrate a front plan view of one thermostat modality as shown in Figures 1, 2 and 3, which illustrates the use of color to convey certain information about the expected energy consumption rate of a heating system; Figures 4E-4H illustrate a front plan view of one thermostat modality as shown in Figures 1, 2 and 3, which illustrates the use of color to convey certain information about the expected energy consumption rate of a cooling system; Figure 5 shows a functional block diagram of one mode of the thermostat as shown in Figures 1, 2 and 3; Figure 6 shows a flowchart of one mode of a method, performed by the thermostat as shown in Figures 1, 2 and 3, 4A-H and 5, to calculate, summarize and present visualizations of expected thermal response; Figure 7A shows a graph illustrating an expected thermal response of a set point comprising a series of expected temperatures over time; yr LCfrnn / pznz / e / YiAi Figure 7B shows a graph illustrating a modified expected thermal response from the same set point as Figure 7A, but with one or more doors or windows set to be opened. Detailed Description of the Invention The embodiments of the present invention relate to an improved thermostat for calculating, summarizing, and transmitting expected thermal responses. As used herein, an expected thermal response comprises the expected ambient air temperatures within a structure over time, and / or the expected energy consumption of the HVAC equipment during heating and cooling cycles. The improved thermostat features a processor that calculates the expected thermal responses, summarizes them, for example, in a graphical format, and then displays an expected thermal response graph in a graphical user interface. The expected thermal response graph, or visualization as sometimes referred to herein, comprises one or more graphs and, in some embodiments, one or more different colors to convey this information.In one mode, an expected thermal response comprises the expected air temperatures over time in a thermostat-controlled area, as a heating or cooling system is actively heating or cooling a room or structure, respectively. r LCfrnn / eznz / e / YiAi This can also refer to the expected temperatures in a room or structure when the heating or cooling system is not actively heating or cooling a room. The expected thermal response can be calculated at any time before the setpoint start time is reached and, in some modes, is also calculated in response to the user manually entering a desired temperature. The advantages of a thermostat that calculates, summarizes, and visualizes expected thermal responses in a graphical format are that it makes it easier for people to instantly understand the effectiveness of their heating and cooling systems, to know that a heating or cooling cycle is in progress, and, in some mode, where, in time, a heating or cooling cycle has to happen. Figure 1 shows a top plan view of a structure 100 that uses the inventive concepts discussed herein. In this embodiment, the structure 100 comprises a single-story, multi-room residence having a heating system 102, a cooling system 104, and a thermostat 106 that controls the heating system 102 and the cooling system 104. The structure 100 also comprises at least one entrance door 108 and a window 110 that could be monitored by a security system comprising a central security concentrator panel, or gateway 118, and security sensors, such as a door sensor 124 and a window sensor 126. In one embodiment, the concentrator 118 further provides home automation functionality, such as automatically switching lights on and off as people enter and exit the structure 100.In this mode, the concentrator 118 receives wireless signals from one or more occupancy sensors, as shown in Figure 1, which has three of these sensors 128. While only three sensors 128 are shown in Figure 1, other applications may use a smaller or larger number of sensors, and the sensors do not all have to be of the same type. For example, the first sensor 128 could be an occupancy or motion sensor that operates based on movement, and the second sensor 128 could be a carbon dioxide detector that detects the level of carbon dioxide in the ambient air and reports it to the concentrator 118. The concentrator 118, in turn, can automatically turn on the light, for example, in a room where a sensor 128 has detected movement or an increase in carbon dioxide levels, and automatically turn off the light when movement is no longer detected or when carbon dioxide levels decrease.Typically, each of the door sensor 124, window sensor 126, and sensors 128 comprises prior art wireless standard sensors, such as door and window security sensors, motion detectors, occupancy sensors, carbon dioxide sensors, and cameras. In one embodiment, the thermostat 106 uses one or more signals from these sensors to calculate, or modify, the expected thermal responses. The signals can be received by means of one or more wireless receivers within the thermostat 106, such as receivers using well-known wireless protocols, including the professional security protocols Z-Wave®, Zigbee®, Wi-Fi (such as those used by Honeywell®, 2Gig®, and Tyco / DSC), and others. The thermostat 106 comprises a temperature sensor 508 that detects the ambient temperature of the room where the thermostat 106 is located.In some configurations, the thermostat can be configured to receive two or more temperature sensor inputs from temperature sensors located elsewhere in the structure 100. Similar to thermostats of the prior art, the 106 thermostat can be programmed with one or more set points in the form of desired temperatures and times when the desired temperatures should be achieved. For example, a user can program the 106 thermostat with several setpoints, such as: a wake-up setpoint to heat a room to 23.33 °C (74 °F) at 7 a.m. when the user typically wakes up, a leave setpoint to maintain the temperature no lower than 16.66 °C (62 °F) at 8:30 a.m. when the user leaves the building to go to work, a return setpoint to set the room temperature to 23.33 °C (74 °F) at 6 p.m. when the user typically returns from work, and a retirement setpoint to maintain the room temperature no lower than 15.55 °C (60 °F) at 10 p.m. when the user typically goes to bed.As each of the times set by the user at the near set point, the thermostat 106 sends signals to the heating system 102 or the cooling system 104 to start or stop heating or cooling, depending on the current ambient air temperature measured by the thermostat 106 (and / or one or more external temperature sensors) and the desired set point temperature. The term setpoint can also be used to describe a user-entered, desired temperature setting, for the purpose of changing the ambient air temperature to the user-entered temperature. To achieve or reach the temperature setpoints at the times specified, the thermostat 106 typically begins heating or cooling before the setpoint time for each setpoint. In this way, the desired room temperature is often achieved by the time the setpoint time is reached. This is known in the art as a thermal ramp or simply a ramp. Prior art thermostats can be pre-programmed to begin the ramp at a predetermined fixed time before each setpoint time, such as 15 minutes or 30 minutes. In some embodiments, the thermostat 106 can alter the start time of this ramp, as described in U.S. Patent Application No. 15 / 859,573, assigned to the signatory of this application and incorporated herein by reference. Thermostat 106 predicts the ambient air temperature during heating and cooling cycles, including any ramping that may occur, for future setpoints, based on the current or expected ambient temperature of an area within structure 100 and the desired setpoint temperature for each setpoint. In one mode, thermostat 106 calculates a number of expected temperatures against time during the heating and cooling cycles and then simplifies and formats the expected temperatures into a graphical format for presentation or display on thermostat 106 and / or some other device, such as mobile device 122. Additionally, the thermostat can calculate an expected rate of energy consumption by the heating system 102 or the cooling system 104 during current or future heating or cooling cycles. Expected thermal responses can be calculated using one or more factors, such as the ambient temperature in an area of ​​the structure 100 monitored by the thermostat 106, each desired setpoint temperature, the capacity of the heating system 102 and the cooling system 104, current or future outside temperatures, the results of previous heating and cooling cycles, and the door and window status (i.e., whether one or more doors or windows are open or closed), as will be discussed later herein.Once an expected thermal response is calculated, it is summarized, in a general way, by formatting it into an expected thermal response visualization and then the expected thermal response visualization is displayed on a graphical user interface in the thermostat 106 and / or one or more other devices, such as the mobile device 122, a television screen, a local or remote computer, etc. In one mode, the expected thermal response visualizations comprise a waveform or line graph that graphically illustrates the expected temperatures r LCfrnn / eznz / e / YiAi versus time during an upcoming or current heating or cooling cycle, or the times between such cycles (i.e., when the heating system 102 and / or the cooling system 104 is idle). Generally, the waveform comprises a short, gently sloping starting portion, followed by a steeper middle portion, and a short, gently sloping end portion, as shown in Figure 2.The waveform can also be flat or slightly sloping (i.e., generally, a linear increase or decrease in temperature as an area within structure 100 heats up or cools down under ambient conditions) during continuous state operation times, i.e., when an ambient temperature is equal to a desired setpoint temperature and neither the heating system 102 nor the cooling system 104 is active. In one configuration, the thermostat 106 is coupled to the weather server 112 via a local area network (LAN) 114, such as a home Wi-Fi router and modem, and a wide area network 116, such as the Internet. The thermostat 106 can be provided with current and future weather information for a geographic area where the structure 100 is located. This current and future weather information can include current outdoor temperature and humidity, future outdoor temperature forecasts, precipitation conditions and predictions, current and expected wind direction and speed, current and expected cloud cover, and other current and future weather-related information.Thermostat 106 can be programmed by a user with information regarding the thermostat's location, typically by entering a city and state, or the location can be determined by the weather server 112 based on the IP address assigned to thermostat 106. In either case, the weather server 112 provides current and future weather information to thermostat 106 based on the thermostat's request, for example, at predetermined time intervals, or on a delivery basis as updates become available from the weather server 112. In one mode, the 106 thermostat uses future weather information in conjunction with past heating and cooling cycle data to determine expected thermal responses. The 106 thermostat can store previous heating and cooling data, such as set points, heating / cooling ramp start times, resulting room temperatures, and outdoor temperature data during ramps, to determine the relationship between room temperatures, outdoor temperatures, desired room temperatures, and the time it takes for the room to ramp to these desired temperatures. This is explained in more detail later in this document. In another mode, the thermostat 106 can use current and future weather information, and / or past heating and cooling cycle data, and / or door and / or window status information to determine expected thermal responses. In this mode, the status of one or more doors and / or windows is provided to the thermostat 106 either directly via wireless sensors monitoring the doors or windows in structure 100, or via the concentrator 118. The status of each door or window is either open or closed. In some modes, the amount a door or window is open can also be provided, such as 45.72 cm (18 inches) or 106.44 cm (3 feet, 6 inches) in modes where this detailed status information is provided by the sensors.The 106 thermostat can record the resulting room temperatures during the heating ramp and also records the status of one or more doors or windows. This door and / or window status information can skew the time required to reach the set points. For example, if the outside temperature is -1.11°C (30°F) and the indoor ambient temperature is 15.55°C (60°F), and the desired ambient temperature at 7:00 a.m. is 22.22°C (72°F), the standard ramp time might be set to 40 minutes. However, if a window is opened, cold air from outside will enter through the open window, hindering the heating system's effort to bring the room to the desired temperature within the standard 40-minute ramp time.In this case, the 106 thermostat tracks the room temperature during the ramp-up period and stores certain ramp parameters, such as the actual time it takes to reach the desired temperature, based on the outdoor temperature, the initial room temperature, the desired room temperature, multiple temperature readings over the ramp-up period, and whether a window was open. Then, the next time similar circumstances arise—that is, the same or a similar outdoor temperature, an open window, the initial room temperature, and the desired room temperature—the 106 thermostat can adjust the ramp-up time, increasing it by up to 50 minutes, to achieve the desired room temperature within the set point. In one mode, the calculations performed by thermostat 106 to determine expected thermal responses can be carried out by other devices or systems, such as server 120. Server 120 comprises a cloud-based computing server and is coupled to thermostat 106 via wide area network 116 and local area network 114. Server 120 receives certain information from thermostat 106, such as current room temperatures, previously stored setpoints, setpoint information, previously stored thermal responses, occupancy information, door / window status information, etc., for use in calculating expected thermal responses and for providing these expected thermal responses to thermostat 106 and / or another device.Server 120 can also be coupled with weather server 112 to receive current and future weather information, for the purpose of using this information to better control the heating and cooling of an area within structure 100, as described above. Figure 2 shows a perspective view of a thermostat mode 106 displaying a waveform 200 during a heating cycle. This waveform comprises a short, slightly sloped starting portion 218, transitioning to a moderately sloped middle portion 220, which then transitions to a short, slightly sloped end portion 222, as displayed on a graphical user interface 202. In a cooling cycle, the waveform 200 is generally horizontally inverted. The waveform represents a summarized and expected thermal response of a heating or cooling cycle that occurs or nearly occurs with respect to a particular setpoint. It is used to visualize how quickly a desired setpoint temperature will be reached and, in some modes, to convey energy consumption information.The term "heating cycle" as used herein means the time during which the heating system 102 actively heats the ambient air temperature within structure 100 and can be activated automatically, i.e., by means of a setpoint, or manually, for example, when a user manually enters a desired temperature via a user interface of thermostat 106 that is higher than the current ambient air temperature. Conversely, a "cooling cycle" as used herein means the time during which the cooling system 104 actively cools the ambient air temperature within structure 100 and can be activated automatically, i.e., by means of a setpoint, or manually, for example, when a user manually enters a desired temperature via a user interface of thermostat 106 that is lower than the current ambient air temperature. In this mode, waveform 200 extends across the entire width of the graphical user interface 202, making it easier for users to observe and understand how the indoor ambient temperature will change over time during the incoming or current heating or cooling cycle. In one mode, the ambient temperature near thermostat 106 (or the average of two or more temperature probe readings located in different rooms) is measured by thermostat 106 and displayed numerically in the graphical user interface 202 as ambient temperature 204. Alternatively, ambient temperature 204 is represented at the far left point on waveform 200.In one mode, the graphical user interface 202 can display a series of graduations 212 and 214, with graduation 212 representing the ambient temperature and graduation 214 representing the setpoint temperature, for the purpose of enabling the user to quickly see at a glance that the relative ambient temperatures and setpoints are related to each other during a heating or cooling cycle. A desired setpoint temperature 208, as defined by a particular setpoint, is graphically represented at a far right point 206 of the waveform 200 and can also be numerically displayed on the graphical user interface 202 as the desired setpoint temperature 210. The shape of waveform 200 depends on one or more factors, such as the current room temperature, the desired setpoint temperature, the heating or cooling capacity of heating system 102 or cooling system 104, current or projected outdoor temperatures, the results of previous heating and cooling cycles, and the open / closed status of any doors or windows. Waveform 200 may include a far left point near the slightly sloping area 204, indicating that it takes some time after the start of a heating or cooling cycle before the change in room temperature occurs.Similarly, the waveform 200 may comprise a far right point near the slightly sloping area 206 where the heating system 102 or the cooling system 104 may stop heating or cooling, as may be the case, as the ambient temperature approaches the desired setpoint temperature 208, with the expected temperature rising more slowly as the desired setpoint temperature is reached. The slope of waveform 200 may depend on the type of heating system 102 or cooling system 104 controlled by thermostat 106. In some configurations, the heating system 102 and / or cooling system 104 may offer variable capabilities. For example, the heating system 102 and / or cooling system may offer a variable fan, two-stage heating or cooling, or may comprise a variable refrigerant flow (VRF) system or a variable refrigerant volume (VRV) system.In this case, the heating system 102 and / or the cooling system 104 can provide either rapid heating and / or cooling, generally at the cost of higher energy consumption, or economical heating and / or cooling, generally saving energy compared to rapid heating / cooling, although taking longer to reach the desired setpoint temperatures. In one mode, in a variable heating / cooling environment, the thermostat 106 can be set to a comfort mode, where it causes the heating system 102 and / or the cooling system 104 to operate at full or near full capacity, or an economy mode, where it causes the heating system 102 and / or the cooling system 104 to operate at reduced or minimum capacity.A user can select which mode to operate by choosing either Comfort Mode or Economy Mode using a Mode Control button or icon 216 on the graphical user interface 202. In another mode, the desired mode of operation can be pre-programmed as part of one or more setpoints. In yet another mode, the operating mode can be automatically controlled by the thermostat 106 when the difference between the current ambient temperature and a desired setpoint temperature exceeds a predetermined amount, such as -12.22 °C (10 °F). In some configurations, color can be used to convey information regarding the expected energy consumption rate of the heating system 102 and / or the cooling system 104 before or during heating or cooling cycles. For example, at some point before initiating a heating or cooling cycle according to a predetermined setpoint, the thermostat 106 may determine an expected energy consumption rate and cause a portion of the graphical user interface 202 to change color. Each color is associated with an expected energy consumption rate of the heating system 102 and / or the cooling system 104 during a pre- or upcoming heating or cooling cycle. Figure 3A illustrates a waveform 200 displayed on the graphical user interface 202 of thermostat 106 when a heating cycle is or will become active in economy mode. In economy mode, the waveform 200 slopes slightly to indicate that a desired setpoint temperature of 24.44 °C (76 °F) will be achieved in approximately 30 minutes from an ambient temperature of 20 °C (68 °F). Figure 3B illustrates a waveform 200 displayed on the graphical user interface 202 of thermostat 106 when a heating cycle is or will become active in comfort mode. In comfort mode, the 200 waveform curve slopes rapidly and levels out relatively quickly to indicate that the desired setpoint temperature of 24.44 °C (76 °F) will be achieved in approximately 12 minutes from an ambient temperature of 20 °C (68 °F).In some modes, a fixed time is represented by the width of the graphical user interface 202, as in the example shown in Figures 3A and 3B, for example, 30 minutes. In other modes, the relevant portions of the waveform 200 (i.e., the slightly sloping start portion 218, the sloping middle portion 220, and the slightly sloping end portion 222) are formatted to span the entire width of the graphical user interface 202 (best shown in Figure 2), regardless of how long it takes to reach the desired setpoint temperature. In this mode, the time represented by the width of the graphical user interface 202 will vary according to the time required to reach a desired setpoint temperature.For example, the waveforms in comfort mode look similar to the waveforms in economy mode (assuming the same or similar starting ambient temperatures and desired setpoint temperatures), except that the time represented by the GUI width 202 will be relatively shorter in comfort mode and relatively longer in economy mode. Next, referring back to the slope of waveform 200, the slope can be affected by the operating mode that is active when a heating or cooling cycle begins. For example, when the comfort operating mode is active, the slope of waveform 200 will be steeper than when the economy operating mode is active. In some configurations, waveform 200 may comprise two slopes in a variable-capacity heating / cooling system, where thermostat 106 can cause the heating system 102 and / or the cooling system 102 to heat or cool at a high initial capacity and then reduce to a lower capacity. This achieves a balance between energy consumption and the rapid attainment of the desired setpoint temperatures. r LCfrnn / eznz / e / YiAi In one mode, a countdown timer can be used by the thermostat 106 to indicate to users the time remaining to achieve a desired setpoint temperature, shown in Figure 2 as the remaining time indicator 224 displayed on the graphical user interface 202. In another configuration, an indicator 226 can be displayed on the graphical user interface 202 to indicate a point in time during a heating or cooling cycle. While shown as a circular shape in Figure 2, in other configurations, the indicator 226 may comprise other geometric representations or a vertical line. As a heating or cooling cycle begins, the indicator 226 is displayed on the far left portion of the waveform 200 and travels along the waveform as the heating or cooling cycle continues, eventually reaching the far right portion of the waveform 200 as the heating or cooling cycle is completed. Figures 4A-4D illustrate a front plan view of one mode of thermostat 106, which illustrates the use of color to convey certain information about the expected energy consumption rate of the heating system 102, while Figures 4E-4H illustrate a front plan view of one mode of thermostat 106, which illustrates the use of color to convey certain information about the expected energy consumption rate of the cooling system 104. Figure 4A illustrates thermostat 106 with waveform 200 displayed as shown. At this point in time, the ambient temperature is 20°C (68°F), and the desired setpoint temperature is also 20°C (68°F). Therefore, neither the heating system 102 nor the cooling system 104 is operating. Consequently, in this mode, thermostat 106 is colored green in an area of ​​the graphical user interface 202 below waveform 200 to indicate minimal or zero power consumption by the heating system 102 and / or the cooling system 104. The green color is represented by the specific strip shown in Figure 4A.It should be understood that, although the area below the 200 waveform is shaded in this example, different or additional areas of the user interface can be colored to indicate expected power consumption information; for example, shading the entire screen, coloring only the 200 waveform, shading the area above the 200 waveform, and so on. In this example, green is used to indicate minimal / no power consumption, although another color can be chosen as an alternative. Figure 4B illustrates thermostat 106 with waveform 200, which shows a slight upward slope during a heating cycle (or before the heating cycle begins), with the ambient temperature at 20 °C (68 °F) and a desired setpoint temperature of 22.22 °C (72 °F). Thermostat 106 can be set to economy mode, resulting in reduced energy consumption by the heating system 102, where the heating system 102 comprises a variable-capacity system. The expected rate of energy consumption is represented by the shading below waveform 200, in this case in orange, to reflect the increase in the expected rate of energy consumption compared to the steady-state condition illustrated in Figure 4A.The orange color is represented by the particular strip shown in Figure 4B, different from the strip shown in Figure 4A. As before, the area below waveform 200 is shaded in this example. Different or additional areas of the graphical user interface can be colored to indicate the increase in the expected rate of energy consumption; for example, shading the entire screen, coloring only waveform 200, shading above waveform 200, etc. In this example, the orange color is used to indicate a certain expected rate of energy consumption greater than zero, although less than the highest expected rate of energy consumption that can be experienced when placing thermostat 106 in comfort operating mode. Figure 4C illustrates thermostat 106 with waveform 200 showing a rapid upward slope during a heating cycle (or before the heating cycle begins), with the ambient temperature at 20°C (68°F) and a desired setpoint temperature of 22.22°C (72°F). Thermostat 106 can be set or adjusted in comfort mode, resulting in an increase or maximum energy consumption rate of the heating system 102 compared to the expected energy consumption rate as shown in Figure 4B. The expected energy consumption rate is represented by the shading below waveform 200, in this case in red, to reflect the increase or maximum expected energy consumption rate relative to the consumption rates shown in Figure 4B.The color red is represented by the particular strip shown in Figure 4C, different from the strip shown in Figures 4A and 4B. Figure 4D illustrates thermostat 106 once the desired setpoint temperature has been reached after a heating cycle has been completed. As in Figures 4A–4C, the area below waveform 200 is shaded, this time in green, to indicate minimal or no energy consumption. The shading is represented by the same strip shown in Figure 4A. Figures 4E-4H illustrate thermostat 106, which displays the expected thermal responses during a cooling cycle. Generally, the responses shown in Figures 4E-4H are the inverse of those shown in Figures 4A-4D, with the exception of the expected energy consumption rates, which are again shown in this example as the shading below waveform 200. Figure 5 shows a functional block diagram of one embodiment of the thermostat 106, illustrating the processor 500, memory 502, network interface 504, graphical user interface 506, temperature sensor 508, humidity sensor 510, and HVAC interface 512. In some embodiments, the thermostat 106 can be electronically coupled with one or more safety sensors, such as one or more door or window sensors and / or motion sensors, either through a dedicated prior art receiver (not shown) or by means of a network interface 504. It should be understood that, in some embodiments, some functionality has been omitted from Figure 5 for clarity purposes, such as power supply. r LCfrnn / eznz / e / YiAi Furthermore, it should be understood that the functionality to calculate, summarize, and present the expected thermal responses can be performed, alternatively, by the mobile device 122 or the server 120, either alone or in connection with another device, such as a prior art thermostat. The processor 500 comprises one or more general-purpose microprocessors, microcontrollers, and / or common or near-common ASICs, and / or discrete components capable of performing the functionality required for the operation of the thermostat 106. The processor 500 may be selected based on processing capabilities, power consumption properties, and / or cost and size considerations. In the case of a microprocessor, microcontroller, or ASIC, the processor 500 generally executes the processor-executable instructions stored in memory 502 that control the functionality of the intelligent personal assistant. Examples of memory include one or more electronic memories, such as RAM, ROM, hard disk drives, flash memory, EEPROM, UVPROM, etc., or virtually any other type of electronic, optical, or mechanical memory device, but excludes propagated signals.In some forms, the 502 memory can be incorporated into the 500 processor, such as in the case of a microcontroller having a certain amount of onboard static RAM, 'flash' memory, or some other electronic memory capable of storing processor-executable instructions and variable information, such as setpoint information, current and future weather information, door / window status information, past historical ramp information (i.e., previous ramp information and the conditions that produced the previous ramp information, such as indoor / outdoor temperatures, door / window status, occupancy information, etc.). The network interface 504 comprises a set of circuits necessary to send and receive information to and from other devices on LAN 114, such as the concentrator 118, the door sensor 124, the window sensor 126, the mobile device 122, the heating system 102, the cooling system 104, the occupancy sensors 128, and / or to entities outside LAN 114, such as the weather server 112, the server 120, and the mobile device 122 when the mobile device 122 is outside LAN 114. The mobile device 122 comprises a smartphone, a tablet computer, a desktop computer, a laptop computer, or other personal data device running an application (app) to control the thermostat 106, to input setpoint information, to graphically display expected thermal ramps, etc.This r LCfrnn / eznz / e / YiAi set of network interface circuits is well known in the art and may comprise one or more sets of Bluetooth, Wi-Fi, or RF circuits, among others. The graphical user interface 506 comprises an electronic display that enables the user to operate the thermostat 106 (i.e., to program set points, manually adjust the temperature, etc.), to input information that can be used by the thermostat 106 (such as the location of the structure 100, the square footage of the structure 100, the capacity of the heating system 102 and / or the cooling system 104, safety sensor information, etc.), and to display or present the expected thermal responses as described with reference to Figure 2 herein. Typically, the graphical user interface 506 comprises a touchscreen, widely used in most smartphones, thermostats, and other electronic devices currently on the market. The temperature sensor 508 comprises a sensor that provides electronic signals to the processor 500 according to the ambient air temperature surrounding the thermostat 106. In some embodiments, the temperature sensor 508 is not used and the thermostat 106 receives temperature readings from one or more temperature sensors located in one or more locations within the structure 100. The temperature sensor 508 may comprise a thermistor, a resistive temperature detector, a thermocouple, a semiconductor-type apparatus, or other temperature sensors known in the art. Humidity sensor 510 comprises an electronic-optical sensor that provides electronic signals to the processor 500 according to the ambient humidity conditions surrounding the thermostat 106. In some embodiments, humidity sensor 508 is not used, and the thermostat 106 receives humidity readings from one or more humidity sensors located in one or more locations of the structure 100. Humidity sensor 508 may comprise a capacitive sensor, a resistive sensor, a thermal sensor, a gravimetric sensor, an optical sensor, or some other humidity sensor known in the art. The HVAC 512 interface comprises a set of circuits for communicating with the heating system 102 and / or the cooling system 104. In one embodiment, the HVAC 512 interface comprises a set of well-known circuits for communicating with systems 102 and 104 by means of two or more conducting wires. In other embodiments, the HVAC 512 interface comprises a set of wireless radio frequency circuits for communicating with systems 102 and / or 104 wirelessly, such as the popular Z-Wave® or Zigbee® communication chips. Still in other embodiments, r LCfrnn / eznz / e / YiAi The HVAC 512 interface is not required and the thermostat 106 communicates with system 102 and / or 104 by means of a 404 network interface. The 514 safety sensors comprise well-known door and window sensors and / or motion sensors. These sensors can detect when one or more doors or windows are opened, which can impact the shape and ramp times of the expected thermal responses. For example, if the outside temperature is 4.44°C (40°F) and a window is opened, and the thermostat is attempting to heat structure 100 to 22.22°C (72°F), it may take longer for the heating system 102 to heat structure 100 to the desired setpoint temperature because cooler outside air can enter structure 100 through the open window. The shape and ramp times of the expected thermal responses can also be impacted if two or more doors or windows are opened.The 106 thermostat can use status information from safety sensors, in combination with outdoor air temperatures, to calculate expected thermal responses. Occupancy sensors 128 comprise one or more prior art occupancy sensors, motion detectors, carbon monoxide detectors, cameras, or any other prior art device capable of detecting the presence of people within structure 100. In one modality, the thermostat 106 is capable of receiving wireless signals from the sensors and using this information to generate or modify the expected thermal responses. Generally, when there are more people inside structure 100, the heat generated by their bodies is greater, warming the ambient air within structure 100. Figure 6 shows a flowchart of one mode of a method, implemented by thermostat 106, for calculating, summarizing, and presenting expected thermal response visualizations. It should be understood that the steps described in this method can be performed in a different order than shown and discussed, and that some minor steps may be omitted for clarity and simplicity. It should also be understood that the functionality described in this method can be implemented by a thermostat, a mobile device, or a server located remotely from a facility, and that the reference to thermostat 106 can be applied equally to these other devices. In block 600, the thermostat 106 is programmed by the user with one or more setpoints, typically via the user interface 504 or the mobile device 122. Each setpoint comprises a desired setpoint temperature (i.e., a desired room or building temperature) in conjunction with the day and time the user would like to reach or achieve that desired setpoint temperature. Commonly known setpoints include the wake-up setpoint, the leave setpoint, the arrival setpoint, and the sleep setpoint. The processor 500 receives the setpoints and stores them in memory 502. The user can also input information into thermostat 106 regarding structure 100 and heating system 102 and / or cooling system 104. For structure 100, the user can input its square footage, the number of doors and / or windows, its location (i.e., postal code, GPS coordinates, area code, etc.), one or more materials from which structure 100 is constructed, the date structure 100 was built, and so on. For heating system 102 and / or cooling system 104, the user can input its capacity (i.e., kilowatts, tons, BTU, etc.), one or more fan speeds, the brand name, model name, model number, and so on. Processor 500 receives the structure and heating / cooling system information and stores it in memory 502.In one mode, the processor 500 can access a remote web server via a network interface 504 to download energy consumption information from a particular model of the heating system 102 and / or the cooling system 104. The processor 500 r LCfrnn / eznz / e / YiAi then stores this information in memory 502. The thermostat 106 may also be able to store clues from doors and windows monitored by the security sensors 514. For example, a front entrance door monitored by a first security sensor 514 may be labeled as a front door, and a window near the front door monitored by a second security sensor 514 may be labeled as the window near the front door. Alternatively, or in combination, the clues may comprise a photograph of at least some doors and windows monitored by the security sensors 514, photographed by a user and provided to the processor 500 to identify the doors and windows within the structure 100. The 106 thermostat can also be programmed to enter the number and type of safety sensors and / or occupancy sensors. In block 602, processor 500 can receive current weather conditions from weather server 112. Alternatively, current weather conditions can be received from a local temperature sensor installed outside structure 100 and communicating with local area network 114. In either case, processor 500 receives current weather conditions and typically stores them in memory 502. These current weather conditions include temperature, barometric pressure, wind direction and / or speed, precipitation indications, and / or cloud cover indications. In block 604, processor 500 can receive weather forecasts from weather server 112. These future weather forecasts may include predicted temperatures, barometric pressures, wind direction and / or speed, precipitation indications, and / or cloud cover indications. This future weather information can be provided as a forecast for each work or day, extending into the future for a number of days, such as 10 days. For each time period (hour or day), the forecast weather information can be provided by weather server 112 as the weather predictions are generated by that server. In one mode, one or more weather forecast updates are provided to processor 500 at predetermined time intervals, such as hourly or daily.In other modes, weather forecasts are provided to the processor 500 based on the processor 500 requesting that weather forecast information from the server 112 at predetermined time intervals, or based on the occurrence of a predetermined event r LCfrnn / pznz / e / YiAi, such as the user requesting an update through a graphical user interface 506 or the mobile device 122. In block 606, the processor 500 can calculate one or more expected thermal responses in connection with one or more setpoints stored in memory 502, based on one or more factors, as discussed later. In some modes, the expected thermal responses are calculated shortly before each setpoint time is reached, or a time at which the heating system 102 or the cooling system 104 begins a temperature ramp, i.e., approximately 15 minutes before each setpoint time.For example, if a wake-up setpoint is set for 7:00 AM, the Processor 500 can calculate an expected thermal response for this setpoint only approximately 20 minutes before 7:00 AM (i.e., 5 minutes before the Heating System 102 or Cooling System 104 begins a heating or cooling cycle, respectively). Similarly, it calculates expected thermal responses for other setpoints just before their respective setpoint times. The Processor 500 can also calculate an expected thermal response in response to manual user input to manually change the current ambient air temperature or to change the desired setpoint temperature during a heating or cooling cycle.In these cases, the 500 processor uses the current ambient temperature as the starting point for an expected thermal response and the desired temperature entered by the user to generate the expected thermal ramp. The 500 processor can generate a new expected thermal ramp each time the user enters a new desired temperature. For example, if the ambient air temperature is 25.55 °C (78 °F) and the user wants 22.22 °C (72 °F), the user can tap a portion of the 506 graphical user interface that represents the decrease in air temperature, one degree over time. As the user presses once, causing the desired temperature to drop to 25°C (77°F), the 500 processor can generate and display an expected thermal response, using the current ambient air temperature of 25.55°C (78°F) as a starting point for the expected thermal response and using 25°C (77°F) as an ending point for the expected thermal response.As the user continues to adjust the desired temperature, the processor recalculates an expected thermal response for each decrease in the desired temperature, using the current ambient air temperature as a starting point and the temperature newly entered by the user. The user can enter the desired temperature in just a few seconds, in this case, by tapping the graphical user interface six times. One of six different expected thermal responses will then be calculated, simplified, and displayed with each subsequent tap of the graphical user interface. In one mode, the expected temperature ramps are calculated using the ambient temperature in the vicinity of thermostat 106 (and / or one or more thermal sensors coupled with thermostat 106) at or before the start of each temperature ramp and the desired setpoint temperature for each setpoint. In this mode, the processor 500 calculates a series of expected temperatures over time during a heating or cooling cycle, that is, between the time a temperature ramp begins and the expected time the setpoint temperature is reached. It should be understood that a temperature ramp may begin before the setpoint time is reached, in order to allow time for the heating system 102 and / or the cooling system 104 to reach the desired setpoint temperature within the setpoint time.This time may be referred to herein as the time of the start of the thermal ramp, typically equal to around 10-20 minutes. The calculation performed by the 500 processor, in the case described above, may involve the determination of a series of expected temperatures in a linear direction from ambient temperature to the desired setpoint temperature. In some modes, only the ambient temperature and the desired setpoint temperatures are used as criteria for the 500 processor to calculate the expected thermal response, which is simplified and displayed as a waveform in the graphical user interface 506—in this case, a straight line from ambient temperature to the desired setpoint temperature. In a related mode, the 500 processor may modify the straight line by adding the default term, slightly angled portions to the start and end functions of the straight line, similar to the start function 218 and the end portion 222.These additions to the straight line can be stored in memory 502 and can be attached to the straight line as an approximation of how the ambient temperature may change at the beginning and / or end of the heating and / or cooling cycle. In one mode, the processor 500 uses the capacity of the heating system 102 and / or the cooling system 104, along with the ambient temperature and the setpoint temperature, to calculate the expected thermal responses. In this mode, the capacity of the heating system 102 and / or the cooling system is retrieved from memory 502 and is used to help calculate the expected temperatures over time using the ambient temperature, the desired setpoint temperature, and capacity information. For example, if the capacity of heating system 102 is 43.9607 Kilowatts (114.6536 Kilowatts (50,000 BTU)), which can be considered a very large heating information, the processor 500 can calculate the expected temperatures against time so that they rise quickly from ambient temperature to the desired setpoint temperature, for example, 10 minutes.On the other hand, if the capacity of heating system 102 is only 14.6536 kilowatts (50,000 BTU), this can be considered a small heating system, and processor 500 can calculate the expected temperatures over time so that it cools down more slowly from ambient temperature to the desired setpoint temperature. For example, given that the ambient temperature and the setpoint temperature in the previous example are the same, the time between the ambient temperature and the setpoint temperature is 30 minutes. Obviously, the temperature-over-time calculation during each thermal ramp is partly dependent on the difference between the ambient temperature and the setpoint temperature. When the difference is larger, it will take longer for heating system 102 or cooling system 104 to reach the setpoint temperature. In a related mode, memory 502 stores one or more characteristics of structure 100 to better calculate expected thermal responses. For example, memory 502 can store characteristics such as square footage, ceiling heights, number of stories, type of insulation, number of windows, location of structure 100, sun exposure, and number of occupants, received through manual input via a graphical user interface 506 or mobile device 122. Characteristics that tend to increase the rate of heating or cooling cycles include smaller square footage, lower ceiling heights, single-story construction, better insulation, a small number of windows, location of structure 100 in warmer / colder climates, low / high sun exposure, and fewer occupants, and vice versa.Thus, if a particular cooling cycle, for example, starts at an ambient temperature of 26.66 °C (80 °F) with a setpoint temperature of 22.22 °C (72 °F), the time to cool an area within structure 100 to 22.22 °C (72 °F), where structure 100 comprises one or more of the aforementioned features that tend to increase the rate of heating and cooling cycles, will be less than the time to cool an area within structure 100 comprising one or more of the aforementioned features that tend to decrease the rate of heating and cooling cycles. In one mode, the 500 processor uses current or future outdoor weather information, along with indoor ambient temperature and setpoint temperature, to calculate or modify one or more existing expected thermal responses. This current or future outdoor weather information may include one or more current and / or future outdoor temperatures, precipitation, wind speed and direction, cloud cover, and other current and future weather-related information. Generally, the 500 processor will use current outdoor weather information to calculate the expected thermal responses for a setpoint that is about to occur.In other modes, the Processor 500 uses predicted outdoor temperatures to calculate expected thermal responses for future setpoints, using the predicted outdoor temperature at the time a future setpoint begins. For example, if the current outdoor temperature is -1.11 °C (30 °F) and the wake-up setpoint will occur in one minute, with an indoor ambient temperature of 17.22 °C (63 °F) and a desired setpoint temperature of 21.11 °C (70 °F), the Processor 500 can calculate the thermal response for this setpoint, indicating that the indoor ambient temperature rises more slowly than if the outdoor temperature were 10 °C (50 °F). In one mode, the processor 500 uses the results of previous thermal ramps, along with the indoor ambient temperature and the setpoint temperature, to calculate the expected thermal responses. In this mode, the processor 500 stores sets of indoor ambient temperatures over time during heating or cooling cycles in memory 502, obtained from temperature sensor 508—for example, a temperature reading per minute. Other information can be stored in association with each heating / cooling cycle, such as humidity, door or window status (i.e., open or closed), and / or weather conditions during each heating / cooling cycle.In some configurations, the rate at which temperature readings are stored in memory 502 may be higher near the beginning and end of a heating or cooling cycle, in order to obtain a better understanding of how the temperature is changing during a nonlinear portion of a heating or cooling cycle. For example, when the heating system 102 begins heating an area within structure 100, little or no change in ambient temperature may be detected during the first few minutes, as the warm air from the heating system 102 begins to displace the cooler ambient air in an area within structure 100.During this time, the 500 processor can store indoor ambient temperatures at a rate of one reading every 30 seconds in order to capture the subtle price differences as the ambient temperature begins to respond to the heating cycle. Then, once the cool ambient air has been warmed by the hot air from heater 102, the ambient air begins to heat in a truly linear fashion, that is, at a more or less constant rate. During this time, the 500 processor can store indoor ambient temperatures at a rate of one reading every 60 seconds.Similarly, near the end of the heating cycle, that is, when the indoor ambient temperature approaches the desired setpoint temperature, the heating system 102 can disconnect its heating element and allow the indoor ambient temperature to discharge toward the desired setpoint temperature at a slower rate than in the linear portion of the heating cycle. During this time, the processor 500 can again store indoor ambient temperatures at a rate of one reading every 30 seconds, for the purpose of capturing the nuanced temperature differences as the ambient temperature approaches the setpoint temperature. For any setpoint, the Processor 500 can compare the current indoor ambient temperature and the desired setpoint temperature with stored indoor ambient temperatures and related setpoints to determine the best match. For example, if the current indoor ambient temperature is 27.77°C (82°F) and the desired setpoint temperature is 22.22°C (72°F), the Processor 500 can determine the best match from a previous cooling cycle that started at an ambient temperature of 27.77°C (82°F) and had a desired setpoint temperature of 22.22°C (72°F). If an exact match is not found, the Processor 500 can place more weight on either the ambient temperature or the desired setpoint temperature to achieve the best match.For example, if no data is available in memory 502 for an indoor ambient temperature of 27.77 °C (82 °F) with a desired setpoint temperature of 22.22 °C (72 °F), processor 500 can determine the best match from previously stored data that has an indoor ambient starting temperature of 21.11 °C (70 °F) with a desired setpoint temperature of 22.22 °C (72 °F). Alternatively, processor 500 determines the best match by comparing the temperature difference between the current indoor ambient temperature and the desired setpoint temperature with the temperature difference of each pair of initial ambient temperatures and associated desired setpoint temperatures stored in memory 502.The starting ambient temperature and the desired setpoint temperatures stored in memory 502 that have the closest difference to the current ambient temperature and the desired setpoint temperature may be considered by the processor 500 as the closest match. In some modes, this method is not considered by the processor 500 when either the current indoor ambient temperature and / or the desired setpoint temperature is greater than a predetermined number of degrees outside the stored ambient temperatures and associated desired setpoint temperatures, respectively. In some modes, the 500 processor uses other stored information in association with indoor ambient temperatures and desired setpoint temperatures to determine the best match. For example, the 502 memory can store two previous thermal ramps, r LCfrnn / eznz / e / YiAi, each starting at an indoor ambient temperature of 17.77 °C (64 °F) and each having a desired setpoint temperature of 22.22 °C (72 °F).However, one of these ramps was recorded while a window was open (as determined by safety sensor 514), which characterizes a relatively gentle gradient from the ambient temperature, due to some of the heat from heating system 102 escaping through the open window. The other ramp was recorded while all doors and windows were closed, resulting in a steeper thermal gradient from the ambient temperature, due to all the heat from heating system 102 remaining inside structure 102. In this example, processor 500 determines that the current indoor ambient temperature is 17.77 °C (64 °F), that the desired setpoint temperature is 22.22 °C (72 °F), and that a window is open. Thus, processor 500 selects the previously stored thermal ramp information from memory 202 that corresponds to the indoor ambient temperature of 17.77 °C (64 °F).77 °C (64 °F), the desired setpoint temperature of 22.22 °C (72 °F), and the fact that a window is open. Obviously, the processor 500 can select a previously stored thermal ramp using one or more of other pieces of information stored in memory 502, either additionally or alternatively, such as humidity and / or weather conditions, to select the best match of the previously stored thermal ramp information. Once the 500 processor determines the best match between the current indoor ambient temperature and the desired setpoint temperature in memory 502, the 500 processor uses the current stored temperature readings associated with the selected stored indoor ambient temperature and the associated desired setpoint temperature as a basis for the current expected thermal response associated with a forthcoming setpoint. Some or all of these temperatures may be modified by the 500 processor based on other factors, such as current / expected humidity conditions, the current state of any doors or windows (i.e., open or closed), current or future weather conditions, etc. For example, if the best match in memory 502 for an initial indoor ambient temperature of 17.77°C (64°F) and a desired setpoint temperature of 21°C (64°F) is found in memory 502, the current temperature may be modified by the 500 processor.66 °C (71 °F) comprises the temperature readings as shown in Figure 7A, where the desired setpoint temperature is reached in about 20 minutes. The processor can modify some of these temperatures to indicate, for example, a longer heating cycle if one or more doors or windows are opened, as shown in Figure 7B, where the temperature gradient descends more slowly and takes longer—30 minutes in this example—to reach the desired setpoint temperature of 21.66 °C (71 °F). In an alternative mode, the 500 processor can store indoor ambient temperatures during thermal ramps only until a desired setpoint temperature is reached. In other words, in Figure 7A, only the first eight ambient temperatures would be recorded. In one mode, the 500 processor uses the open or closed state of one or more doors and windows of the 100 structure, along with the ambient indoor temperature and the desired setpoint temperature, to calculate or modify one or more existing expected thermal responses. Generally, any open door or window during a heating or cooling cycle tends to reduce cycle efficiency, resulting in longer times to reach the desired setpoint temperature.In this mode, the 500 processor can calculate an expected thermal response based on any of the above methods (i.e., linear, modified linear, system capacity-based, outdoor temperature compensation, previous thermal responses) and increase the time required for heating or cooling by a predetermined amount for each door or window opened during a heating or cooling cycle. For example, if it takes 20 minutes for the LCfrnn / pznz / e / YiAi cooling system 104 to cool an area within structure 100 from 26.66 °C (80 °F) to 21.11 °C (70 °F) with all doors and windows closed, the 500 processor can increase the time required to reach the desired setpoint temperature to 25 minutes if one door or window is opened, 30 minutes if two doors or windows are opened, and so on.In some configurations, some doors and windows may be given a higher weight to alter heating / cooling times when they are located near air vents, or if these are noted as large by a user. In one mode, the processor 500 uses the current occupancy status of one or more areas within the structure 100, along with the indoor ambient temperature and the desired setpoint temperature, to calculate or modify one or more existing expected thermal responses. In this mode, the processor 500 receives occupancy signals from one or more occupancy sensors 128, either through a network interface 504 or a dedicated thermostat prior art receiver 106. For heating to the setpoint, the processor 500 generally reduces the time required to bring an area within the structure 100 to the desired setpoint temperature when the structure 100 is occupied by one or more people.When more people are present, the expected thermal response r LCfrnn / eznz / e / YiAi is faster, since each person emits body heat, contributing to the warming of the ambient air within structure 100. Alternatively, for the incoming cooling cycle, the processor 500 generally increases the time required to bring an area within structure 100 to the desired setpoint temperature when structure 100 is occupied by one or more people. The effect of body heat within structure 100 generally becomes more pronounced as more and more people are inside structure 100, and this effect is not linear and may also depend on the size of structure 100. For example, if structure 100 is 74.In a structure of 3224 square meters (800 square feet), the ambient indoor temperature will change little when one or two people are present, although it may be impacted to a modest extent when four people are present and may be impacted greatly when 10 or more people are present. However, in a large structure, such as one of 278.70 square meters (3,000 square feet), the ambient temperature inside structure 100 may not begin to be affected until 10 people are present. In one mode, processor 500 generates or modifies one or more expected thermal responses based on information stored in memory 502. For example, processor 500 may increase or decrease the expected thermal response r LCfrnn / eznz / e / YiAi (i.e., the time it takes for an area within structure 100 to reach a desired setpoint temperature) as a new person enters or leaves structure 100.In one mode, this is achieved by storing a numerical factor in memory 502 for the number of people who can occupy structure 100. For example, the factor might be 1 (i.e., no change) when 1-3 people are detected within structure 100, 1.2 if 4-6 people are present, and 1.5 if 7-10 people are present. The factor influences the expected thermal response by increasing the expected thermal ramp time during cooling cycles, through multiplication of the expected thermal ramp time by the factor, and decreasing it during heating cycles, through division of the expected thermal ramp time by the factor. In one mode, the expected thermal response display further includes a visual indication of the expected power consumption of the heater 102 and / or the cooling system 104 before, or while, the heating system 102 or the cooling system 104 is operating to heat or cool an area within the structure 100, respectively. A color can be indicative of a particular amount of power consumption, i.e., red to indicate high power consumption and green to indicate lower power consumption. In one mode, the processor 500 changes the color representing power consumption if the processor 500 receives one or more manual instructions from the graphical user interface 506 to increase the temperature (to achieve heating) or to decrease the temperature (to achieve cooling).This manual input can be received as the user wishes to heat or cool the ambient air temperature within structure 100 beyond what is currently programmed. For example, if the ambient air temperature is 22.22 °C (72 °F) and the user presses the graphical user interface six times to enter a desired temperature of 25.55 °C (78 °F), for each press of the graphical user interface 506, the processor 500 can calculate a new color to display, based on the expected power consumption to reach the user-specified temperature.A color change can occur based on each pressure of the 506 graphical user interface, or it can occur only when a predetermined temperature change threshold has been reached; that is, the 500 processor changes the color of at least a portion of the 506 graphical user interface for every two degrees of change in the current ambient temperature. r LCfrnn / eznz / e / YiAi The 500 processor can select a color for the display by considering the energy ratings of the heating system 102 and / or the cooling system 104 and the expected time to reach a particular set point. For example, more energy will be used during the heating / cooling cycle when the difference between the ambient temperature and the desired temperature is large, while less energy will be used when the difference is smaller. Obviously, other factors may come into play, such as the size of the structure 100, the number of doors / windows and whether they are open or closed, the number of people present, etc.The processor 500 can store a plurality of expected power consumption values ​​in memory 502 in association with a particular color, where each expected power consumption value corresponds to a particular starting ambient temperature and the desired temperature combination, the expected power consumption of the heating system 102 or the cooling system 104 to heat or cool the ambient air within structure 100 to the desired temperature. Alternatively, the differences between a plurality of starting / desired temperatures are stored, each with a corresponding different color to represent the power consumption required to raise or lower the ambient air temperature within structure 100. Then, during the generation of an expected thermal response, the processor r LCfrnn / eznz / e / YiAi. 500 determines the initial ambient air temperature and the desired temperature and refers to memory 502 to select a color based on either of the initial / desired temperatures of the upcoming heating or cooling cycle, or based on the difference between the initial / desired temperatures. The colors displayed in the graphical user interface 506 can comprise a plurality of colors that fluctuate, for example, from green, indicating low or no energy consumption, to yellow (increasing energy consumption), to orange (still more energy consumption), to red (maximum energy consumption). Obviously, other color schemes can be used, and the number of colors can be greater or less than the four colors just discussed. In block 608, in one mode, the processor 500 can generate a message to a user of the thermostat 106 to perform one or more actions, either before or during a heating or cooling cycle, for more efficient and faster heating or cooling of an area within the structure 100. For example, just before a heating cycle, the processor 500 can determine that one or more doors or windows are open based on signals received from one or more safety sensors 514. In response, the processor can generate a suggestion to close all doors and windows or, more specifically, to close the window near the front door in a case where the thermostat 106 has been previously programmed with indications of at least some doors and windows being monitored by the safety sensors 514.The message can be displayed on the graphical user interface 202 and / or can be transmitted to the mobile device 122, where the mobile device 122 can use the message to display it to a user, for example, in the form of a text message. In block 610, the processor 500 can receive an indication from one or more of the safety sensors 514 that a user has closed one or more open doors or windows and can generate and display a message such as "Thank you!". Alternatively, the processor 500 can calculate a new estimated thermal response based on the knowledge that the user has closed one or more open doors and windows. For example, a current expected thermal response might change from having a slope of one-fifth to a slope of one-quarter, or the slope might remain unchanged, although the time to reach the desired setpoint temperature is reduced.In block 612, in one mode, the processor can generate one or more blind control signals to cause one or more window blinds to close before, or during, a cooling cycle. In this mode, some of the windows in structure 100 can be fitted with motorized blinds, such as the Insynctive® brand of motorized blinds sold by the Pella Corporation of Pella, Iowa. Typically, the motorized blinds are controlled either by a remote control or by means of a specialized application running on a mobile device 122, and wireless control signals are often directed to these motorized blinds via LAN 114. The processor 500 can provide an open / closed status for one or more motorized blinds via LAN 114 and the network interface 504.If the processor 500 determines that one or more motorized blinds are open before or during a cooling cycle, the processor 500 can cause one or more blind control signals to be transmitted to one or more of the blinds. These blind control signals instruct each motorized blind to close. In one mode, the processor 500 only sends one or more blind control signals when the thermostat 106 is operating in an economy mode. As described in a similar mode, in response to the transmission of the blind control signal(s), or based on receiving confirmation from one or more of the motorized blinds that each blind has actually closed, the processor 500 can calculate a new estimated thermal response based on the knowledge that one or more of the blinds have been closed. In block 614, the processor 500 can calculate, or modify, an expected thermal response based on whether the thermostat 106 is in an economy operating mode or a comfort or reset operating mode. The processor 500 determines which mode it is operating in based on receiving a signal from a mode control button or icon 216. In economy mode, the thermostat 106 instructs the heating system 102 and / or the cooling system 104 to operate in an efficient mode, i.e., operating a fan at a low speed, operating the first stage of a two-stage heating or cooling system, reducing the refrigerant flow in a variable refrigerant flow cooling system, or other well-known techniques for operating the heating system 102 and / or the cooling system 104 in an energy-efficient mode.In comfort mode, the processor 500 instructs the heating system 102 and / or the cooling system 104 to operate at full capacity to heat or cool an area within structure 100 as quickly as possible. In either case, the processor 500 calculates an expected thermal response that takes longer to reach the desired setpoint temperature in economy mode than in comfort mode, all other things being equal. In block 616, once the 500 processor has calculated one or more expected thermal responses as described above, it simplifies one or more of these responses by converting them into one or more graphical representations, referred to herein as expected thermal response visualizations. In one mode, the 500 processor uses individual expected temperatures versus time and converts them into a graphical format. For example, if an expected thermal response comprises 10 temperatures that decrease at a constant rate, the 500 processor converts those values ​​into a straight line, starting at room temperature and ending at a desired setpoint temperature. In general, in one mode, the expected thermal response visualizations comprise a linear graph or waveform.Alternatively, the graphical format can take other forms, such as a bar chart or some other shape. In some modes, the waveform extends the entire width of the graphical user interface 506, representing a fixed time period, such as 10–30 minutes, graphically displaying the current ambient temperature on the far left side of the graphical user interface 506 and graphically displaying the desired setpoint temperature on the right side of the graphical user interface 500. In other modes, the waveform is positioned so that it fits entirely within the width of the graphical user interface 500; that is, the display width of the waveform can indicate different time durations.In one mode, the expected thermal response comprises only an initial ambient temperature and a desired setpoint temperature, and the expected thermal response display comprises a line from the initial ambient temperature to the desired setpoint temperature. In general, the 500 processor approximates expected temperatures over time by generating a linear graph that best approximates the expected temperatures during a thermal ramp. In block 618, the processor 500 can use the graphical user interface 506 to display or present the expected thermal response visualization before or during a thermal ramp. In some modes, alternatively or additionally, the processor 500 sends the expected thermal response visualization to at least one device external to the thermostat 106, typically via LAN 114, to remotely view the expected thermal response visualization of the thermostat 106. In block 620, the 500 processor can generate indicator 226 and may cause indicator 226 to be displayed in the graphical user interface 202 as part of the expected thermal response display. The indicator r LCfrnn / eznz / e / YiAi 226 provides a graphical representation of the current ambient temperature as it is realized, in one mode, along the 200 waveform. The 500 processor determines a current ambient temperature and then realizes the 226 indicator at a point along the 200 waveform that coincides with the current ambient temperature. The methods or steps described in connection with the modalities described herein may be directly embedded in hardware or embedded in machine-readable instructions executed by a processor, or a combination of both. The machine-readable instructions may reside in RAM, flash memory, ROM, EPROM, EEPROM, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. One example of a storage medium is coupled with the processor so that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. Alternatively, the processor and the storage medium may reside as discrete components. Accordingly, one embodiment of the invention may comprise a non-transient processor-readable means that includes machine-readable code or instructions to implement the teachings, methods, processes, algorithms, steps and / or functions described herein. While the foregoing description shows illustrative embodiments of the invention, it should be noted that various changes and modifications may be made to the invention without departing from its scope as defined by the appended claims. The functions, steps, and / or actions of the method claims, according to the embodiments of the invention described herein, need not be performed in any particular order. Furthermore, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless explicitly stated otherwise. It is hereby stated that, as of this date, the best method known to the applicant for putting the aforementioned invention into practice is the one that is clear from the present description of the invention.

Claims

1. An apparatus for summarizing and transmitting expected thermal responses to users, characterized in that it comprises: a graphical user interface; a temperature sensor; a non-transient memory for storing processor-executable instructions and one or more setpoints; and a processor, coupled with the graphical user interface, the temperature sensor, and the non-transient memory for executing the processor-executable instructions that cause the processor to: store a first setpoint in memory, the first setpoint comprising a start time and a desired setpoint temperature; determine an ambient room temperature as a function of one or more temperature sensor signals; calculate an expected thermal response as a function of at least the ambient temperature and the desired setpoint temperature;Summarize the expected thermal response in an expected thermal response visualization; and cause the expected thermal response visualization to be displayed in the graphical user interface.

2. The apparatus according to claim 1, characterized in that the expected thermal response display comprises a waveform of the expected room temperatures versus time as an HVAC system begins a heating or cooling cycle based on the first set point.

3. The apparatus according to claim 2, characterized in that the waveform is formatted to display the waveform using the full width of the graphical user interface, displaying a current ambient temperature on a far left side of the graphical user interface and displaying a desired setpoint temperature on a right side of the graphical user interface.

4. The apparatus according to claim 2, characterized in that it further comprises additional processor-executable instructions that cause the processor to: determine an expected energy consumption rate of the HVAC system during the heating or cooling cycle; and shade an area of ​​the graphical user interface in a first color representative of the expected energy consumption rate.

5. The apparatus according to claim 1, characterized in that it further comprises additional processor-executable instructions that cause the processor to: record sets of temperature readings from the temperature probe during the respective heating or cooling sequences, each set further comprising an initial room ambient temperature and a desired setpoint temperature; store the sets in memory; and determine that a heating or cooling cycle will commence based on the first setpoint;wherein the processor-executable instructions that cause the processor to calculate the expected thermal response comprise the instructions that cause the processor to: identify a first set stored in memory that has the closest match between the initial ambient temperature and the desired setpoint temperature of the first set and the ambient temperature and the desired setpoint temperature of the first set; and generate the expected thermal response display r LCfrnn / eznz / e / YiAi based on the temperature readings stored in association with the first set.

6. The apparatus according to claim 4, characterized in that the processor-executable instructions causing the processor to calculate the expected energy consumption rate comprise instructions causing the processor to: determine an expected energy consumption rate of the HVAC system as the HVAC system heats and cools the room, each expected energy consumption rate being determined at least in part by the room temperature at the start of a heating or cooling cycle and / or a desired setpoint temperature; assign a color to each expected energy consumption rate; store the expected energy consumption rates in memory in association with their assigned color and a respective room start ambient temperature and a respective room setpoint desired temperature;Determine that a heating or cooling cycle will begin based on the first setpoint; identify a first expected rate of power consumption stored in memory that has the closest match between the ambient start temperatures r LCfrnn / pznz / e / YiAi associated with the expected rate of power consumption and the ambient temperature and between the desired setpoint temperatures of the estimated power loads and the desired setpoint temperature of the first setpoint; and shade the area below the expected thermal response display with the color assigned to the first expected rate of power consumption.

7. The apparatus according to claim 1, characterized in that it further comprises a network interface and further comprises additional processor-executable instructions that cause the processor to: initiate a cooling sequence with the HVAC equipment coupled with the apparatus based on a current temperature provided by the temperature sensor and one or more of the set points; and in response to the initiation of the cooling sequence, a shutter control signal is sent to the network interface, the shutter control signal causing the motorized shutters, coupled with the apparatus by means of the network interface, to close.

8. The apparatus according to claim 7, characterized in that the processor-executable instructions that cause the processor to send a blind control signal comprise the instructions that cause the processor to: send the blind control signal only when the processor determines that the apparatus is operating in an economy mode.

9. The apparatus according to claim 1, characterized in that it further comprises a network interface and further comprises additional processor-executable instructions that cause the processor to: determine that a cooling sequence or a heating sequence will occur; in response to the determination that a cooling sequence or a heating sequence will occur, a message is displayed on the graphical user interface asking the user to close any open doors or windows for faster and more efficient heating or cooling.

10. The apparatus according to claim 1, characterized in that it further comprises additional processor-executable instructions that cause the processor to: modify the expected thermal response depending on whether or not the apparatus is operating in an economy operating mode.

11. A method for summarizing and transmitting expected thermal responses to users characterized in that it comprises: storing a first setpoint in memory, the first setpoint comprising a start time and a desired setpoint temperature; determining an ambient room temperature based on one or more signals from a temperature sensor; calculating an expected thermal response based on at least the ambient temperature and the desired setpoint temperature; summarizing the expected thermal response in an expected thermal response visualization; and causing the expected thermal response visualization to be displayed on the graphical user interface.

12. The method according to claim 11, characterized in that the expected thermal response display comprises a waveform of the expected room temperatures versus time as an HVAC system begins a heating or cooling cycle based on the first setpoint.

13. The method according to claim 12, characterized in that the waveform is formatted to display the waveform using the full width of the graphical user interface, displaying a current ambient temperature on a far left side of the graphical user interface and displaying a desired setpoint temperature on a right side of the graphical user interface.

14. The method according to claim 12, characterized in that it further comprises: determining an expected energy consumption rate of the HVAC system during the heating or cooling cycle; and shading an area of ​​the graphical user interface in a first color representative of the expected energy consumption rate.

15. The method according to claim 11, characterized in that it further comprises: recording sets of temperature readings from the temperature probe during the respective heating or cooling sequences, each set further comprising an initial room ambient temperature and a desired setpoint temperature; storing the sets in memory; and determining that a heating or cooling cycle will commence based on the first setpoint; wherein the calculation of the expected thermal response comprises: identifying a first set stored in memory that has the closest match between the initial room ambient temperature and the desired setpoint temperature of the first set and the ambient temperature and the desired setpoint temperature of the first setpoint;and generate the expected thermal response visualization based on the temperature readings stored in association with the first set.

16. The method according to claim 14, characterized in that the calculation of the expected energy consumption rate comprises: determining an expected energy consumption rate of the HVAC system as the HVAC system heats and cools the room, each expected energy consumption rate being determined at least in part by the room temperature at the start of a heating or cooling cycle and a desired setpoint temperature; assigning a color to each expected energy consumption rate; storing the expected energy consumption rates in memory in association with their assigned color and a respective room start ambient temperature and a respective room setpoint desired temperature; determining that a heating or cooling cycle will begin based on the first setpoint;Identify a first expected power consumption rate stored in memory that has the closest match between the ambient starting temperatures > tu r\ c N. acc £ ex — cc associated with the expected power consumption rate and the ambient temperature and between the desired setpoint temperatures of the estimated power loads and the desired setpoint temperature of the first setpoint; and shade at least a portion of the area below the expected thermal response display with the color assigned to the first expected power consumption rate.

17. The method according to claim 11, characterized in that it further comprises: initiating a cooling sequence with the HVAC equipment coupled with the appliance based on a current temperature provided by the temperature sensor and one or more of the set points; and in response to the initiation of the cooling sequence, sending a shutter control signal to a motorized shutter, the shutter control signal causing the motorized shutter to close.

18. The method according to claim 17, characterized in that sending a shutter control signal comprises: sending the shutter control signal only when operating in an economy mode.

19. The method according to claim 11, characterized in that it further comprises: determining whether a cooling sequence or a heating sequence will occur; in response to the determination that a cooling sequence or a heating sequence will occur, causing a message to be displayed on a graphical user interface asking the user to close any open doors or windows for faster and more efficient heating or cooling.

20. The method according to claim 11, characterized in that it further comprises: modifying the expected thermal response depending on whether an economy operating mode is in effect or not.