The present invention relates in general to programmable thermostats for controlling air handling systems for heating, ventilation, and cooling. More particularly, the invention is directed to programmable thermostats that can establish a daily programming schedule based on real-time, user entered thermostat settings.
Many traditional homes and office building use electronic, programmable thermostats which allows users to select temperature set points throughout the day. Such programmable thermostats may offer the advantage of reduced energy consumption as unoccupied homes and building may be automatically set for reduced energy use. However, may programmable thermostats assume a limited number of schedule periods and specific settings to be adjusted ahead of time. Many consumers want the flexibility, automated convenience, and energy saving advantages of an autonomous on-device schedule learning.
Accordingly, a need exists to provide a programmable thermostat which can be programmed based on real-time user-entered thermostat settings.
In the first aspect, a method for programming a thermostat based on a history of real-time, user-entered thermostat settings is disclosed. The method comprises controlling a HVAC system, by a thermostat configured to execute a schedule for a current day of the week, the schedule comprising a series of recorded thermostat settings including heating set points, cooling set points, and other thermostat settings as well as corresponding start times for setting the thermostat to the recorded thermostat settings, and receiving a real-time, user-entered thermostat setting for the current day. The method further comprises recording the user-entered thermostat setting for the current day in a ledger for the current day, the ledger for the current day comprising the user-entered thermostat setting for the current day and a corresponding timestamp indicating the time the user-entered thermostat setting was entered into the thermostat, and in response to the user-entered thermostat setting during an initial learning period, modifying the schedule for the current day of the week during the initial learning period by imposing the user-entered thermostat setting and corresponding timestamp for the current day onto the schedule for the current day of the week, the schedule for the current day of the week based on the schedule for the immediately prior day of the week, wherein the schedule for the current day of the week during the initial learning period comprises a weekday schedule and a weekend schedule. The method further comprises in response to the user-entered thermostat setting during the continuing learning period, the continuing learning period occurs subsequent to the completion of the initial learning period, modifying the schedule for the current day of the week during the continuing learning period is based on predetermined rules and a plurality of ledgers of previous days.
Modifying the schedule for the current day of the week during the continuing learning period for the current day comprises (1) comparing the user-entered thermostat setting and corresponding timestamp to the ledger for the day seven days prior to the current day, (2) determining if the user-entered thermostat setting and corresponding timestamp is consistent with an entry in the ledger for the day seven days prior to the current day, and, (3) modifying the schedule for the current day of the week during the continuing learning period to impose the user-entered thermostat setting and corresponding timestamp onto the schedule for the current day.
Modifying the schedule for the current day of the week during the continuing learning period for the current day comprises (1) comparing the user-entered thermostat setting and corresponding timestamp to the ledger for the day one day prior to the current day, (2) determining if the user-entered thermostat setting and corresponding timestamp is consistent with an entry in the ledger for the day one day prior to the current day, and, (3) modifying the schedule for the current day of the week during the continuing learning period to impose the user-entered thermostat setting and corresponding timestamp onto the schedule for the current day and the schedule for the day one day prior to the current day of the week.
In a first preferred embodiment, controlling a thermostat configured to execute a schedule for a current day of the week further comprises providing temporary changes to the thermostat setpoints and start times to provide a period of preconditioning of the environment controlled by the thermostat. Controlling a thermostat configured to execute a schedule for a current day of the week further preferably comprises providing temporary changes to the thermostat setpoints and start times based on one or more of the following: historical seasonal temperature variations, current outdoor temperature, building thermal efficiency for heating and cooling, and equipment performance during different seasons. Controlling a HVAC system, by a thermostat further preferably comprises the thermostat configured to pause execution of the schedule when the thermostat is set to an away state. The thermostat is preferably configured to communicate with one or more sensors, wherein the readings from the one or more sensors are recorded in the ledger for the current day.
In a second aspect, a method for programming a thermostat based on a history of real-time, user-entered thermostat settings is disclosed. The method comprises controlling a HVAC system, by a thermostat configured to execute a schedule for a current day of the week, the schedule comprising a series of recorded thermostat settings and corresponding start times for setting the thermostat to the recorded thermostat settings, receiving a real-time, user-entered thermostat setting for the current day, and recording the user-entered thermostat setting for the current day in a ledger for the current day, the ledger for the current day comprising the user-entered thermostat setting for the current day and a corresponding timestamp indicating the time the user-entered thermostat setting was entered into the thermostat. The method further comprises in response to the user-entered thermostat setting during an initial learning period, modifying the schedule for the current day of the week during the initial learning period by imposing the user-entered thermostat setting and corresponding timestamp for the current day onto the schedule for the current day of the week, the schedule for the current day of the week based on the schedule for the immediately prior day of the week. The method further comprises in response to the user-entered thermostat setting during the continuing learning period, modifying the schedule for the current day of the week during the continuing learning period is based on predetermined rules and a plurality of ledgers of previous days.
In a second preferred embodiment, the continuing learning period occurs subsequent to the completion of the initial learning period. Controlling a HVAC system, by a thermostat further preferably comprises the thermostat configured to pause execution of the schedule when the thermostat is set to an away state. The thermostat is preferably configured to communicate with one or more sensors, wherein the readings from the one or more sensors are recorded in the ledger for the current day. The schedule for the current day of the week during the initial learning period preferably comprises a weekday schedule and a weekend schedule. The initial learning period comprises seven calendar days. Updating the weekend schedule on Sunday during the initial learning period preferably does not update the weekend schedule for Saturday. The schedule for the current day of the week preferably comprises a weekday schedule comprising schedules for the days of the week of Monday, Tuesday, Wednesday, Thursday, and Friday and a weekend schedule comprising schedules for the days of the week for Saturday and Sunday.
Modifying the schedule for the current day of the week during the continuing learning period for the current day comprises (1) comparing the user-entered thermostat setting and corresponding timestamp to the ledger for the day seven days prior to the current day, (2) determining if the user-entered thermostat setting and corresponding timestamp is consistent with an entry in the ledger for the day seven days prior to the current day, and, (3) modifying the schedule for the current day of the week during the continuing learning period to impose the user-entered thermostat setting and corresponding timestamp onto the schedule for the current day.
Modifying the schedule for the current day of the week during the continuing learning period for the current day comprises (1) comparing the user-entered thermostat setting and corresponding timestamp to the ledger for the day one day prior to the current day, (2) determining if the user-entered thermostat setting and corresponding timestamp is consistent with an entry in the ledger for the day one day prior to the current day, and, (3) modifying the schedule for the current day of the week during the continuing learning period to impose the user-entered thermostat setting and corresponding timestamp onto the schedule for the current day and the schedule for the day one day prior to the current day of the week.
In a third aspect, a programmable thermostat is disclosed. The programmable thermostat comprises a processing device, and a non-transitory computer-readable medium communicatively coupled to the processing device. The medium having stored therein processor-readable instructions which, when executed by the processing device, cause processing device to control a HVAC system, by the processing device configured to execute a schedule for a current day of the week, the schedule comprising a series of recorded thermostat settings and corresponding start times for setting the thermostat to the recorded thermostat settings, and receive a real-time, user-entered thermostat setting for the current day. The processor-readable instructions which, when executed by the processing device, further cause processing device to record the user-entered thermostat setting for the current day in a ledger for the current day, the ledger for the current day comprising the user-entered thermostat setting for the current day and a corresponding timestamp indicating the time the user-entered thermostat setting was entered into the thermostat.
The processor-readable instructions which, when executed by the processing device, further cause processing device to, in response to the user-entered thermostat setting during an initial learning period, modify the schedule for the current day of the week during the initial learning period by imposing the user-entered thermostat setting and corresponding timestamp for the current day onto the schedule for the current day of the week, the schedule for the current day of the week based on the schedule for the immediately prior day of the week. The processor-readable instructions which, when executed by the processing device, further cause processing device to in response to the user-entered thermostat setting during the continuing learning period, modify the schedule for the current day of the week during the continuing learning period is based on predetermined rules and a plurality of ledgers of previous days.
In a third preferred embodiment, the processor-readable instructions which, when executed by the processing device, cause processing device to control a HVAC system, further cause the processing device to provide temporary changes to the thermostat setpoints and start times to provide a period of preconditioning of the environment controlled by the thermostat. The processor-readable instructions which, when executed by the processing device, cause processing device to control a HVAC system, preferably further cause the processing device to provide temporary changes to the thermostat setpoints and start times based on one or more of the following: historical seasonal temperature variations, current outdoor temperature, building thermal efficiency for heating and cooling, and equipment performance during different seasons.
The processor-readable instructions which, when executed by the processing device, cause processing device to control a HVAC system, by the processing device preferably further cause the processing device to pause execution of the schedule when the thermostat is set to an away state. The readings from the one or more sensors are preferably recorded in the ledger for the current day.
These and other features and advantages of the invention will become more apparent with a description of preferred embodiments in reference to the associated drawings.
Many programmable thermostats allow users to manually enter a schedule for heating and cooling throughout a week. However, the schedules for users may vary over the course of a year, so a schedule that was previously entered may not provide the maximum energy savings.
In one or more embodiments, a programmable thermostat that automatically learns the users' schedule is contemplated. The programmable thermostat has a Learning Engine which monitors the users' real-time interaction with the thermostat over a course of a week during an initial learning period, and automatically generates a weekday and weekend schedule based on the users' actions. Once the thermostat has determined the users' schedule for the first week of use, the programmable thermostat will continue to monitor the users' actions during a continuing learning period and may alter the schedule as a result of change of usage. In one or more embodiments, the programmable thermostat is configured to make “predictive adjustments” to the thermostat set-points by considering the historical seasonal temperature variations, current outdoor temperature, and building thermal efficiency for heating and cooling.
As used herein and is commonly used in the art, the term “real-time” user entries refer user-entered thermostat settings that occur during and as part of the operation of the thermostat, where the user-entered thermostat settings take effect immediately upon entry. For example, if a user were to change the cooling set point of a thermostat to 78° F., the thermostat would immediately send control signals to the HVAC to reach the set point temperature of 78° F., and the thermostat would record the entry as a real-time user entry. This is in contrast with non-real-time user entries, in which the user-entries are to take effect on a later day or time from the time the user provides the entries.
The use of a HVAC (“Heating, Ventilation, and Air-Conditioning”) unit is described herein and is used for illustration purposes only. It shall be understood that HVAC system shall refer to equipment for controlling the temperature, humidity, and purity of air in an enclosed environment, and may refer to air-handling systems, heating systems, cooling systems, and air purification systems.
In an embodiment, multiple schedules S(D) 250-262 may be employed. For example, a first schedule 250 may be thermostats settings for use during weekdays (i.e., days of the week Monday through Friday) and the second schedule 252 may be for thermostat settings for a weekend (i.e., Saturday and Sunday). Where the user may have different thermostat preferences during a weekend, a separate schedule S(D) may be for Saturday 252, with another schedule 254 for Sunday. In an embodiment, multiple schedules S(D) are contemplated, including an embodiment in which a schedule S(D) is the schedule 250 for a Monday, schedule 252 for a Tuesday, schedule 254 for a Wednesday, schedule 256 for a Thursday, schedule 258 for a Friday, schedule 260 for a Saturday, and schedule 262 for a Sunday.
The thermostat schedule has 3 modes: off, on (manual), learning. Schedule and leaf icon, or appropriate text, displayed on the LCD indicates the learning schedule mode is activated. When schedule learning is activated, space preconditioning engine is also automatically turned on. The thermostat 101 will attempt to reach the set point temperature at the exact learned schedule time. If external sensors are connected, data from these sensors will aid the schedule learning. On non-touchscreen thermostats, button combination will turn on learning and will limit the mode button to cycling between available modes. Users can reset the learned schedule to factory defaults without resetting the thermostat datamap and start the schedule learning again. It will take a week to learn user's schedule.
In one or more embodiments, the Learning Engine follows two rules. First, the thermostats utilize mode and set point changes throughout the week to learn user's comfort settings. Geofencing has higher priority than the learned schedule and will pause schedule execution when thermostat is set to away state. Hence, the thermostat will record user preferences if the user is present.
Second, when schedule learning is activated, the space preconditioning engine is also automatically turned on. The thermostat will attempt to reach the set point temperature at the exact learned schedule time. Hence, the schedule is executed with space preconditioning.
As an example, during the initial learning period, the Learning Engine begins to learn the users' preferences on the first day, d=1, which is a Monday in this example. As used herein, lowercase “d” refers to the day which starts at d=1 (i.e., the first day) and continues indefinitely. Uppercase “D” refers to the day of the week having a range of 1-7, where D=1 refers to Monday, D=2 refers to Tuesday, and continues to D=7 for Sunday, for example. The Learning Engine will record the user preferences (step 312) and create a ledger 202 (see
The thermostat will continue to change the learned schedule 250 throughout the first five days while keeping a list of timestamps, mode and set points on file so it can constantly compare the user settings to what it learned before. In an embodiment, the schedule 250 will comprise a “weekday” schedule which will accumulate the real-time, user-entered thermostat settings over the course of the five weekdays, and will, at first iteration, provide a weekday schedule which is identical for all weekdays. As discussed below with respect to the continuing learning algorithm, real-time, user entered changes for individual weekdays may result in individual schedules for each day of the weekdays.
On the second day, d=2, which is a Tuesday in this example, the Learning Engine will execute the d=1 weekday schedule with space preconditioning (step 322) and record changes to user preferences if user is present (step 324), and then create a ledger for d=2 204 (
On the third day, d=3, which is a Wednesday, the Learning Engine will execute a schedule with space preconditioning (step 332) and record changes to user preferences if user is present (step 334), and then create a ledger for d=3 206 (
On the fourth day, d=4, which is a Thursday, the Learning Engine will execute a schedule with space preconditioning (step 342) and record changes to user preferences if user is present (step 344), and then create a ledger for d=4 208 (
On the fifth day, d=5, which is a Friday, the Learning Engine will execute a schedule 250 with space preconditioning (step 352) and record changes to user preferences if user is present (step 354), and then create a ledger for d=5 210 (
For most users, the weekend schedule will differ from the rest of the week. The first weekend day adjustments are assumed to initially apply to the second weekend day. The second weekend day adjustments will not apply to the first weekend day. On the sixth day, d=6, which is a Saturday, the Learning Engine will record the user preferences in a weekend schedule 252 (not from an executed weekday schedule) (step 362) and create a ledger for d=6 212 (
On the seventh day, d=7, which is a Sunday, the Learning Engine will execute a weekend schedule with space preconditioning (step 372) and record changes to user preferences if user is present (step 374), and then create a ledger for d=7 214 (
For example, for changes made on two consecutive days, say Tuesday and Wednesday for example, these changes are made during the same period and is learned for the whole weekdays. Likewise, the same changes to the thermostat settings that are made on Monday, and the next Monday, that day period will be learned. Also, same changes to the thermostat settings that are made on Saturday and Sunday during the same weekend, weekend day period is learned.
Predictive Adjustments is an additional smart algorithm that uses Machine Learning models trained across multiple embodiments of connected thermostats and predicts the user's comfort settings at the edge with inputs from historical seasonal temperature variations, current outdoor temperature from weather forecast or actual sensors, building thermal efficiency for heating and cooling, and equipment performance during different seasons. When Predictive Adjustments is active, thermostat will make temporary changes to the set points and the preconditioning start time without user intervention and augments the learned schedule.
The memory 710 comprises a non-transitory computer-readable medium 726 communicatively coupled to the processing device 704. The medium 726 has stored therein processor-readable instructions which, when executed by the processing device 704, cause processing device 704 to control a HVAC system 106. The non-transitory computer-readable medium 710 comprises algorithms for the Initial Learning Engine 720, algorithms for the Continuing Learning Engine 722, and algorithms for Predictive Adjustments 724.
The memory 710 also comprises a memory or database 730 which stores information of the ledgers L(d) 732 and schedule S(D) 734. As discussed above, the schedule 251 (
The processing device 704 is configured to receive a real-time, user-entered thermostat setting 708 for the current day. The processing device 704 is further configured to record the user-entered thermostat setting for the current day in a ledger 201 for the current day, the ledger for the current day comprising the user-entered thermostat setting for the current day and a corresponding timestamp indicating the time the user-entered thermostat setting was entered into the thermostat 101.
In response to the user-entered thermostat setting during an initial learning period, the processing device 704 is configured to modify the schedule 251 for the current day of the week during the initial learning period by imposing the user-entered thermostat setting and corresponding timestamp for the current day onto the schedule 251 for the current day of the week, the schedule 251 for the current day of the week based on the schedule for the immediately prior day of the week.
In response to the user-entered thermostat setting during the continuing learning period, the processing device 704 is further configured to modify the schedule 251 for the current day of the week during the continuing learning period is based on predetermined rules and a plurality of ledgers of previous days.
In an embodiment, the processing device 704 further performs predictive adjustments in which the processing device 705 provides temporary changes to the thermostat setpoints and start times to provide a period of preconditioning of the environment controlled by the thermostat. The processing device 704 may provide temporary changes to the thermostat setpoints and start times based on one or more of the following: historical seasonal temperature variations, current outdoor temperature, building thermal efficiency for heating and cooling, and equipment performance during different seasons. In an embodiment, the processing device 704 pauses execution of the schedule 251 when the thermostat 101 is set to an away state. In an embodiment, readings from the one or more sensors 102 and 104 (see
During the initial learning period, where the day is in the range from the first day to the seventh day (1≤d≤7), the schedule S(D) is modified to impose user-entered recorded setting and timestamp onto the schedule S(D) 251 (step 816).
During the continuing learning period, where the day is in the range greater than day seven (7<d), the schedule S(D) is modified based on predetermined rules and a plurality of ledgers of previous days (steps 818 and 820). In an embodiment, the processing device 704 (1) compares the user-entered thermostat setting and corresponding timestamp to Ledger L(d−7) for the day seven days prior to the current day d, (2) determines if the user-entered thermostat setting and corresponding timestamp is consistent with an entry in the Ledger L(d−7) the day seven days prior to the current day d, and (3) modifies Schedule S(D) for the current day of the week D to impose the user-entered thermostat setting and corresponding timestamp onto the Schedule S(D) for the current day (Step 822)
In an embodiment, the processing device 704 (1) compares the user-entered thermostat setting and corresponding timestamp to Ledger L(d−1) for the day one day prior to the current day d, (2) determines if the user-entered thermostat setting and corresponding timestamp is consistent with an entry in the Ledger L(d−1) the day one day prior to the current day d, and (3) modifies the Schedule S(D) for the current day of the week D to impose the user-entered thermostat setting and corresponding timestamp onto the Schedule S(D) for the current day (step 824).
In an embodiment, the processing device 704 will perform “predictive adjustments” where the processing device 704 provides temporary changes to the thermostat setpoints and start times to provide a period of preconditioning of the environment controlled by the thermostat (step 830). The temporary changes to the thermostat setpoints and start times may be based on one or more of the following: historical seasonal temperature variations, current outdoor temperature, building thermal efficiency for heating and cooling, and equipment performance during different seasons.
In an embodiment, the thermostat 101 is configured to pause execution of the schedule when the thermostat 101 is set to an away state. The thermostat 101 is configured to communicate with one or more sensors, where the readings from the one or more sensors are recorded in the ledger 201 for the current day.
In an embodiment, the schedule 251 for the current day of the week during the initial learning period comprises a weekday schedule and a weekend schedule. The initial learning period preferably comprises seven calendar days. In an embodiment, updating the weekend schedule on Sunday during the initial learning period does not update the weekend schedule for Saturday. The schedule 251 for the current day of the week comprises a weekday schedule comprising schedules for the days of the week of Monday, Tuesday, Wednesday, Thursday, and Friday and a weekend schedule comprising schedules for the days of the week for Saturday and Sunday.
Although the invention has been discussed with reference to specific embodiments, it is apparent and should be understood that the concept can be otherwise embodied to achieve the advantages discussed. The preferred embodiments above have been described primarily as a programmable thermostat having a Learning Engine. In this regard, the foregoing description is presented for purposes of illustration and description. Furthermore, the description is not intended to limit the invention to the form disclosed herein. Accordingly, variants and modifications consistent with the following teachings, skill, and knowledge of the relevant art, are within the scope of the present invention. The embodiments described herein are further intended to explain modes known for practicing the invention disclosed herewith and to enable others skilled in the art to utilize the invention in equivalent, or alternative embodiments and with various modifications considered necessary by the particular application(s) or use(s) of the present invention.
Unless specifically stated otherwise, it shall be understood that disclosure employing the terms “controlling,” “recording,” “modifying,” “coupling,” “receiving,” “communicating,” “computing,” “determining,” “calculating,” and others refer to a data processing system or other electronic device manipulating or transforming data within the device memories or controllers into other data within the system memories or registers. When applicable, the ordering of the various steps described herein may be changed, combined into composite steps, or separated into sub-steps to provide the features described herein.
Computer programs such as a program, software, software application, code, or script may be written in any computer programming language including conventional technologies, object-oriented technologies, interpreted or compiled languages, and can be a module, component, or function. Computer programs may be executed in one or more processors or computer systems.
The present application claims priority under 35 U.S.C. Section 119(e) to U.S. Provisional Patent Application Ser. No. 63/144,790 filed Feb. 2, 2021 entitled “SCHEDULE LEARNING FOR PROGRAMMABLE THERMOSTATS” the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63144790 | Feb 2021 | US |