Managing emissions demand response event generation

JP2025066690A5Active Publication Date: 2025-06-10GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024210557
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-06-17
Filing Date
2024-12-03
Publication Date
2025-06-10
Estimated Expiration
2042-06-03

AI Technical Summary

Technical Problem

Existing systems struggle to efficiently manage emissions demand response events in HVAC systems, leading to suboptimal reduction of carbon emissions and potential user discomfort.

Method used

A cloud-based HVAC control server system that receives emission rate forecasts, determines emission differential values, and generates emission demand response events with specific start and end times to adjust thermostat settings, thereby optimizing energy consumption and emission reduction.

Benefits of technology

The system effectively reduces carbon emissions by shifting energy consumption to times when cleaner energy sources are available, while minimizing user discomfort through careful scheduling and adjustment of HVAC system operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide techniques for performing emission demand response events.SOLUTION: In an example, a cloud-based HVAC control server system receives an emission rate forecast for a predefined future time period. Using the emission rate forecast, multiple emission differential values are created for multiple points in time during the predefined future time period. The emission differential values represent a change in predicted emissions over time. Based on the multiple emission differential values and a predefined maximum number of emission demand response events, an emission demand response event is generated during the predefined future time period. The cloud-based HVAC control server system then causes a thermostat to control an HVAC system in accordance with the generated emission demand response event.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to the following applications, each of which is incorporated by reference in its entirety: U.S. Non-provisional Application No. 17 / 350,787, filed June 17, 2021, and entitled "MANAGING EMISSIONS DEMAND RESPONSE EVENT GENERATION"; U.S. Non-provisional Application No. 17 / 350,793, filed June 17, 2021, and entitled "DYNAMIC ADAPTATION OF EMISSIONS DEMAND RESPONSE EVENTS"; U.S. Non-provisional Application No. 17 / 350,801, filed June 17, 2021, and entitled "MANAGING USER ACCOUNT PARTICIPATION IN EMISSIONS DEMAND RESPONSE EVENTS"; and U.S. Non-provisional Application No. 17 / 350,801, filed June 17, 2021, and entitled "MANAGING EMISSIONS DEMAND RESPONSE EVENT No. 17 / 350,808, entitled "INTENSITY." [Background technology]

[0002] background A thermostat can be used to control a heating system, a cooling system, a fan, a ventilation system, a dehumidifier, a humidifier, or any other related system. A user can benefit from using a smart thermostat that can communicate with a cloud-based server over a wireless network. Such wireless network connectivity can allow the thermostat to be controlled remotely by the user or by various services provided by the cloud-based server. Scheduling the electricity consumption of an HVAC system controlled by a thermostat to coincide with times of cleaner electricity availability can reduce carbon emissions. Summary of the Invention [Problem to be solved by the invention]

[0003] overview Various embodiments are described in connection with a method for performing an exhaust demand response event. In some embodiments, a method for performing an exhaust demand response event is described. The method may include receiving, by a cloud-based HVAC control server system, an exhaust rate forecast for a predetermined future time period. The method may include determining, by the cloud-based HVAC control server system, an exhaust differential value for each of a plurality of time points within the predetermined future time period using the exhaust rate forecast, thereby generating a plurality of exhaust differential values. The exhaust differential value may represent a change in the emissions over time. The method may include generating, by the cloud-based HVAC control server system, an exhaust demand response event having a start time and an end time within the predetermined future time period based on the determined plurality of exhaust differential values ​​and a predetermined maximum number of exhaust demand response events. The method may include causing, by the cloud-based HVAC control server system, a thermostat to control the HVAC system according to the generated exhaust demand response event.

[0004] Embodiments of such a method may include one or more of the following features: an emission differential value for each of the plurality of time points may be determined from a difference between a first emission rate before the time point and a second emission rate after the time point. may be a preemptive emission demand response event. For the preemptive emission demand response event, the cloud-based HVAC control server system may cause the thermostat to adjust a setpoint temperature to increase utilization of the HVAC system. When the HVAC system is in a cooling mode, causing the thermostat to adjust a setpoint temperature for the preemptive emission demand response event may include lowering the setpoint temperature. When the HVAC system is in a heating mode, causing the thermostat to adjust a setpoint temperature for the preemptive emission demand response event may include raising the setpoint temperature.

[0005] Method embodiments may also include one or more of the following features: The generated emission demand response event may be a deferred emission demand response event. For the deferred emission demand response event, the cloud-based HVAC control server system may cause a thermostat to adjust a setpoint temperature to reduce utilization of the HVAC system. When the HVAC system is in a cooling mode, causing the thermostat to adjust the setpoint temperature for the deferred emission demand response event may include increasing the setpoint temperature. When the HVAC system is in a heating mode, causing the thermostat to adjust the setpoint temperature for the deferred emission demand response event may include decreasing the setpoint temperature.

[0006] The method may further include determining, for each of the plurality of emission differential values, a preemptive event score equal to an emission differential value for a preemptive emission demand response event ending at a time associated with the emission differential value, thereby generating the plurality of preemptive event scores. The method may further include determining, for each of the plurality of emission differential values, a deferred event score equal to a negative emission differential value for a deferred emission demand response event ending at a time associated with the emission differential value, thereby generating the plurality of deferred event scores. Generating the emission demand response event may be based on a ranking of the plurality of preemptive event scores and the plurality of deferred event scores.

[0007] In some embodiments of the method, the predetermined maximum number of emission demand response events may be a maximum number of preemptive emission demand response events within a predetermined future time period. Generating the emission demand response events may further include limiting generation of the preemptive emission demand response events when a number of preemptive emission demand response events previously generated within the predetermined future time period may equal the maximum number of preemptive emission demand response events.

[0008] In some embodiments of the method, the predetermined maximum number of emission demand response events may be a maximum number of deferred emission demand response events within a predetermined future time period. Generating the emission demand response events may further include limiting generation of the deferred emission demand response events when a number of previously generated deferred emission demand response events within the predetermined future time period may equal the maximum number of deferred emission demand response events.

[0009] In some embodiments, generating an emission demand response event may further include determining that a previously generated preemptive emission demand response event has been generated. Generating an emission demand response event may further include limiting generation of additional preemptive emission demand response events to a minimum period after the previously generated preemptive emission demand response event.

[0010] The method may further include determining that the generated emission demand response event may be a deferred emission demand response event. The method may further include limiting generation of new deferred emission demand response events within a predetermined minimum period before and after the generated emission demand response event. Generating the emission demand response event may include limiting generation of emission demand response events having an end time later than a predetermined latest time of day, ... The method may further include limiting generation of emission demand response events having a start time earlier than an earlier time, or both.

[0011] In some embodiments, generating the exhaust demand response event may further include comparing an event score for the generated exhaust demand response event to a minimum exhaust demand response event score. Generating the exhaust demand response event may further include determining that the event score for the generated exhaust demand response event may be greater than the minimum exhaust demand response event score. Causing the thermostat to control the HVAC system according to the generated exhaust demand response event may be based at least in part on determining that the event score may be greater than the minimum exhaust demand response event score. The predetermined future period may be 24 hours.

[0012] In some embodiments, a system for performing an emission demand response event is described. The system may include a cloud-based power control server system. The cloud-based power control server system may include one or more processors. The cloud-based power control server system may include a memory communicatively coupled to the one or more processors and readable by the one or more processors and having processor-readable instructions stored thereon, which when executed by the one or more processors, cause the one or more processors to receive an emission rate forecast for a predetermined future time period. The one or more processors may use the emission rate forecast to determine an emission differential value for each of a plurality of time points within the predetermined future time period, thereby generating a plurality of emission differential values. The emission differential value may represent a change in emission over time. The one or more processors may generate an emission demand response event having a start time and an end time within the predetermined future time period based on the determined plurality of emission differential values ​​and a predetermined maximum number of emission demand response events. The one or more processors may cause a thermostat to control an HVAC system according to the generated emission demand response event.

[0013] An embodiment of such a system may further include a plurality of thermostats including the thermostat. The system may further include an application executing on a mobile device configured to control the thermostat via communication with the cloud-based power control server system. In some embodiments, an exhaust differential value for each of the plurality of time points is determined from a difference between a first exhaust rate before the time point and a second exhaust rate after the time point. The generated exhaust demand response event may be a preemptive exhaust demand response event. The processor-readable instructions, when executed, further cause the one or more processors to cause the thermostat to adjust a setpoint temperature that increases usage of the HVAC system.

[0014] In some embodiments, a non-transitory processor-readable medium is described. The medium may include processor-readable instructions configured to cause one or more processors to receive an emission rate forecast for a predetermined future time period. The one or more processors may use the emission rate forecast to determine an emission differential value for each of a plurality of time points within the predetermined future time period, thereby generating a plurality of emission differential values. The emission differential value may represent a change in emission over time. The one or more processors may generate an emission demand response event having a start time and an end time within the predetermined future time period based on the determined plurality of emission differential values ​​and a predetermined maximum number of emission demand response events. The one or more processors may cause a thermostat to control an HVAC according to the generated emission demand response event.

[0015] Embodiments of such media may include one or more of the following features: The predetermined maximum number of emission demand response events is a predetermined future time period. The processor readable instructions may be configured to limit generation of deferred emission demand response events when a number of previously generated deferred emission demand response events within a predetermined future time period may equal the maximum number of deferred emission demand response events. The processor readable instructions may be further configured to limit generation of emission demand response events having an end time later than a predetermined latest time of day, limit generation of emission demand response events having a start time earlier than a predetermined earliest time of day, or both.

[0016] Various embodiments are described with respect to a method for performing an emission demand response event. In some embodiments, a method for performing an emission demand response event is described. The method may include obtaining, by a cloud-based HVAC control server system, a plurality of emission rate forecasts. Each emission rate forecast of the plurality of emission rate forecasts may be received at a different time. The method may include generating, by the cloud-based HVAC control server system, an emission demand response event having a start time and an end time based on a first emission rate forecast of the plurality of emission rate forecasts. The method may include, after generating the emission demand response event, modifying, by the cloud-based HVAC control server system, the emission demand response event based on a subsequent emission rate forecast of the plurality of emission rate forecasts. The method may include causing, by the cloud-based HVAC control server system, a thermostat to control the HVAC system according to the modified emission demand response event.

[0017] An embodiment of such a method may include one or more of the following features: The first emission rate forecast may indicate an emission rate change at a first time. The second emission rate forecast obtained after the first emission rate forecast may indicate an emission rate change at a second time later than the first time. Modifying the emission demand response event may include delaying the emission demand response event based on a difference between the first time and the second time. Modifying the emission demand response event may further include the cloud-based HVAC control server system determining to obtain a second emission rate forecast of the plurality of emission rate forecasts after a start time of the emission demand response event. Modifying the emission demand response event may further include setting a start time of the emission demand response event to begin before the second emission rate forecast is received. Modifying the emission demand response event may further include limiting the modification of the start time of the emission demand response event to be a predetermined minimum time after an end time of the previously generated emission demand response event. Modifying the emission demand response event may further include limiting the modification of an end time of the emission demand response event to be no later than a predetermined latest time of day, limiting the modification of a start time of the emission demand response event to be no earlier than a predetermined earliest time of day, or both.

[0018] The method may further include receiving a second emission rate forecast after having the thermostat control the HVAC system according to the modified emission demand response event. The method may further include modifying an end time of the emission demand response event using the second emission rate forecast. The method may further include having the thermostat control the HVAC system according to the modified end time of the emission demand response event. In some embodiments, the emission demand response event is generated with a duration set to a maximum allowed event duration. The second emission rate forecast may include an emission rate change at the first time. Modifying the end time of the emission demand response event may further include the cloud-based HVAC control server system determining to obtain a third emission rate forecast of the plurality of emission rate forecasts after the first time. Modifying the end time of the emission demand response event may include setting the end time of the emission demand response event to be before the third emission rate forecast is received.

[0019] In some embodiments, the exhaust demand response event is set to a maximum allowable event duration. The second emission rate forecast may be generated for a predetermined duration, and the second emission rate forecast may include an emission rate change at the first time. Modifying an end time of the emission demand response event may further include determining that the cloud-based HVAC control server system obtains a third emission rate forecast of the plurality of emission rate forecasts within a predetermined minimum period of time prior to the first time. Modifying an end time of the emission demand response event may further include updating an end time of the emission demand response event to coincide with the first time before the third emission rate forecast of the plurality of emission rate forecasts is received.

[0020] In some embodiments, the first emission rate forecast may include an emission rate change at a first time and the second emission rate forecast may include an emission rate change at a second time earlier than the first time. Modifying an end time of the emission demand response event may further include determining that the cloud-based HVAC control server system obtains a third emission rate forecast of the plurality of emission rate forecasts after the second time. Modifying an end time of the emission demand response event may further include setting the end time of the emission demand response event to be before the third emission rate forecast is received.

[0021] The first emission rate forecast may include an emission rate change at a first time. The second emission rate forecast may include an emission rate change at a second time that is later than the first time. Modifying an end time of the emission demand response event may include delaying an end time of the emission demand response event based on a difference between the first time and the second time. Modifying an end time of the emission demand response event may be limited by a maximum allowable event duration.

[0022] In some embodiments, generating the exhaust demand response event may further include determining, by the cloud-based HVAC control server system, using the first emission rate forecast, an exhaust differential value for each of a plurality of time points within a future time period covered by the first emission rate forecast, thereby generating a plurality of exhaust differential values. The exhaust demand response event may be generated based on the determined plurality of exhaust differential values.

[0023] In some embodiments, a system for performing an emission demand response event is described. The system may include a cloud-based power control server system. The cloud-based power control server system may include one or more processors. The cloud-based power control server system may include a memory communicatively coupled to the one or more processors and readable by the one or more processors and having processor-readable instructions stored thereon, the processor-readable instructions, when executed by the one or more processors, cause the one or more processors to obtain a plurality of emission rate forecasts. Each emission rate forecast of the plurality of emission rate forecasts may be received at a different time. The system may include a memory communicatively coupled to the one or more processors and readable by the one or more processors and having processor-readable instructions stored thereon, the processor-readable instructions, when executed by the one or more processors, cause the one or more processors to generate an emission demand response event having a start time and an end time based on a first emission rate forecast of the plurality of emission rate forecasts. The system may include a memory communicatively coupled to and readable by the one or more processors and having processor-readable instructions stored thereon, the processor-readable instructions, when executed by the one or more processors, causing the one or more processors to modify an emission demand response event based on a subsequent emission rate forecast of the plurality of emission rate forecasts after the emission demand response event is generated. The system may include a memory communicatively coupled to and readable by the one or more processors and having processor-readable instructions stored thereon, the processor-readable instructions, when executed by the one or more processors, causing the one or more processors to generate a modified emission demand response event based on a subsequent emission rate forecast of the plurality of emission rate forecasts. Have the HVAC system control the vents accordingly.

[0024] An embodiment of such a system may further include a plurality of thermostats, including a thermostat. The system may further include an application executing on a mobile device configured to control the thermostat via communication with the cloud-based power control server system. The system may further include an interface configured to obtain a plurality of emission rate forecasts from an emission data system remotely accessible via a network. In some embodiments, a first emission rate forecast may indicate an emission rate change at a first time. A second emission rate forecast obtained after the first emission rate forecast may indicate an emission rate change at a second time that is later than the first time. The emission demand response event may be modified by delaying the emission demand response event based on a difference between the first time and the second time.

[0025] In some embodiments, a non-transitory processor-readable medium is described. The medium may include processor-readable instructions configured to cause one or more processors to obtain a plurality of emission rate forecasts. Each emission rate forecast of the plurality of emission rate forecasts may be received at a different time. The one or more processors may generate an emission demand response event having a start time and an end time based on a first emission rate forecast of the plurality of emission rate forecasts. The one or more processors may modify the emission demand response event based on a subsequent emission rate forecast of the plurality of emission rate forecasts after the emission demand response event is generated. The one or more processors may cause a thermostat to control an HVAC system according to the modified emission demand response event.

[0026] An embodiment of such a medium may include one or more of the following features: The processor-readable instructions are further configured to receive a second emission rate forecast after causing the thermostat to control the HVAC system according to the modified emission demand response event. The processor-readable instructions are further configured to modify an end time of the emission demand response event using the second emission rate forecast. The processor-readable instructions are further configured to cause the thermostat to control the HVAC system according to the modified end time of the emission demand response event. In some embodiments, the emission demand response event is generated with a duration set to a maximum allowed event duration. The second emission rate forecast may include an emission rate change at the first time. The processor-readable instructions may be further configured to modify an end time of the emission demand response event by determining that the system will obtain a third emission rate forecast after the first time and setting the end time of the event to be before the third emission rate forecast is received.

[0027] In some embodiments, a method for performing an emission demand response event is described. The method may include obtaining, by a cloud-based HVAC control server system, a first emission rate forecast. The method may include generating, by the cloud-based HVAC control server system, an emission demand response event having a start time and an end time based on the first emission rate forecast. The method may include transmitting, over a data network from the HVAC control server system to a thermostat located at a remote structure prior to the start time. The method may include storing, by the thermostat, the emission demand response event in a memory of the thermostat. The method may include controlling, at the start time, the HVAC system according to the generated emission demand response event by the thermostat. The method may include obtaining, by the cloud-based HVAC control server system, a second emission rate forecast following the start time and prior to the end time. The method may include generating, by the cloud-based HVAC control server system, a modified emission demand response event including a modified end time after obtaining the second emission rate forecast and prior to the end time. The method may include determining a time of the end time and a time of the modified end time. The method may include transmitting, by the cloud-based HVAC control server system, a modified exhaust demand response event to the thermostat at a time before the earlier one. The method may include, upon receiving the modified exhaust demand response event by the thermostat, storing the modified exhaust demand response event in a memory of the thermostat. The method may include controlling, by the thermostat, the HVAC system according to the modified EDR event until the modified end time is reached.

[0028] Various embodiments are described with respect to a method for performing an emission demand response event. In some embodiments, a method for performing an emission demand response event is described. The method may include obtaining, by a cloud-based HVAC control server system, a history of emission rates. The method may include identifying, by the cloud-based HVAC control server system, a future period of predicted high emissions based on the history of emission rates. The method may include determining, by the cloud-based HVAC control server system, an emission demand response event participation level for an account mapped to a thermostat in the future period of predicted high emissions from a plurality of emission demand response event participation levels. The method may include generating, by the cloud-based HVAC control server system, an emission demand response event in the future period of predicted high emissions based on the emission demand response event participation level of the account. The method may include causing, by the cloud-based HVAC control server system, a thermostat mapped to the account to control an HVAC system according to the generated emission demand response event.

[0029] An embodiment of such a method may include one or more of the following features: The plurality of emission demand response event participation levels may include a first participation level and a second participation level. The second participation level may result in a greater amount of emission savings than the first participation level. Determining an emission demand response event participation level for the account may include outputting a request for a selection between the first participation level and the second participation level. Determining an emission demand response event participation level for the account may further include receiving, in response to the request, a selection from the first participation level and the second participation level for the duration of the predicted future period of high emissions. Determining an emission demand response event participation level for the account may further include storing an indication of a selection of the first participation level or the second participation level for the duration of the predicted future period of high emissions.

[0030] In some embodiments, the predetermined maximum number of events per day is greater for the second participation level than for the first participation level. Generating the exhaust demand response event may further include determining that an exhaust demand response event participation level for the account may be set to the second participation level. Generating the exhaust demand response event may further include determining that a number of previously generated exhaust demand response events may be less than a predetermined maximum number of events per day. Causing a thermostat associated with the account to control an HVAC system according to the generated exhaust demand response event may be based, at least in part, on a determination that a number of previously generated exhaust demand response events may be less than a predetermined maximum number of events per day.

[0031] In some embodiments, the predetermined maximum event duration is longer for the second participation level than for the first participation level. Generating the emission demand response event may further include determining that an emission demand response event participation level for the account may be set to the second participation level. Generating the emission demand response event may further include increasing a duration of the generated emission demand response event in response to determining that an emission demand response event participation level for the account may be set to the second participation level.

[0032] In some embodiments, a thermostat mapped to an account can have an exhaust demand response Controlling the HVAC system according to the response event includes adjusting a setpoint temperature of a thermostat. Generating the emission demand response event may further include determining that an emission demand response event participation level of the account may be set to a second participation level. Generating the emission demand response event may further include increasing an adjustment to the setpoint temperature of the thermostat in response to determining that an emission demand response event participation level of the account may be set to the second participation level.

[0033] In some embodiments, causing a thermostat mapped to the account to control the HVAC system according to the emission demand response event includes adjusting a setpoint temperature of the thermostat. The method may further include receiving an adjustment to the setpoint temperature in the opposite direction after adjusting the setpoint temperature. The method may further include causing the thermostat to stop controlling the HVAC system according to the emission demand response event. Having a thermostat mapped to the account to control the HVAC system according to the emission demand response event may include adjusting a setpoint temperature of the thermostat. The method may further include receiving an adjustment to the setpoint temperature in the opposite direction after adjusting the setpoint temperature. The method may further include modifying an emission demand response event participation level of the account mapped to the thermostat based on the adjustment.

[0034] In some embodiments, modifying the emission demand response event participation level of the account mapped to the thermostat includes reducing a predetermined maximum number of events per day. Modifying the emission demand response event participation level of the account mapped to the thermostat may include reducing a predetermined maximum event duration. Modifying the emission demand response event participation level of the account mapped to the thermostat may include reducing a predetermined maximum set point adjustment. The predicted future period of high emissions may be a week. The method may further include obtaining a weather forecast for the predetermined future period. Identifying the predicted future period of high emissions may further be based on the weather forecast. Generating the emission demand response event may further include determining an energy price within the predicted future period of high emissions. The emission demand response event participation level of the account mapped to the thermostat may be based on the energy price.

[0035] In some embodiments, a system for executing an emission demand response event is described. The system may include a cloud-based power control server system. The cloud-based power control server system may include one or more processors. The cloud-based power control server system may include a memory communicatively coupled to the one or more processors and readable by the one or more processors and having processor-readable instructions stored thereon, the processor-readable instructions, when executed by the one or more processors, cause the one or more processors to obtain a history of emission rates. The one or more processors may identify a future period of predicted high emissions based on the history of emission rates. The one or more processors may determine an emission demand response event participation level for an account mapped to a thermostat in the future period of predicted high emissions from the plurality of emission demand response event participation levels. The one or more processors may generate an emission demand response event in the future period of predicted high emissions based on the emission demand response event participation level of the account. The one or more processors may cause a thermostat mapped to the account to control an HVAC system according to the generated emission demand response event.

[0036] An embodiment of such a system may further include a plurality of thermostats including the thermostat. The system may further include an application executing on a mobile device configured to control the thermostat via communication with the cloud-based power control server system. In some embodiments, a plurality of emission demand response event participation levels may be configured to participate in the event. The participation level includes a first participation level and a second participation level. The second participation level may result in a greater amount of emission savings than the first participation level. The predetermined maximum event duration may be longer for the second participation level than the first participation level. The processor readable instructions, when executed, further cause the one or more processors to generate an emission demand response event by determining that an emission demand response event participation level for the account may be set to the second participation level. The processor readable instructions, when executed, further cause the one or more processors to generate an emission demand response event by increasing a duration of the generated emission demand response event in response to determining that an emission demand response event participation level for the account may be set to the second participation level.

[0037] In some embodiments, a non-transitory processor-readable medium is described. The medium may include processor-readable instructions configured to cause one or more processors to obtain a history of emission rates. The medium may include processor-readable instructions configured to cause one or more processors to identify a future period of predicted high emissions based on the history of emission rates. The medium may include processor-readable instructions configured to determine an emission demand response event participation level for an account mapped to a thermostat in the future period of predicted high emissions from a plurality of emission demand response event participation levels. The medium may include processor-readable instructions configured to generate an emission demand response event in the future period of predicted high emissions based on the emission demand response event participation level of the account. The medium may include processor-readable instructions configured to cause a thermostat mapped to the account to control an HVAC system according to the generated emission demand response event.

[0038] Embodiments of such media may include one or more of the following features: causing a thermostat mapped to an account to control an HVAC system according to an emission demand response event may include adjusting a setpoint temperature of the thermostat. The processor readable instructions may be further configured to receive an adjustment to the setpoint temperature in an opposite direction after adjusting the setpoint temperature. The processor readable instructions may be further configured to modify an emission demand response event participation level of the account mapped to the thermostat based on the adjustment. Modifying an emission demand response event participation level of the account mapped to the thermostat may include reducing a predetermined maximum number of events per day.

[0039] Various embodiments are described with respect to a method for performing an emission demand response event. In some embodiments, a method for performing an emission demand response event is described. The method may include obtaining, by a cloud-based HVAC control server system, an emission rate forecast for a predetermined future time period. The method may include identifying, by the cloud-based HVAC control server system, a future emission rate event within the predetermined future time period using the emission rate forecast. The future emission rate event may include an indication of a predicted magnitude. The future emission rate event may include a period during which the predicted emission rate is at an increased emission level or a decreased emission level. The method may include determining, by the cloud-based HVAC control server system, a confidence value for the future emission rate event. The confidence value may indicate a certainty of the future emission rate event occurring as predicted. The method may include generating, by the cloud-based HVAC control server system, an emission demand response event having a start time and an end time during the future emission rate event based on the identified future emission rate event and the confidence value. The method may include causing, by the cloud-based HVAC control server system, a thermostat to control the HVAC system according to the generated emission demand response event.

[0040] Embodiments of such methods may include one or more of the following features. The indication of the predicted magnitude of the emission rate event may include a duration and an emission differential value. Generating the emission demand response event may further include comparing the indication of the predicted magnitude of the future emission rate event to a threshold magnitude. Generating the emission demand response event may further include determining that the indication of the predicted magnitude of the future emission rate event may be greater than the threshold magnitude. Generating the emission demand response event may further include increasing a magnitude of the emission demand response event in response to determining that the indication of the predicted magnitude of the future emission rate event may be greater than the threshold magnitude. Increasing the magnitude of the emission demand response event may include increasing a duration of the emission demand response event. Increasing the magnitude of the emission demand response event may include increasing a setpoint temperature offset of the emission demand response event.

[0041] In some embodiments, determining the confidence value for the future emission rate event includes applying a time decay factor to the confidence value based on a time interval between a first time when the emission rate forecast may be received and a second time when the future emission rate event may be predicted to occur, The greater the difference between the first time and the second time, the more the confidence value may be reduced based on the time decay factor.

[0042] In some embodiments, generating the emission demand response event may further include comparing a confidence value for the future emission rate event to a minimum confidence value. Generating the emission demand response event may further include determining that the confidence value for the future emission rate event may be greater than the minimum confidence value. Generating the emission demand response event may further include increasing a magnitude of the emission demand response event based on a determination that the confidence value for the future emission rate event may be greater than the minimum confidence value. Generating the emission demand response event may further include determining an event score for the generated emission demand response event based on the emission differential value. Generating the emission demand response event may further include comparing a confidence value for the future emission rate event to a minimum confidence value. Generating the emission demand response event may further include determining that the confidence value for the future emission rate event may be greater than the minimum confidence value. Generating the emission demand response event may further include increasing an event score for the generated emission demand response event based on a determination that the confidence value for the future emission rate event may be greater than the minimum confidence value.

[0043] In some embodiments, causing the thermostat to control the HVAC system includes adjusting a first hysteresis temperature setpoint of the thermostat and a second hysteresis temperature setpoint of the thermostat. The first hysteresis temperature setpoint may cause the HVAC system to turn on and the second hysteresis temperature setpoint may cause the HVAC system to turn off. Having the thermostat control the HVAC system may include adjusting the setpoint temperature of the thermostat by a first amount for a first period of time that is less than the duration of the exhaust demand response event. Having the thermostat control the HVAC system may include adjusting the setpoint temperature of the thermostat by a second amount after the first period of time that is less than the first amount for the remainder of the exhaust demand response event.

[0044] In some embodiments, generating the exhaust demand response event includes determining, by the cloud-based HVAC control server system, an emission rate variability value for a predetermined future time period using the emission rate forecast. Generating the exhaust demand response event may include comparing the emission rate variability value to a variability threshold. Generating the exhaust demand response event may include determining that the emission rate variability value is greater than the variability threshold. Generating the exhaust demand response event may include determining a predetermined maximum number of exhaust demand response events per day in response to determining that the emission rate variability value is greater than the variability threshold. Generating the emission demand response event may include increasing a predetermined maximum emission demand response event duration in response to determining that the emission rate variability value may be greater than a variability threshold. Generating the emission demand response event may include limiting generation of the emission demand response event based on a predetermined maximum number of emission demand response events per day and a predetermined maximum emission demand response event duration.

[0045] In some embodiments, a system for performing an emission demand response event is described. The system may include a cloud-based power control server system. The cloud-based power control server system may include one or more processors. The cloud-based power control server system may include a memory communicatively coupled to the one or more processors and readable by the one or more processors and having processor-readable instructions stored thereon, which when executed by the one or more processors cause the one or more processors to obtain an emission rate forecast for a predetermined future time period. The one or more processors may use the emission rate forecast to identify a future emission rate event within the predetermined future time period. The future emission rate event may include an indication of a predicted magnitude. The future emission rate event may include a time period when the predicted emission rate is at an increased emission level or a decreased emission level. The one or more processors may determine a confidence value for the future emission rate event. The confidence value may indicate a certainty of the future emission rate event occurring as predicted. The one or more processors may generate an emission demand response event having a start time and an end time during the future emission rate event based on the identified future emission rate event and the confidence value. The one or more processors may cause the thermostat to control the HVAC system according to the generated exhaust demand response event.

[0046] An embodiment of such a system may further include a plurality of thermostats, including the thermostat. The system may further include an application executing on the mobile device configured to control the thermostat via communication with the cloud-based power control server system. The system may further include an interface configured to obtain a plurality of emission rate forecasts from an emission data system remotely accessible via a network. In some embodiments, the indication of a predicted magnitude of the future emission rate event includes a duration and an emission differential value. Furthermore, the processor-readable instructions for generating an emission demand response event, when executed, may cause the one or more processors to compare the indication of the predicted magnitude of the future emission rate event to a threshold magnitude. The one or more processors may determine that the indication of the predicted magnitude of the future emission rate event may be greater than the threshold magnitude. The one or more processors may increase the magnitude of the emission demand response event in response to determining that the indication of the predicted magnitude of the future emission rate event may be greater than the threshold magnitude.

[0047] In some embodiments, increasing the magnitude of the emission demand response event includes increasing a duration of the emission demand response event. Increasing the magnitude of the emission demand response event may include increasing a set point temperature offset of the emission demand response event. Further, the processor readable instructions for determining a confidence value for a future emission rate event, when executed, may cause the one or more processors to apply a time decay factor to the confidence value based on a time interval between a first time that the emission rate forecast is received and a second time that the future emission rate event is predicted to occur. The greater the difference between the first and second times, the more the confidence value may be reduced based on the time decay factor.

[0048] In some embodiments, a non-transitory processor-readable medium is described. The medium may include processor-readable instructions configured to cause one or more processors to obtain an emission rate forecast for a predetermined future time period. The one or more processors may generate an emission rate forecast. The prediction may be used to identify a future emission rate event within a predetermined future time period. The future emission rate event may include an indication of a predicted magnitude. The future emission rate event may include a period during which the predicted emission rate will be at an increased emission level or a decreased emission level. The one or more processors may determine a confidence value for the future emission rate event. The confidence value may indicate a certainty of the future emission rate event occurring as predicted. The one or more processors may generate an emission demand response event having a start time and an end time during the future emission rate event based on the identified future emission rate event and the confidence value. The one or more processors may cause a thermostat to control the HVAC system according to the generated emission demand response event.

[0049] Embodiments of such a system may include one or more of the following features: The processor-readable instructions for generating an emission demand response event may be further configured to cause the one or more processors to compare a confidence value for the future emission rate event to a minimum confidence value. The one or more processors may determine that the confidence value for the future emission rate event may be greater than the minimum confidence value. The one or more processors may increase a magnitude of the emission demand response event based on a determination that the confidence value for the future emission rate event may be greater than the minimum confidence value.

[0050] In some embodiments, the processor readable instructions for generating an emission demand response event are further configured to cause the one or more processors to determine an event score for the generated emission demand response event based on the emission differential value. The one or more processors may compare a confidence value for the future emission rate event to a minimum confidence value. The one or more processors may determine that the confidence value for the future emission rate event may be greater than the minimum confidence value. The one or more processors may increase the event score for the generated emission demand response event based on a determination that the confidence value for the future emission rate event may be greater than the minimum confidence value.

[0051] In some embodiments, the processor-readable instructions for causing the thermostat to control the HVAC system are further configured to cause the one or more processors to adjust a first hysteresis temperature setpoint of the thermostat and a second hysteresis temperature setpoint of the thermostat. The first hysteresis temperature setpoint may cause the HVAC system to turn on and the second hysteresis temperature setpoint may cause the HVAC system to turn off. The processor-readable instructions for causing the thermostat to control the HVAC system are further configured to cause the one or more processors to adjust the setpoint temperature of the thermostat by a first amount for a first period of time that is less than a duration of the exhaust demand response event. The one or more processors may adjust the setpoint temperature of the thermostat after the first period of time by a second amount that is less than the first amount for the remainder of the exhaust demand response event.

[0052] A further understanding of the nature and advantages of the various embodiments may be realized by reference to the following drawings. In the attached drawings, similar components or features may have the same reference numerals. Furthermore, various components of the same type may be distinguished by the reference numeral followed by a dash and a second numeral that distinguishes the similar components. When only a first reference numeral is used in the specification, the description is applicable to any one of the similar components having the same first reference numeral regardless of the second reference numeral. [Brief description of the drawings]

[0053] [Figure 1] FIG. 1 illustrates an embodiment of a system for managing an emission demand response event. [Diagram 2] FIG. 1 illustrates an embodiment of a system for managing an emission demand response event. [Diagram 3] FIG. 1 illustrates an embodiment of a smart thermostat system for managing emission demand response events. [Figure 4] FIG. 1 illustrates a graph of predicted emissions data and thermostat setpoint temperature over time. [Diagram 5] 1 is a graph showing a positive exhaust differential value. [Figure 6] 13 is a graph showing a negative exhaust differential value. [Figure 7] 1 is a graph showing multiple exhaust differential values. [Figure 8] 13 is another graph of predicted emissions data versus emission differential values. [Figure 9] 13 is another graph of projected emissions data with potential emissions demand response events. [Figure 10] 13 is another graph of projected emissions data versus time constraints. [Figure 11] 13 is another graph of forecasted emissions data with previously generated emissions demand response events. [Figure 12] 1 is a graph of exhaust demand response events of various magnitudes and lengths. [Figure 13] FIG. 1 illustrates an embodiment of a method for managing an emission demand response event. [Figure 14] FIG. 1 illustrates an embodiment of a method for managing emission demand response events based on ranking of event scores. [Figure 15] FIG. 1 illustrates an embodiment of a method for managing emission demand response events based on a limited number of allowed events. [Figure 16A] 1 is a graph of updated emission forecasts with emission demand response events dispatched based on the updated emission forecasts. [Figure 16B] 1 is a graph of updated emission forecasts with emission demand response events dispatched based on the updated emission forecasts. [Figure 17A] 13 is a graph of updated emission forecasts with emission demand response events dispatched early based on changes in the updated emission forecasts. [Figure 17B] 13 is a graph of updated emission forecasts with emission demand response events dispatched early based on changes in the updated emission forecasts. [Figure 18A] 13 is a graph of updated emissions forecasts with delayed emissions demand response events based on updated emissions changes. [Figure 18B] 13 is a graph of updated emissions forecasts with delayed emissions demand response events based on updated emissions changes. [Figure 19A] 1 is a graph of an updated emissions forecast with a constraint on dispatching an emission demand response event early based on a previously dispatched emission demand response event. [Figure 19B] 1 is a graph of an updated emissions forecast with a constraint on dispatching an emission demand response event early based on a previously dispatched emission demand response event. [Figure 20A] 13 is a graph of updated emissions forecasts with constraints on delaying emissions demand response events based on a constrained time of day. [Figure 20B]13 is a graph of updated emissions forecasts with constraints on delaying emissions demand response events based on a constrained time of day. [Figure 21A] 13 is a graph of updated emissions forecasts with extended end times of dispatched emissions demand response events based on changes in the updated emissions forecasts. [Figure 21B] 13 is a graph of updated emissions forecasts with extended end times of dispatched emissions demand response events based on changes in the updated emissions forecasts. [Figure 22A] 1 is a graph of updated emission forecasts with an emission demand response event terminating early based on changes in the updated emission forecasts. [Figure 22B] 1 is a graph of updated emission forecasts with an emission demand response event terminating early based on changes in the updated emission forecasts. [Figure 23] FIG. 1 illustrates an embodiment of a method for managing emission demand response events based on updated emission forecasts. [Figure 24] FIG. 1 illustrates an embodiment of a method for dispatching last minute emission demand response events based on updated emission forecasts. [Diagram 25] FIG. 1 illustrates an embodiment of a method for modifying an emission demand response event based on updated emission forecasts. [Figure 26] 1 is a graph of weather forecasts against historical emission rates for the same time of year. [Figure 27A] 13 is a graph of revised event participation levels based on a canceled emissions demand response event. [Figure 27B] 13 is a graph of revised event participation levels based on a canceled emissions demand response event. [Figure 28A] 13 is a graph of revised event participation levels based on set point adjustments during an emission demand response event. [Figure 28B] 13 is a graph of revised event participation levels based on set point adjustments during an emission demand response event. [Figure 29]FIG. 1 illustrates an embodiment of a method for generating emission demand response events based on a user account participation level. [Diagram 30] FIG. 1 illustrates an embodiment of a method for modifying a user account participation level based on a setpoint adjustment. [Diagram 31] 1 is a graph of emission demand response events based on future emission rate event magnitude. [Diagram 32] 13 is another graph of predicted emissions data with decreasing confidence values. [Diagram 33] 13 is a graph of emission demand response events generated based on confidence values. [Diagram 34] 13 is a graph of multiple emission demand response event end times based on confidence values. [Diagram 35] 13 is a graph of an exhaust demand response event with step adjustments to a setpoint temperature. [Figure 36A] 1 is a graph of emissions demand response events generated based on expected variability. [Figure 36B] 1 is a graph of emissions demand response events generated based on expected variability. [Figure 37] FIG. 1 illustrates an embodiment of a method for forming an emission demand response event based on a forecasted emission rate confidence value. [Figure 38] 1 illustrates an embodiment of a user interface showing carbon emission savings generated by a user account. [Figure 39] 1 illustrates an embodiment of a user interface showing collective carbon emission savings generated by a community. [Diagram 40] FIG. 1 illustrates an embodiment of a user interface showing account settings for managing participation in an emission demand response event. [Figure 41A] FIG. 1 illustrates an embodiment of a smart thermostat user interface. [Figure 41B] FIG. 1 illustrates an embodiment of a smart thermostat user interface. [Figure 41C]FIG. 1 illustrates an embodiment of a smart thermostat user interface. [Figure 41D] FIG. 1 illustrates an embodiment of a smart thermostat user interface. [Diagram 42] FIG. 1 illustrates an embodiment of a personal device interface for managing EDR events. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0054] Detailed Description Electric utilities face the ongoing challenge of consistently meeting the demand for electricity while reducing the overall production of carbon emissions. Changing consumer demand for electricity, combined with the increasing availability of cleaner electricity, has created new opportunities for renewable energy that can both meet consumer demand and generate lower levels of carbon emissions. It can often be difficult to maintain the dose consistently.

[0055] Changes in consumer demand and cleaner electricity supply can result from many factors. Consumer demand can be driven by factors such as weather, consumers at home or away, time of day, day of week, time of year, etc. For example, power companies can experience increased demand during extreme heat or cold waves or in the evenings when residents return home and increase electricity consumption. Similarly, the supply of cleaner electricity can depend on factors such as weather, time of year, and / or season. For example, the availability of solar power can decrease during storms or during winter when the days are shorter. Similarly, there can be seasonal or daily changes in wind patterns that correlate with decreases or increases in electricity generated by wind turbines.

[0056] When cleaner electricity supplies cannot meet demand, power companies may need to rely on power sources that tend to produce more pollution, including carbon dioxide. For example, when demand is relatively low, a larger portion of the demand may be met using clean and relatively clean power sources, such as wind, solar, and hydro. However, when demand increases and / or the cleaner power sources are lower, other, more polluting power sources, such as diesel generators, coal-fired power plants, and natural gas turbines, may need to be utilized.

[0057] Emission demand response ("EDR") events may be utilized to reduce the consumption of electricity when more polluting sources of power, which may also be referred to as "dirtier electricity," are being used, thereby reducing pollution. The objective of an EDR event is to reduce the total use of dirty energy and increase the total use of clean energy. An EDR event may achieve this objective by shifting electricity consumption to earlier or later times to coincide with times when electricity is generated using cleaner energy sources and away from times when electricity is generated using dirtier energy sources. For example, an EDR event may attempt to shift an electrical load from times when electricity is generated using oil to times when electricity is generated using wind or solar energy. As another example, in the case of a grid with natural gas and coal power plants and minimal carbon-free energy, an EDR event may shift an electrical load from times when coal is used to generate electricity toward times when natural gas is used to generate electricity.

[0058] At any particular time, adjustments to electricity consumption correspond to adjustments in the generation of electricity by one or more power plants to balance the electricity supply with the demand. Each of the one or more power plants that generate electricity has its own emission characteristic, which can be measured as the amount of carbon emissions generated per unit of electricity generated. As the demand for electricity increases, the generation of electricity, and therefore the emissions, can also increase depending on the power source. Similarly, as the demand for electricity decreases, the generation of electricity, and therefore the emissions, can also decrease depending on the power source. The amount of emissions generated in the generation of additional electricity is based on the emission characteristic associated with the power source, and the amount of emissions eliminated by the generation of less electricity. The total amount of emissions generated or reduced when the electrical load changes can be represented by a value called the marginal emission rate ("MER"), which is usually measured by the weight of carbon dioxide per unit of energy consumed or generated, e.g., lbs-CO2 / MWh.

[0059] MER forecasts may be generated to predict the MER at various times in the future. Using current and forecasted MER data, EDR events may be generated to shift electrical loads from times when electrical consumption produces higher levels of carbon emissions to times when carbon emissions are significantly lower. In some embodiments, goals include reducing the number of powered cooling (e.g., air conditioning), operating fans, and powered heating systems. The goal of this study is to reduce carbon emissions by shifting electrical loads, including but not limited to HVAC loads such as refrigeration, power grids, and power grids. The sum of many small shifts across many structures (e.g., homes, buildings, apartments, offices) can result in large changes in emissions resulting from electricity use.

[0060] One way to shift the electrical load can be by making adjustments to the user thermostat temperature setpoint. Using the current and predicted emission rate data, the system can determine when and how long an adjustment to the user setpoint will achieve a reduction in emissions. Similarly, since the system knows if the emission rate will increase or decrease, the system can determine whether to increase or decrease the thermostat setpoint temperature. The predicted emission data allows the system to generate scheduled events at various points during the span of time covered by the prediction. However, due to the uncertain nature of the predicted data, updated forecast and current emission data can be used to periodically or from time to time revise previously generated events, thereby achieving improved carbon emission reduction.

[0061] In the past, achieving a reduction in carbon emissions, especially by individuals, could be difficult due to the perceived amount of effort required to reduce one's carbon footprint. People who might otherwise be reluctant to take proactive steps to reduce their carbon footprint can reduce carbon emissions with very little effort by allowing automatic adjustments to thermostat settings. However, the perceived amount of discomfort associated with reducing carbon emissions creates an additional barrier to overcome. This is especially true with respect to heating or cooling, because some people can be sensitive to even slight changes in ambient temperature. Similarly, some people can be sensitive to the number of times their thermostat settings are automatically adjusted each day.

[0062] The features described herein advantageously address this sensitivity in a number of ways. For example, people may have the ability to opt in and / or out of various levels of emission reduction programs at any time. Furthermore, even when opting in to a program, people may have the ability to make real-time adjustments to the setpoint temperature at any time during the execution of an emission reduction event, as described further below. One objective achieved by some of the embodiments is the careful creation of a balance between aggressive thermostat control, which offers good potential reduction in carbon emissions but may result in more irritation or discomfort and associated real-time setpoint overrides, and less aggressive control, which generally offers more comfort and less irritation and less potential for real-time setpoint overrides, but does not offer sufficient potential for reduction in carbon emissions.

[0063] One way to balance discomfort with reduced carbon emissions can be by placing constraints on the generation, execution, and termination of EDR events. For example, the number of load shift events per day may be limited or the number of EDR events of a particular type may be limited. Similarly, constraining events to predetermined times during the day, spacing events throughout the day, and / or limiting the aggressiveness of temperature offsets from the normally scheduled temperature setpoints may reduce the perceived level of discomfort to the user. In more advanced systems, characteristics specific to the user account associated with the thermostat may be used to determine the characteristics of the EDR event. For example, the system may determine that occupants in a home or building with a thermostat associated with a first account prefer to tolerate more frequent events resulting in small changes to the setpoint temperature, whereas occupants in a home or building associated with a second account prefer to tolerate more frequent events resulting in larger changes to the setpoint temperature. A user may learn over time that it prefers to tolerate events that result in larger, but less frequent, adjustments. Thus, by adjusting the constraints on a per-user account basis or by a thermostat associated with a user account, an increased amount of carbon emission reduction may be achieved while limiting the amount of user discomfort. Further details regarding these and other embodiments are provided in conjunction with the drawings.

[0064] While the above description has focused on the use of smart thermostats, the embodiments detailed herein can be applied to other smart controllable systems that use significant amounts of electricity whose usage can be time-shifted. For example, the consumption of electricity by various appliances, such as electric vehicle ("EV") charging stations and smart refrigerators, can be shifted from times when energy consumption produces high levels of carbon emissions to times when carbon emissions are lower. As another example, electrical loads from other older or "unplugged" devices can also be shifted using various devices designed to control the amount of electricity flowing to a particular device, such as a smart outlet or smart lighting socket.

[0065] Further details regarding the generation and management of EDR events are provided in connection with the drawings. FIG. 1 illustrates an embodiment of a system 100 for managing EDR events. The system 100 can include a cloud-based power control server system 110, an emission data system 120, a network 130, a mobile device 140, a personal computer 150, a smart thermostat 160, an electric vehicle ("EV") charging station 170, and a smart appliance 180. The smart thermostat 160 can be connected to a heating, ventilation, and air conditioning ("HVAC") system 165. The EV charging station 170 can be connected to an electric vehicle 175. In some embodiments, one or more of the components of the system 100 can be communicatively connected to other components of the system 100 via the network 130.

[0066] The cloud-based power control server system 110 may include one or more processors configured to perform various functions, such as generating and managing EDR events, as further described below with respect to FIG. 2. The cloud-based power control server system 110 may include one or more physical servers performing one or more processes. The cloud-based power control server system 110 may also include one or more processes distributed across the cloud-based server system. In some embodiments, the cloud-based power control server system 110 is connected to any or all of the other components of the system 100 over a network 130. For example, the cloud-based power control server system 110 may be connected to an emission data system 120 to receive current and forecasted emission data. In some embodiments, the current and forecasted emission data is expressed as a percentage value that represents the relative emissions at a time point compared to emissions recorded over a period of time in the past. For example, a value of zero at a particular time point means that the emission rate is equal to the minimum emission rate over the past two weeks, while a value of 100 means that the emission rate is equal to the maximum emission rate over the past two weeks. In some embodiments, the current and forecasted emission data are expressed as MER (e.g., lbs-CO2 / MHh). Forecasted emission data may include forecasted emission rates at regular intervals over a predetermined period into the future. For example, an emission rate forecast may include projected emission rates at 5-minute intervals over a 24-hour period. Forecasted emission rate or MER data may vary in accuracy depending on the source and / or how the emission rates are determined. For example, forecasted emission rates may be generated using a model that accepts multiple inputs with varying degrees of correlation to actual emission rates, such as weather data, publicly available grid demand and / or price data, historical emission rate data, etc. Alternatively, other forecasted emission rates may be obtained from the utility and / or grid operator. The assessment may be based directly on the data collected.

[0067] The data received from the emission data system 120 itself can be used by the cloud-based power control server system 110 to generate and manage EDR events. The cloud-based power control server system 110 may be connected to the mobile device 140 and the personal computer 150 to send notifications about updates or subsequent EDR events. For example, after generating an EDR event, the cloud-based power control server system 110 may send a notification to the user of the mobile device 140 about an EDR event scheduled for a smart thermostat 160 owned by the user of the mobile device 140. The cloud-based power control server system 110 may also distribute instructions or details of the newly generated EDR event to the smart thermostat 160, the EV charging station 170, and / or the smart appliances 180.

[0068] The emission data system 120 can be a server system, such as a cloud-based server system, connected via the network 130 and can be capable of performing one or more processes related to collecting and generating emission rate data. Alternatively, the emission data system 120 can be a commercially available service, such as WattTime™ or any other similar website or web service that has a published application programming interface ("API") that provides such emission rate data and / or its equivalent and / or its substitute, such as a website or web service that provides future estimates of "dirty" per kilowatt-hour, or more generally, future estimates of "undesirable" or "less desirable" per kilowatt-hour. For example, the emission data system 120 can publish an API that allows an external system, such as the cloud-based power control server system 110, to connect over the network 130 to send a request for data and receive the requested data in response. The emission data system 120 can be connected to an external service to receive data from various sources. For example, the emissions data system 120 may be connected over network 130 to multiple electric power companies to receive emissions data corresponding to current and forecasted emissions generated by power plants owned by the electric power companies that provide electricity to a city or region. The emissions data system 120 may also be connected to other data sources, such as the National Weather Service, to collect additional data relevant to generating emission rate forecasts using models or any other suitable calculations. The emissions data system 120 itself may use all of the data it collects, along with historical emission rate data, to generate detailed forecasts of the predicted MER over a predetermined period into the future.

[0069] Network 130 may include one or more wireless networks, wired networks, public networks, private networks, and / or mesh networks. A home wireless local area network (e.g., a Wi-Fi network) may be part of network 130. Network 130 may include the Internet. Network 130 may include a mesh network that may include one or more other smart home devices and may be used to enable smart thermostat 160, EV charging station 170, and smart appliances 180 to communicate with another network, such as a Wi-Fi network. Any of smart thermostat 160, EV charging station 170, and smart appliances 180 may function as an edge router, which converts communications received from other devices in the relatively low-power mesh network to another form of network, such as a relatively higher power network, such as a Wi-Fi network.

[0070] Mobile device 140 may be a smartphone, a tablet computer, a laptop computer, a gaming device, or some other form of computerized device that can communicate with cloud-based power control server system 110 via network 130 or can communicate directly with any of thermostat 160, EV charging station 170, and smart appliances 180 (e.g., via Bluetooth or some other device-to-device communication protocol). Similarly, personal computer 150 may be a laptop computer, a desktop computer, or some other computerized device that can communicate with cloud-based power control server system 110 via network 130 or can communicate directly with any of smart thermostat 160, EV charging station 170, and smart appliances 180. A user may interact with applications running on mobile device 140 or personal computer 150 to control or interact with smart thermostat 160, EV charging station 170, and smart appliances 180. For example, a user of a mobile device 140 or a personal computer 150 can be connected to a smart thermostat 160 in the user's home via the network 130 to monitor the status of the smart thermostat 160 or send heating and cooling commands to the smart thermostat 160, which itself causes an HVAC system to provide heating or cooling to the user's home. The mobile device 140 may be connected to the cloud-based power control server system 110 over the network 130. For example, the cloud-based power control server system 110 may send notifications to the user of the mobile device 140 about opportunities to participate in EDR events or the cloud-based power control server system 110 may send updates about the status of future or ongoing EDR events.The notification or update may be in the form of a text message, email, or notification via the application.

[0071] The smart thermostat 160 can be a smart thermostat that can be connected to the network 130 and can control the HVAC system 165. The smart thermostat 160 can include one or more processors that can execute special purpose software stored in the memory of the smart thermostat 160. The smart thermostat 160 can include one or more sensors, such as a temperature sensor or an ambient light sensor. The smart thermostat 160 can also include an electronic display. The electronic display can include a touch sensor that allows a user to interact with the electronic screen. The smart thermostat 160 can be connected to the cloud-based power control server system 110 via the network 130. For example, the smart thermostat 160 can receive instructions for EDR events from the cloud-based power control server system 110. The smart thermostat 160 can receive emission rate data from the cloud-based power control server system 110 via the network 130.

[0072] In some embodiments, the smart thermostat 160 may be connected to the mobile device 140 or personal computer 150 via the network 130. For example, the smart thermostat 160 may receive heating or cooling commands from the user's mobile device 140 or personal computer 150. In some embodiments, the smart thermostat 160 collectively modifies ERD events and / or opts out of future EDR events. For example, the smart thermostat 160 may receive an input, such as a setpoint temperature adjustment, at the thermostat that causes an ongoing EDR event to be modified. As another example, the smart thermostat 160 may receive an input, such as a setpoint temperature adjustment, at the thermostat that causes an ongoing EDR event to be modified. As another example, smart thermostat 160 may receive one or more instructions from mobile device 140 that cause smart thermostat 160 to no longer participate in and / or generate future EDR events. Smart thermostat 160 may be connected to HVAC system 165 and may cause HVAC system 165 to provide heating or cooling until a setpoint temperature measured at smart thermostat 160 is achieved. HVAC system 165 may be any type of HVAC, such as an electric water heater connected to a hydronic baseboard, an electric baseboard, a fan unit of a forced air system, etc.

[0073] The EV charging station 170 may be a charging system capable of charging one or more electric vehicles 175. The EV charging station 170 may be connected to the cloud-based power control server system via the network 130. For example, the EV charging station 170 may receive instructions for EDR events from the cloud-based power control server system 110. The EV charging station 170 may receive emission rate data from the cloud-based power control server system 110 via the network 130. In some embodiments, the EV charging station 170 may be connected to the mobile device 140 or the personal computer 150 via the network 130. For example, the EV charging station 170 may send notifications or updates to the user's mobile device 140 or the personal computer 150 regarding the charging status of the user's electric vehicle 175. Similarly, the smart appliance 180 may be any appliance connected to the network 130 and capable of modifying the consumption of electricity by the smart appliance or a device connected to the smart appliance 180.

[0074] 2 illustrates an embodiment of a system 200 for managing EDR events. System 200 may include cloud-based power control server system 110, emission data system 120, network 130, mobile device 140, smart thermostat 160, and HVAC system 165. Emission data system 120 may function as described in detail above with respect to FIG. 1. Smart thermostat 160 may function as described in detail above with respect to FIG. 1. HVAC system 165 may function as described in detail above with respect to FIG. 1. Network 130 may function as described in detail above with respect to FIG. 1.

[0075] The cloud based power control server system 110 can include a number of services, such as an API engine 211, a communication interface 212, an event scheduler 213, a constraint engine 214, a historical data engine 215, a user management module 216, and a forecasting engine 217. The cloud based power control server system 110 can also include one or more databases, such as an emission rate database 218. The cloud based power control server system 110 can also include a processing system 219 that can coordinate the execution of various functions provided by the multiple services and communicate with the one or more databases, such as the emission rate database 218.

[0076] The API engine 211 may implement interfaces published from one or more external systems. The published interfaces may allow the cloud-based power control server system 110 to interact with various external systems to request and exchange data. The API engine 211 may allow the cloud-based power control server system 110 to communicate with various devices connected to the network 130. For example, the API engine 211 may implement an interface for sending a text message, email, or application notification to the mobile device 140. The API engine 211 may allow the cloud-based power control server system 110 to send an instruction to perform an EDR event to a smart device connected to the network 130. For example, the API The engine 211 may implement an interface for the smart thermostat 160.

[0077] The communication interface 212 may be used to communicate with one or more wired networks. In some embodiments, a wired network interface may be present to allow communication with a local area network (LAN), etc. The communication interface 212 may be used to communicate with services distributed across multiple virtual machines via a virtual network. The communication interface 212 may be used for one or more of the other processes to communicate with other processes or external devices and services, such as the mobile device 140, the emissions data system 120, or the smart thermostat 160.

[0078] The event scheduler 213 may implement business logic for scheduling EDR events. For example, the event scheduler 213 may request and receive data from the constraint engine 214, the historical data engine 215, and the forecast engine 217 to determine when to schedule an EDR event to cause a reduction in carbon emissions. The event scheduler 213 may receive emission rate forecasts for future periods from the emission data system 120. In some embodiments, the event scheduler 213 may use the emission rate forecasts to identify emission rate events. A future emission rate event may be any period in the future when the emission rate is expected to be at an increased or decreased level, as further described later in this specification. In some embodiments, the event scheduler 213 uses the emission rate forecasts to calculate one or more emission differential values. An emission differential value may be understood as the rate of change of carbon emissions at any given time. For example, using the emission rate forecast, the event scheduler 213 may calculate an emission differential value for each of a number of time points during the future period covered by the forecast. In some embodiments, the event scheduler 213 determines an event score for an EDR event that ends at each of a number of time points. Based on the emission differential value and the event score, the event scheduler 213 may generate and schedule an EDR event to be sent to the smart thermostat 160 or any other smart appliance. The event scheduler 213 may modify or cancel a previously generated and scheduled EDR event based on the updated emission rate forecast. In some embodiments, constraints generated by the constraint engine 214 may limit the generation of EDR events by the event scheduler 213.

[0079] The constraint engine 214 may generate and maintain one or more constraints intended to ensure that EDR events scheduled by the event scheduler 213 cause the least amount of user annoyance and irritation. For example, the constraint engine 214 may limit the number of events scheduled for a day. In some embodiments, the constraint engine 214 may limit the number of events of a particular type per day. The constraint engine 214 may limit the generation of events during constrained times of the day. For example, the constraint engine 214 may limit the generation of EDR events when the user would be asleep or relaxing. In some embodiments, the constraint engine 214 specifies a minimum score required for any EDR event scheduled by the event scheduler 213. The constraint engine 214 may specify a minimum amount of time between scheduled EDR events. For example, the constraint engine 214 may require a minimum amount of time between the end of one event and the start of a next event of the same or different type. In some embodiments, the constraint engine 214 requests user account specific data from the user management module 216 to define user account specific constraints. For example, the user management module 216 may In one embodiment, a user account may indicate that the user always cancels EDR events of a certain magnitude, in which case the constraint engine 214 may define a constraint for a particular user account that limits the event scheduler 213 from scheduling events for that user account that have a magnitude larger than the user account has indicated a willingness to tolerate.

[0080] The historical data engine 215 may include processes for analyzing historical data and metrics. For example, the historical data engine 215 may analyze historical emission rates periodically or from time to time to help predict when emission rates will rise or fall again in the future. The historical data engine 215 may analyze historical data collected from various user devices. For example, the historical data engine 215 may record and store the effectiveness of an HVAC system associated with a user account. The effectiveness itself may be used by the event scheduler 213 to identify optimal EDR events for a user account based on the effectiveness of the HVAC system. In some embodiments, the data analyzed by the historical data engine 215 is stored in one or more databases of the cloud-based power control server system 110, such as an emission rate database.

[0081] The user management module 216 may include one or more processes for managing user accounts. For example, the user management module 216 may access, modify, and store account details for a particular user account, such as information for one or more devices owned and operated by the user associated with the account, various settings and degrees for programs in which the user account may participate, payment methods, set point temperature preferences, or user account habits. The user management module 216 may provide the user account specific information to the constraint engine 214 to generate user account specific constraints and restrictions. The user management module 216 may provide the user account specific information to the event scheduler 213 to help determine which events to schedule and when based on preferences associated with the user account. In some embodiments, the user management module 216 may send communications, such as notifications or updates, to a user associated with the user account, or to an application on the mobile device 140 associated with the user account. For example, the user management module 216 may send an email, text, or application invitation to a particular user account to participate in a future EDR program event.

[0082] The forecasting engine 217 may include one or more processes for analyzing, revising, or generating emission rate forecasts. The forecasting engine 217 may receive emission rate forecasts from the emission data system 120 or the emission rate database 218. In some embodiments, the forecasting engine 217 uses data generated by the historical data engine 215 or other historical data from one or more databases, such as the emission rate database 218, to revise the received emission rate forecasts. For example, after receiving an emission rate forecast from the emission data system 120, the forecasting engine 217 may revise the forecast based on a combination of weather forecasts and historical emission rates during similar weather. The forecasting engine 217 may generate an independent emission rate forecast using the combination of historical emission rates. In some embodiments, the forecasting engine 217 analyzes the emission rate forecasts and determines an emission differential value that the event scheduler 213 can use to generate an EDR event.

[0083] One or more databases, such as an emission rate database 218, may store data in or otherwise make data accessible to the cloud based power control server system 110. The emission rate database 218 may include data related to historical and forecasted emission rates. Historical emission rate data may include recorded emission rates measured by a utility or a third party service for a city or region. For example, if the emission rate database 218 stores both recorded and old forecasts, the historical data engine 215 may analyze these sets of data to determine the accuracy of future forecasts. The predicted emission rates may be one or more emission rate forecasts covering the same or overlapping time periods. By maintaining multiple emission rate forecasts covering the same or overlapping time periods, the historical data engine 215 or any other analytical process may compare the forecasts and determine trends in the forecasts as they approach real-time. For example, a first forecast may predict a high emission rate at 24 hours into the forecast. A later forecast (e.g., 12 hours later) may correct the forecast indicating that the emission rate at the same point in time (e.g., now 12 hours into the forecast) will not be as high. Once this trend is identified over a sufficient number of emission rate forecasts, the forecast engine 217 may revise the future forecasts to more accurately predict future emission rates. The cloud-based power control server system 110 may include other databases for various purposes. For example, there may be a user database that stores information specific to individual user accounts, such as account details, program engagement settings, HVAC system characteristics, set point temperature preferences, etc. The one or more databases, including the emission rate database 218, may be implemented by one or more suitable database structures, such as a relational database (e.g., SQL) or a non-SQL database (e.g., MongoDB).

[0084] The processing system 219 may include one or more processors. The processing system 219 may include one or more special purpose or general purpose processors. Such special purpose processors may include processors that are specifically designed to perform the functions detailed herein. Such special purpose processors may be ASICs or FPGAs, which are general purpose components physically and electrically configured to perform the functions detailed herein. Such general purpose processors may execute special purpose software stored using one or more non-transitory processor-readable media, such as random access memory (RAM), flash memory, hard disk drive (HDD), or solid state drive (SSD) of the cloud-based power control server system 110.

[0085] 3 illustrates an embodiment of a smart thermostat system 300 for managing EDR events. The smart thermostat system 300 may include a smart thermostat 160, a network 130, a cloud-based server system 110, and a backplate 360. The cloud-based server system 110 may function as described above in connection with FIG. 1 and FIG. 2. The network 130 may function as described above in connection with FIG. 1. The emission data system 120 may be connected to the cloud-based server system 110 and may function as described above in connection with FIG. 1. The smart thermostat 160 may include an electronic display 311, a touch sensor 312, a network interface 313, an event scheduler 314, a constraint engine 315, an ambient light sensor 316, a temperature sensor 317, an HVAC interface 318, a housing 321, and a cover 322.

[0086] The electronic display 311 may be visible through the cover 322. In some embodiments, the electronic display 311 is visible only when the electronic display 311 is illuminated. In some embodiments, the electronic display 311 is not a touch screen. The touch sensor 312 may allow one or more gestures to be detected, including tap and swipe gestures. The touch sensor 312 may be a capacitive sensor including multiple electrodes. In some embodiments, the touch sensor 312 is a touch strip including five or more electrodes.

[0087] The network interface 313 may be used to communicate with one or more wired or wireless networks. The network interface 313 may communicate with a wireless local area network, such as a Wi-Fi network. Additional or alternative network interfaces may also be present. For example, the smart thermostat 160 may be able to communicate directly with user devices, such as by using Bluetooth. The smart thermostat 160 may be able to communicate with various other home automation devices via a mesh network. The mesh network may use relatively less power compared to wireless local area network-based communications, such as WiFi. In some embodiments, the smart thermostat 160 may act as an edge router that translates communications between the mesh network and a wireless network, such as a WiFi network. In some embodiments, a wired network interface may be present, such as to enable communications with a local area network (LAN). One or more direct wireless communication interfaces may also be present, such as to enable direct communications with remote temperature sensors installed in separate and distinct housings outside the housing 321. The evolution of wireless communications to fifth-generation (5G) and sixth-generation (6G) standards and technologies provides greater throughput with lower latency, which improves mobile broadband services. 5G and 6G technologies also provide new classes of services over control and data channels for vehicular networks (V2X), fixed wireless broadband, and the Internet of Things (IoT). Smart thermostat 160 may include one or more wireless interfaces capable of communicating using 5G and / or 6G networks.

[0088] The event scheduler 314 may implement business logic for executing EDR events. For example, the event scheduler 314 may receive information related to an EDR event generated by the cloud-based server system 110 for the smart thermostat 160. The event scheduler 314 may then convert the information into instructions to be executed at the appropriate time for the EDR event. In some embodiments, the event scheduler 314 generates and schedules EDR events from emission rate forecast data. For example, the event scheduler 314 may request and receive emission rate forecasts from the cloud-based server system 110 to determine when to schedule an EDR event to cause a reduction in carbon emissions. Using the emission rate forecasts, the event scheduler 314 may identify future emission rate events. The future emission rate events may be any period in the future when emission rates are predicted to be at an increased or decreased level, as described further below in this specification. In some embodiments, the event scheduler 213 uses the emission rate forecast to calculate an emission differential value for each of a plurality of time points during the future period covered by the forecast. In some embodiments, the event scheduler 314 determines an event score for an EDR event that ends at each of a plurality of time points. Based on the emission differential value and the event score, the event scheduler 314 may generate and schedule an EDR event to occur at a later time. The event scheduler 314 may modify or cancel a previously generated and scheduled EDR event based on the updated emission rate forecast. In some embodiments, constraints generated by the constraint engine 315 limit the generation of EDR events by the event scheduler 314.

[0089] The constraint engine 315 may generate and maintain one or more constraints intended to ensure that EDR events scheduled by the event scheduler 314 cause the least amount of user annoyance and irritation. For example, the constraint engine 315 may limit the number of events scheduled per day. In some embodiments, Thus, the constraint engine 315 may also limit the number of events of a particular type per day. The constraint engine 315 may limit the generation of events during limited times of the day. For example, the constraint engine 315 may limit the generation of EDR events when the user is generally asleep or relaxing. In some embodiments, the constraint engine 315 defines a minimum score required for any EDR event scheduled by the event scheduler 314. The constraint engine 315 may also define a minimum amount of time between scheduled EDR events, or more specifically, between EDR events of a certain type. For example, the constraint engine 315 may require a minimum amount of time between the end of one event and the start of a next event of the same or different type. In some embodiments, the constraint engine 315 defines certain constraints for a user account of the smart thermostat 160. For example, the smart thermostat 160 may record details of the overridden EDR event each time a person overrides an EDR event. The constraint engine 315 may then use this information to define specific constraints that limit the generation of future EDR events that match the details of the previously overridden EDR event.

[0090] The ambient light sensor 316 may sense the amount of light present in the environment of the smart thermostat 160. Measurements made by the ambient light sensor 316 may be used to adjust the brightness of the electronic display 311. In some embodiments, the ambient light sensor 316 senses the amount of ambient light through the cover 322. Thus, compensation for the reflectivity of the cover 322 may be made so that the ambient light level is accurately determined via the ambient light sensor 316. In certain areas of the cover 322, a light pipe may be present between the ambient light sensor 316 and the cover 322 so that light transmitted through the cover 322 is directed to the ambient light sensor 316, which may be mounted on a printed circuit board (PCB), such as a PCB, on which the processing system 319 is mounted.

[0091] One or more temperature sensors, such as temperature sensor 317, may be present in smart thermostat 160. Temperature sensor 317 may be used to measure the ambient temperature in the environment of smart thermostat 160. One or more additional temperature sensors remote from smart thermostat 160, such as remote temperature sensor 320, may additionally or alternatively be used to measure the temperature of the ambient environment. For example, one or more remote temperature sensors 320 located throughout the home or building may be connected to smart thermostat 160 to provide a more accurate indication of the ambient temperature throughout the home or building.

[0092] The cover 322 may have sufficient transmissivity so that illuminated portions of the electronic display 311 can be viewed through the cover 322 from outside the smart thermostat 160 by a user. The cover 322 may have sufficient reflectivity so that portions of the cover 322 that are not illuminated from behind appear to have a mirror-like effect to a user looking at the front of the thermostat 310.

[0093] HVAC interface 318 may include one or more interfaces that control whether circuits are completed involving various HVAC control wires connected directly to thermostat 310 or to backplate 360. Heating systems (e.g., furnaces, heat pumps), cooling systems (e.g., air conditioners), and / or fans may be controlled over the HVAC wires by opening and closing circuits that include the HVAC control wires. HVAC interface 318 may also be some form of wireless interface that controls separate electronic units that communicate with the HVAC system over the HVAC wires. In some embodiments, HVAC interface 318 implements one or more communication protocols. For example, HVAC interface 31 8 may use a proprietary serial communication protocol over the wires as specified by the manufacturer of the HVAC system. As another example, HVAC interface 318 may communicate wirelessly to an HVAC system that supports Thread®, Zigbee®, CHIP / Matter®, or any other suitable wireless communication protocol.

[0094] The processing system 319 may include one or more processors. The processing system 319 may include one or more special-purpose or general-purpose processors. Such special-purpose processors may include processors specifically designed to perform the functions detailed herein. Such special-purpose processors may be ASICs or FPGAs, which are general-purpose components physically and electrically configured to perform the functions detailed herein. Such general-purpose processors may execute special-purpose software stored using one or more non-transitory processor-readable media, such as random access memory (RAM), flash memory, hard disk drive (HDD), or solid-state drive (SSD) of the smart thermostat 160.

[0095] The processing system 319 may output information for display on the electronic display 311. The processing system 319 may receive information from the touch sensor 312, the ambient light sensor 316, and the temperature sensor 317. The processing system 319 may have two-way communication with the network interface 313. The processing system 319 may control the HVAC system via the HVAC interface 318. In some embodiments, the process system 319 executes one or more software applications or services stored in or otherwise accessible by the smart thermostat 160. For example, one or more components of the smart thermostat 160, such as the event scheduler 314 and the constraint engine 315, may include one or more software applications or services that may be executed by the processing system 319.

[0096] The cloud-based server system 110 can maintain user accounts mapped to the smart thermostats 160. The smart thermostats 160 can periodically or intermittently communicate with the cloud-based server system 110 to determine when an EDR event is scheduled or when to adjust set points according to an EDR event. A person can interact with the thermostat 310 through a computerized device 350, which can be a mobile device, a smartphone, a tablet computer, a laptop computer, a desktop computer, or any other form of computerized device that can communicate with the cloud-based server system 110 via the network 130 or can communicate directly with the thermostat 310 (e.g., via Bluetooth or other device-to-device communication protocols). A person can interact with an application running on the computerized device 350 to control or interact with the thermostat 310.

[0097] FIG. 4 shows a graph 400 of forecasted emission data and thermostat setpoint temperature versus time. The graph 400 shows a predicted emission rate 416 over time. The left vertical axis 402 shows the emission rate in lbs-CO2 / MWh; however, any similar unit of measurement for the emission rate may be used. The horizontal axis 404 shows time in hours, although any unit of time may be used to provide a desired level of granularity. The graph 400 also shows a thermostat setpoint temperature 420 over time. The right vertical axis 408 shows the measured emission rate 416 over time. The measured temperatures are shown in degrees Fahrenheit, although any similar temperature measurement unit may be used. As shown in graph 400, the predicted emission rate 416 varies over time, including times of sustained low carbon emissions and other times of sustained high carbon emissions.

[0098] In some embodiments, the normal operation of the thermostat includes adjusting the setpoint temperature at various points throughout the day according to a preprogrammed and / or predefined schedule. For example, referring to graph 400, the thermostat may include a defined schedule during the hotter months of the year, where the setpoint temperature is automatically adjusted to 68 degrees at night when the occupants may be asleep, and increases to 72 degrees during the day when the occupants may be away before gradually lowering the setpoint temperature again when the occupants may be home. In some embodiments, an EDR event represents a deviation from the predefined schedule and is implemented as a load shift event. Graph 400 illustrates potential load shift events when a deviation to the setpoint temperature schedule for a time interval may achieve a net reduction in overall carbon emissions.

[0099] These potential load shifting events may be shown, for example, as deviations or adjustments to the setpoint temperature 420 when the HVAC system is in a cooling mode (e.g., controlling an air conditioner). In another example, the deviations or adjustments to the setpoint temperature 420 may be in the opposite direction when the HVAC system is in a heating mode (e.g., controlling a heating unit). There may be two types of load shifting or EDR events: preemptive and deferred. Each type of event may reduce overall carbon emissions by at least shifting electrical usage from times when electrical consumption produces relatively high levels of carbon emissions to times when carbon emissions are relatively low. Preemptive events may reduce carbon emissions by increasing electrical load during times of low carbon emissions, thereby reducing electrical load during times when electrical consumption produces high levels of carbon emissions. Deferred events may achieve reduced carbon emissions by lowering electrical load during times of high carbon emissions until carbon emissions are significantly lower.

[0100] During the time that the HVAC system is in cooling mode (e.g., controlling the air conditioner), the load shifting events may be described as preemptive cooling events and deferred cooling events. During a preemptive cooling event, the temperature setpoint may be lowered to increase the likelihood that air conditioning will occur during the event rather than after the event has ended. If the emission rate is expected to increase, a preemptive cooling event may be scheduled for the period before the increase to shift the electrical load from a time of increased emissions to a time of lower emissions. For example, as shown in graph 400, the predicted emission rate 416 is expected to be relatively low in the period before 9:00 before rising relatively high at 9:00. Thus, a preemptive cooling event 424 may be scheduled during the period before 9:00 and set to end when the predicted emission rate 416 rises at 9:00. By lowering the setpoint temperature during the preemptive cooling event 424, the HVAC system may lower the ambient temperature in the controlled environment below the original setpoint temperature 420. After the preemptive cooling event 424 ends, the HVAC system may not need as much electricity as when the temperature in the controlled environment slowly rises to match the setpoint temperature 420. In this way, the HVAC system can consume cleaner electricity during times of low carbon emissions and less dirty electricity during times of higher carbon emissions.

[0101] On the other hand, during a deferred cooling event, the temperature setpoint is increased to increase the likelihood that air conditioning will occur after the event ends rather than before. If emission rates are expected to decrease, deferred cooling events are scheduled for periods before the emission rate decrease to shift the electrical load from times of increased emissions toward times of lower emissions. For example, as shown in graph 400, the predicted emission rate 416 is expected to be relatively high in the period beginning at 11:00 before dropping in the period before 12:00. Thus, a deferred cooling event 428 may be scheduled for the period beginning at 11:00 and set to end when the predicted emission rate 416 drops as it approaches 12:00. By increasing the setpoint temperature during the deferred cooling event 428, the HVAC system may use less electricity as the temperature in the controlled environment slowly rises to match the adjusted setpoint temperature. After the deferred cooling event 428 ends, the HVAC system may then use additional electricity to restore the ambient temperature in the controlled environment to the original setpoint temperature 420. In this manner, the HVAC system may consume less electricity during times of higher carbon emissions and more electricity during times of lower carbon emissions.

[0102] Similarly, during times when the HVAC system is in heating mode (e.g., controlling a heating unit), the load shifting events may be described as preemptive and deferred heating events. As will be readily appreciated by those skilled in the art, the present teachings regarding preemptive and deferred heating events as applied in connection with emissions demand response are applicable for structures where the underlying power source for heating is electrical (e.g., resistive heating, heat pumps, electrical radiant heating, etc.) rather than non-electrical (e.g., natural gas, oil, etc.). A preemptive heating event may increase the setpoint temperature 420, increasing the likelihood that the heater will operate before the end of the event rather than after the end of the event. If the emission rate is expected to increase, a preemptive heating event may be scheduled in a period before the emission rate increase to shift the electrical load from times of increased emissions toward times of lower emissions. For example, referring to graph 400, instead of lowering the setpoint temperature 420 for a preemptive cooling event 424, the setpoint temperature is increased for a preemptive heating event. Similarly, a deferred heating event may lower the setpoint temperature 420, making it more likely that the heater will operate after the event ends rather than before. If the emission rate is expected to decrease, a deferred heating event may be scheduled in a period before the emission rate decrease to shift the electrical load from times of increased emissions toward times of lower emissions. For example, referring to graph 400, instead of increasing the setpoint temperature 420 for the deferred cooling event 428, the setpoint temperature is lowered for the deferred heating event.

[0103] In some embodiments, there is a period of preconditioning before the load shift event. The preconditioning period may be a period before the start of the load shift event when the setpoint temperature is adjusted in the opposite direction to the setpoint schedule as the future load shift event. For example, in the case of a preemptive cooling event where the setpoint temperature is lowered relative to the setpoint schedule, the preconditioning period may increase the setpoint temperature relative to the setpoint schedule in the period before the start of the preemptive cooling event. In some embodiments, the preconditioning period is triggered immediately before the load shift event. In other embodiments, there is a 5, 10, 15, or similarly suitable amount of time interval between the preconditioning period and the load shift event. By increasing the setpoint temperature relative to the setpoint schedule before decreasing the setpoint temperature relative to the setpoint schedule, the HVAC system may be less likely to operate before the event, thereby shifting additional electrical load from before the event toward the period during the preemptive cooling event.

[0104] In some embodiments, after a load shift event, there is a period of post-conditioning. The post-conditioning period may be a period of time after the end of the load shift event during which the setpoint temperature is adjusted in the opposite direction relative to the setpoint schedule as the load shift event just ended. For example, if the setpoint temperature increases relative to the setpoint schedule, the setpoint temperature may increase relative to the setpoint schedule. In the case of a preemptive heating event that is triggered, the postconditioning period may lower the setpoint temperature relative to the setpoint schedule for a period of time after the end of the preemptive heating event. In some embodiments, the postconditioning period is triggered immediately after the load shift event. In other embodiments, there is an interval between the load shift event and the postconditioning period, such as 5 minutes, 10 minutes, 15 minutes, or a similarly suitable amount of time. By lowering the setpoint temperature after increasing the setpoint temperature, the HVAC system may be less likely to operate after the event, thereby shifting additional electrical load from after the event toward a period during the preemptive heating event. In some embodiments, in addition to there being a postconditioning period after the load shift event, there is a preconditioning period before the load shift event.

[0105] In some embodiments, the preconditioning and / or postconditioning periods are accomplished by closely scheduling preemptive and deferred events. For example, by scheduling a preemptive cooling event to end at the same time that a deferred cooling event begins, the preemptive cooling event may perform the function of preconditioning the preemptive cooling event. As another example, by scheduling a preemptive heating event to end at the same time that a deferred heating event begins, the deferred heating event may perform the function of a postconditioning event.

[0106] As shown in graph 400, the predicted emission rate 416 may rise or fall sharply at multiple points over time. To optimize the scheduling and occurrence of load shifting events, various metrics may be used to quantify the emission savings potential at any given time. In some embodiments, an emission differential value may be used to quantify the emission savings potential. The emission differential value may be understood as the rate of change of carbon emissions at any given time. The larger (e.g., more positive) the emission differential value is at a time, the more emissions may be avoided by shifting the load from after that time to before that time. This may be achieved, for example, by scheduling a preemptive heating or cooling event that ends at that time. Similarly, the smaller (e.g., more negative) the emission differential value is at a time, the more emissions may be avoided by shifting the load from before that time to after that time. This may be achieved, for example, by scheduling a deferred heating or cooling event that ends at that time.

[0107] One way to calculate the discharge differential value at a given time may be by evaluating the predicted discharge rate 416 over the course of a discharge differential range surrounding that time. For example, to calculate the discharge differential value at time t, the discharge rate over a one-hour discharge range including 30 minutes before and after the time t may be analyzed. The discharge differential at time t may be calculated by subtracting the average discharge rate over the 30 minutes ending at time t from the average discharge rate over the 30 minutes beginning at time t. Although a one-hour discharge differential range is used as an example, it should be understood that any amount of time before and after time t may be analyzed to determine the discharge differential value at time t. Calculating the discharge differential value and its application in generating an EDR event is described in further detail with respect to Figures 5-9.

[0108] 5 shows a graph 500 illustrating a positive discharge differential value. The graph 500 shows a predicted discharge rate 512 over time. The graph 500 displays the same x-axis 504 and y-axis 502 as the graph 400 described above with respect to FIG. 4. The discharge differential value at time t is the difference between the average discharge rate over the period starting at time t and the predicted discharge rate over the period ending at time t. Graph 500 shows a positive discharge differential value 516 at 11:00. The discharge differential value 516 may be calculated by evaluating the discharge rates over the discharge differential range. In this example, the discharge differential range spans two hours starting at 10:00 and ending at 12:00. The average starting discharge rate 514 from 10:00 to 11:00 in this example is 200 because the predicted discharge rate 512 from 10:00 to 10:30 is 0 and the predicted discharge rate 512 from 10:30 to 11:00 is 400. The average ending discharge rate 518 from 11:00 to 12:00 in this example is 1000. Because the predicted discharge rate 512 from 11:00 to 11:30 is 800, and the predicted discharge rate 512 from 11:30 to 12:00 is 1200. Thus, in this example, the discharge differential value 516 may be calculated by subtracting the average starting discharge rate 514 from the average ending discharge rate 518 to arrive at a positive discharge differential value 516 of 800.

[0109] FIG. 6 illustrates a graph 600 showing a negative discharge differential value. The graph 600 shows a predicted discharge rate 612 with respect to time. The graph 600 displays the same x-axis 604 and y-axis 602 as the graph 400 described above with respect to FIG. 4. The graph 600 shows a negative discharge differential value 616 at 11:00. Similar calculations may be performed to determine the discharge differential value 616, as described above with respect to FIG. 5. In this example, the discharge differential range is two hours beginning at 10:00 and ending at 12:00. The average starting discharge rate 614 from 10:00 to 11:00 in this example is 1000 because the predicted discharge rate 612 from 10:00 to 10:30 is 1200 and the predicted discharge rate 612 from 10:30 to 11:00 is 800. The average ending discharge rate 618 from 11:00 to 12:00 in this example is 200 because the predicted discharge rate 612 from 11:00 to 11:30 is 400 and the predicted discharge rate 612 from 11:30 to 12:00 is 0. Thus, in this example, the discharge differential value 616 may be calculated by subtracting the average starting discharge rate 614 from the average ending discharge rate 618 to arrive at a negative discharge differential value 616 of -800.

[0110] 7 shows a graph 700 of multiple discharge differential values. Graph 700 presents the same x-axis 704 and y-axis 702 as graph 400 described above with respect to FIG. 4. Graph 700 shows that multiple discharge differential values ​​736, 740, and 744 may be calculated using shorter discharge differential ranges. For example, discharge differential value 736 may be calculated using a one hour range by subtracting average starting discharge rate 712 from average ending discharge rate 720 over the discharge differential range from 10:00 to 11:00.

[0111] Although various lengths of time are used herein for the emission differential range, it should be understood that any suitable amount of time may be used to evaluate the emission differential value at a given time. For example, by using shorter and shorter emission differential ranges, the emission differential value may more accurately reflect the expected rate of change of carbon emissions at a given time. On the other hand, by using longer and longer emission differential ranges, the emission differential value may more accurately reflect the rate of change of carbon emissions over a longer period of time.

[0112] Generally speaking, as shorter and shorter differential ranges are used, the emission differential values ​​will respond more quickly to changes in emission rate, but may be more susceptible to noise in the emission rate, which may lead to over-sensitivity, over-control, and / or an excessively high number of EDR events. When used, the emission differential value will be less responsive to changes in emission rate but less susceptible to noise in the emission rate, which may lead to under-sensitivity, under-control, and / or an insufficiently low number of EDR events.

[0113] In some embodiments, the length of the discharge differential range may be based on the ideal length of the proposed EDR event. For example, if an EDR event is typically scheduled to last 30 minutes, the discharge differential range may be one hour. This correlation allows the system to better evaluate the expected average discharge rate during the entire EDR event. In some embodiments, multiple discharge differential ranges of various lengths may be used to evaluate discharge differential values ​​for the same time point, resulting in multiple discharge differential values ​​for that time point. This itself may be used to determine the optimal length of the EDR event ending at that time point. For example, if a forecast predicts a reduction in discharge rate that will last only 30 minutes and end at time t, a discharge differential range that is one hour long may identify these 30 minutes of low discharge as the optimal time for an EDR event, whereas a discharge differential range that is two hours long may not.

[0114] FIG. 8 shows another graph 800 of predicted discharge data with discharge differential values. Graph 800 presents the same x-axis 804 and y-axis 802 as graph 400 described above with respect to FIG. 4. Graph 800 shows a predicted discharge rate 816 over a period of time. Graph 800 also shows the calculation of discharge differential values ​​836, 840, and 844 at various times. For example, discharge differential value 836 is determined by subtracting average starting discharge rate 812 from average ending discharge rate 814. Graph 800 shows that discharge differential values ​​can be positive or negative at various times. For example, discharge differential value 836 is positive, but discharge differential value 844 is negative because average starting discharge rate 828 is greater than average ending discharge rate 832. Graph 800 also shows that discharge differential values ​​can be greater or less than other discharge differential values ​​for a period of time. For example, discharge differential value 836 is greater than discharge differential value 840 because the difference between average discharge rates 812 and 814 is greater than the difference between average discharge rates 820 and 824.

[0115] As shown by way of example in Figures 5-8, discharge differential values ​​may be calculated for any time using discharge differential ranges of any length. This may result in a large set of discharge differential values ​​for a similar number of times during the expected period of discharge data. On the other hand, this may result in many possibilities for scheduling EDR events. For example, preemptive or deferred events may be scheduled to terminate each time a discharge differential value is calculated.

[0116] In some embodiments, the system may assign an event score to each potential preemptive and deferred event based on the emission differential value at the end of the event. The event score may then be used to rank each of the potential events and select the best event for generating the greatest amount of carbon emission savings. For a preemptive event, the event score may be equal to the emission differential value at the end of the event. Similarly, for a deferred event, the event score may be equal to the negative emission differential value at the end of the event. Assigning and determining event scores is discussed further herein with respect to FIG. 9.

[0117] 9 shows another graph 900 of expected emission data with potential EDR events. Graph 900 shows the same predicted emission rate 916, average emission rates 912, 914, 920, 924, 928, and 932, and the same emission differentials as described above with respect to FIG. Graph 900 represents the setpoint temperature 948 of a thermostat in cooling mode with potential load shift events 952, 956, 960, 964, 968, and 972 indicated by deviations from the setpoint temperature 948. In this example, the system may identify three potential times for a load shift event at approximately 9:00, 10:00, and 11:30.

[0118] After identifying potential load shift events, the system may use the discharge differential values ​​936, 940, and 944 to calculate a score for each potential event. For example, using the beginning average discharge rate 912 and the ending average discharge rate 914, the system may determine that the discharge differential value 936 at 9:00 is approximately 600. The discharge differential value 936 may then be used to assign event scores to the preemptive event 956 and the deferred event 952. For example, the event score for the preemptive event 956 may be equal to the discharge differential value 936 (e.g., 600) and the event score for the deferred event 952 may be equal to the negative discharge differential value 936 (e.g., -600). This result is consistent with the concept that preemptive events achieve greater reductions in carbon emissions during times when the discharge rate 916 is lower.

[0119] The emission differential value 944 may be used in a similar manner to assign event scores to the preemptive event 972 and the deferred event 968. For example, if the system determines that the emission differential value 944 is -600, then the event score for the preemptive event 972 is equal to the emission differential value 944 (e.g., -600) and the event score for the deferred event 968 is equal to the negative emission differential value 944 (e.g., 600). This result is consistent with the concept that deferred events achieve higher reductions in carbon emissions when scheduled during times when the emission rate 916 is higher. Similarly, the emission differential value 940 may be used to assign scores to the preemptive event 964 and the deferred event 960. In this example, the event score for the preemptive event 964 may be equal to 200, while the event score for the deferred event 960 may be equal to -200.

[0120] In some embodiments, after assigning an event score to each potential load shift event, the system selects the best event for reducing carbon emissions based on the event with the best score. Determining the event with the best score may be done in any number of ways without departing from the scope of the present teachings, such as by ranking each of the potential load shift events or using another suitable algorithm or method. For example, the system may determine that preemptive events 956, 964 and deferred event 968 represent the best potential load shift events for the time period being evaluated because their associated scores are higher than the associated scores for deferred events 952, 960 and preemptive event 972, respectively. The system may be limited to generating load shift events with scores lower than the minimum score.

[0121] In addition to the minimum score based limit, there may be one or more other constraints applied to the generation of the event. The constraints may be used in addition to the emission differential value to reduce the overall carbon emissions while minimizing user discomfort and annoyance. The system may use any number or type of constraints to minimize user discomfort and annoyance. Some of the various types of constraints and how they can affect the generation of EDR events are discussed further with respect to Figures 10 and 11.

[0122] 10 shows another graph 1000 of various time constraints and expected emissions data. Graph 1000 presents the same x-axis 1004 and y-axes 1002 and 1008 as graph 400 described above with respect to FIG. 4. Graph 1000 also shows a predicted emissions rate 1016 over a period of time. Graph 1000 also shows a thermostat setpoint temperature 1020. As shown in graph 1000 by deviations to setpoint temperature 1020, the system may have already generated a deferred cooling event 1036 and a preemptive cooling event 1048, and may be considering generating a potential preemptive cooling event 1032 and a potential deferred cooling event 1040.

[0123] In some embodiments, the generation of load shift events during certain times of the day is limited. For example, the system may be limited to generating load shift events during the night or early morning hours. These times may correspond to when users are asleep and are more sensitive to changes in ambient temperature and therefore more likely to experience discomfort or irritation caused by changes in setpoint temperature. This type of limitation is illustrated in the graph 1000 as a first limited time 1024 and a second limited time 1028. For example, after identifying a potential preemptive cooling event 1032, the system may determine that it coincides with the first limited time 1024 and cancel the potential preemptive cooling event 1032. In some embodiments, the system may first determine that there is a limited time during which a load shift event may not be scheduled and does not evaluate the predicted discharge rate 1016 for a potential event at all during the limited time.

[0124] To avoid additional user discomfort and annoyance, the system may limit the generation of load shift events within a minimum amount of time of other load shift events. For example, the system may be limited to generating any event within one hour of the start or end of another event. The system may be limited to generating two preemptive events or two deferred events within a close time period. The system may enforce a minimum amount of time between the end of a preemptive event and the start of a deferred event. A potential deferred cooling event 1040 indicates a possible conflict with various of these limitations. In some embodiments, after generating a deferred cooling event 1036 and a preemptive cooling event 1048, the system may evaluate generating a potential deferred cooling event 1040. The system may determine that there is enough time 1044 between the deferred cooling event 1036 and the potential deferred cooling event 1040. However, the system may then determine that the end of the potential deferred cooling event 1040 is too close to the start of the preemptive cooling event 1048.

[0125] 11 shows another graph 1100 of projected emissions data with previously generated EDR events. Graph 1100 presents the same x-axis 1104 and y-axes 1102 and 1108 as graph 400 described above with respect to FIG. 4. Graph 1100 shows a projected emissions rate 1116 over a period of time. Graph 1100 also shows a thermostat setpoint temperature 1120. As shown in graph 1100 by deviations to setpoint temperature 1120, the system may have already generated a deferred cooling event 1136 and a deferred cooling event 1140, and may be considering generating a potential deferred cooling event 1144.

[0126] To avoid additional user discomfort and annoyance, the system may be limited from generating more than a predetermined number of events for a predetermined period of time. For example, the system may be limited from generating more than three load shift events during any one day. In some embodiments, the system may be limited to a maximum number of any single type of load shift event. For example, the system may be limited from generating more than three deferred events during any one day. This type of limitation is illustrated in graph 1100 as indicated by potential deferred cooling events 1144. The system may not have reached the maximum number of total events in a day with deferred cooling events 1136 and 1140. has already reached the maximum number of deferred events in a day. The system may therefore be limited from generating potential deferred cooling events 1144.

[0127] 12 shows a graph 1200 of EDR events of various magnitudes and durations. Graph 1200 presents the same x-axis 1204 and y-axes 1202 and 1208 as graph 400 described above with respect to FIG. 4. Graph 1200 shows a predicted discharge rate 1216 over a period of time. Graph 1200 also shows a thermostat setpoint temperature 1220. As shown in graph 1200 by deviations to setpoint temperature 1220, the system may have already generated a deferred cooling event 1238 and a deferred cooling event 1240.

[0128] In addition to the constraints discussed above with respect to FIGS. 10 and 11, the system may use other factors to reduce the amount of discomfort and annoyance experienced by the user when generating an EDR event and / or to increase the carbon reduction impact of the generated EDR event. In some embodiments, the system varies the magnitude of the adjustment to the setpoint temperature relative to the setpoint schedule. For example, based on a pattern of user behavior, the system may determine that a deferred cooling event that adjusts the setpoint temperature by more than one degree relative to the setpoint schedule, such as deferred cooling event 1238, will generally be overridden by the user via a real-time adjustment of the thermostat's setpoint temperature. Based on this input, the system may determine that a deviation of two degrees would be too uncomfortable for the user associated with the thermostat, and instead generate only a deferred cooling event that adjusts the setpoint temperature by only one degree, as illustrated by deferred cooling event 1236. In some embodiments, varying the magnitude of the adjustment to the setpoint temperature is accompanied by a change in the duration of the EDR event. For example, an EDR event may be generated with a smaller adjustment while the duration may be extended as illustrated by deferred cooling event 1242. In some embodiments, the magnitude of the adjustment varies based on any number of factors, such as whether the thermostat is in cooling or heating mode and / or whether the EDR event is a preemptive or deferred EDR event. For example, some people may not be willing to tolerate a 2 degree adjustment (e.g., making the ambient temperature hotter) during a deferred cooling event, but they may still be willing to tolerate a 2 degree adjustment (making the ambient temperature cooler) during a preemptive cooling event.

[0129] In some embodiments, the system varies the length of the EDR event to reduce user discomfort and annoyance. For example, the system may determine that a deferred cooling event that lasts longer than two hours, such as deferred cooling event 1240, will generally be overridden by the user via a real-time adjustment of the thermostat's setpoint temperature at or near the two hours into the event. Based on this input, the system may determine that events lasting longer than two hours will create an unacceptable amount of discomfort, and instead generate only deferred cooling events that last less than two hours, as illustrated by deferred cooling event 1238. In some embodiments, the acceptable duration may vary based on any number of factors, such as whether the thermostat is in a cooling or heating mode and / or whether the EDR event is a preemptive or deferred EDR event.

[0130] In some embodiments, the system varies both the duration and magnitude of adjustments to the setpoint temperature to reduce user discomfort while still reducing carbon emissions. For example, the system may determine that one or more users will not tolerate a 2 degree adjustment for longer than 2 hours, whereas they may tolerate a 1 degree adjustment for up to 3 hours. As another example, the system may determine that one or more users will not tolerate a 3 hour event with an adjustment of more than 2 degrees, whereas they may tolerate a 1 hour event with an adjustment of up to 4 degrees. The Board may determine that there is a match.

[0131] In some embodiments, multiple EDR events with varying characteristics are distributed throughout the community for the same emission rate event based on the various preferences of people in the community. For example, in a community of 100 homes, if 50 homes participate in an EDR program, 25 homes may receive an EDR event of longer duration with a smaller adjustment, while the other 25 homes receive an EDR event of shorter duration with a larger adjustment. In this way, the system may cater to the preferences of each particular participant while still achieving a net reduction in carbon emissions.

[0132] To implement an EDR event as detailed above with respect to FIGS. 4-12, various methods may be performed using the systems detailed in FIGS. 1-3. FIG. 13 illustrates an embodiment of a method 1300 for performing an EDR event. In some embodiments, the method 1300 may be performed by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. For example, the processing system 219 of the cloud-based power control server system 110 may execute software from one or more modules, such as the event scheduler 213, the constraint engine 214, and / or the forecasting engine 217. In some embodiments, the method 1300 is performed by a smart device, such as the smart thermostat 160 as described above with respect to FIG. 3. For example, the processing system 319 of the smart thermostat 160 may execute software from one or more modules, such as the event scheduler 314 and the constraint engine 315. In some embodiments, some steps of method 1300 are performed by a cloud-based power control server system, such as cloud-based power control server system 110, while other steps are performed by a smart device, such as smart thermostat 160.

[0133] The method 1300 may include, at block 1310, receiving an emission rate forecast for a predetermined future period. The emission rate forecast may include a predicted rate of carbon emissions over the predetermined period into the future. The carbon emission rate may be measured in lbs-CO2 / MWh or any similar unit of measure. The predetermined period into the future may be any number of hours, including 24 hours into the future. The emission rate forecast may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region. In some embodiments, the emission rate forecast is received by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. The emission rate forecast may be received by a smart thermostat. In some embodiments, a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, may receive the emission rate forecast from the cloud-based power control server system 110.

[0134] At block 1312, a discharge differential value may be determined for each of a plurality of time points during the predetermined future time period. The discharge differential value may represent the rate of change of the predicted discharge rate at each time point. The discharge differential value may be determined using the received discharge rate forecast. For example, the discharge differential value may be determined from the difference between a first average discharge rate ending at the time point and a second average discharge rate beginning at the time point. Each average discharge rate may be an average discharge rate for a different length of time. For example, the first average discharge rate may be an average discharge rate over the 30 minutes up to the time point, while the second average discharge rate may be an average discharge rate beginning at the time point for the 30 minutes after the time point. The combination of the time up to the time point and the time after the time point may be defined as a discharge differential range. In some embodiments, the discharge differential value may be determined from the difference between a first average discharge rate ending at the time point and a second average discharge rate beginning at the time point for the 30 minutes after the time point. The differential value is determined by a cloud based power control server system, such as cloud based power control server system 110 as described above with respect to Figure 2. In some embodiments, the exhaust differential value is determined by a smart thermostat, such as smart thermostat 160 as described above with respect to Figure 3.

[0135] At block 1314, an EDR event may be generated for a predetermined future period of time. The EDR event may be generated based on the determined plurality of discharge differential values. For example, the EDR event may be generated with an end time corresponding to a time of a discharge differential value of the plurality of discharge differential values ​​that represents a maximum rate of change of the predicted discharge rate. The type of the EDR event may be based on the discharge differential value at the end of the EDR event. For example, if the discharge differential value is negative, the EDR event may be a deferred event, and if the discharge differential value is positive, the EDR event may be a preemptive event. The EDR event may be generated by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the EDR event may be generated by a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3.

[0136] In some embodiments, the EDR events are also generated based on a predetermined maximum number of EDR events. For example, if the predetermined maximum number of EDR events is three, after the third event is generated, the generation of additional EDR events may be limited. In some embodiments, the predetermined maximum number of EDR events is set by the system based on how many EDR events an average user is willing to tolerate. In some embodiments, the predetermined maximum number of EDR events is set or modified by user input. For example, a user may set the predetermined maximum number via various settings available to the user. As another example, the system may determine that a user will not tolerate more than a predetermined number of EDR events in a day based on historical data for an account associated with the user. In some embodiments, the system considers the predetermined maximum number of EDR events when generating events. For example, the system may only consider generating up to a maximum number of events. In some embodiments, the system applies a constraint to generate more events than the maximum number and then reduce the number. For example, the system may generate a large number of events and then apply a constraint algorithm to reach the reduced number of events set for execution.

[0137] The generation of EDR events may be limited to certain times of day. For example, the generation of events during the night may be limited. The generation of EDR events may be limited by the time relative to previously generated EDR events. For example, the time between the ends of previously generated EDR events may limit the generation of EDR events that have a start time that is too close to a previously generated EDR event.

[0138] At block 1316, the thermostat may be caused to control the HVAC system according to the generated EDR event. The generated EDR event may be a preemptive event or a deferred event. A preemptive EDR event may cause the thermostat to adjust the setpoint temperature to increase usage of the HVAC system for a predetermined time before the end of the preemptive EDR event. During the time the HVAC system is in a cooling mode, the preemptive EDR event may cause the thermostat to lower the setpoint temperature. During the time the HVAC system is in a heating mode, the preemptive EDR event may cause the thermostat to increase the setpoint temperature. A deferred EDR event may cause the thermostat to adjust the setpoint temperature to decrease usage of the HVAC system for a predetermined time before the end of the deferred EDR event. During the time the HVAC system is in a cooling mode, the deferred EDR event may cause the thermostat to adjust the setpoint temperature to decrease usage of the HVAC system for a predetermined time before the end of the deferred EDR event. During times when the HVAC system is in heating mode, a deferred EDR event may cause the thermostat to increase the setpoint temperature. During times when the HVAC system is in heating mode, a deferred EDR event may cause the thermostat to decrease the setpoint temperature. In some embodiments, a cloud-based power control server system, such as cloud-based power control server system 110 as described above with respect to FIG. 2, causes a smart thermostat, such as smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0139] FIG. 14 illustrates an embodiment of a method 1400 for executing an EDR event based on the ranking of the event scores. In some embodiments, the method 1400 is performed by any or all of the same components as described with respect to the method 1300 described above with respect to FIG. 13. The method 1400 may include receiving an emission rate forecast for a predetermined future time period at block 1410. In some embodiments, the system generates the emission rate forecast internally. For example, the system may collect and analyze emission rate data from a power company to generate the emission rate forecast. The emission rate forecast may include a projected carbon emission rate over the predetermined future time period. The carbon emission rate may be measured in lbs-CO2 / MWh or any similar unit of measurement. The predetermined future time period may be any number of hours, including 24 hours into the future. The emission rate forecast may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region.

[0140] In some embodiments, the emission rate forecast is received by a cloud based power control server system, such as cloud based power control server system 110 as described above with respect to FIG. 2. The emission rate forecast may be received from the cloud based power control server system 110 by a smart thermostat, such as smart thermostat 160 as described above with respect to FIG. 3. In some embodiments, the emission rate forecast is generated by the cloud based power control server system. For example, the emission rate forecast may be generated by a forecasting engine, such as forecasting engine 217 as described above with respect to FIG. 2, using emission data collected from a power utility. In some embodiments, generation of the emission rate forecast is based on historical emission data, current emission data, and / or weather data.

[0141] At block 1412, a discharge differential value may be determined for each of a plurality of time points during a predetermined future period. The discharge differential value may represent a rate of change of the predicted discharge rate at each time point. The discharge differential value may be determined using the discharge rate forecast. For example, the discharge differential value may be determined from a difference between a first average discharge rate ending at the time point and a second average discharge rate beginning at the time point. Each average discharge rate may be an average discharge rate for a different length of time. For example, the first average discharge rate may be an average discharge rate over a 30 minute period leading up to the time point, while the second average discharge rate may be an average discharge rate beginning at the time point for a 30 minute period following the time point. The combination of the time leading up to the time point and the time following the time point may be defined as a discharge differential range. In some embodiments, the discharge differential value is determined by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the exhaust differential value is determined by a smart thermostat, such as smart thermostat 160 as described above with respect to FIG.

[0142] At block 1414, preemptive and deferred event scores may be determined for preemptive and deferred events that end at each of the multiple time points based on the discharge differential value. The preemptive event score for a preemptive event that ends at a time associated with the discharge differential value may be equal to the discharge differential value. A higher preemptive event score may correspond to a faster increase in the emission rate at that time, whereas a lower preemptive event score may correspond to a slower increase in the emission rate at that time. A deferred event score for a deferred event ending at a time associated with the emission differential value may be equal to a negative emission differential value. A higher deferred event score may correspond to a faster decrease in the emission rate at that time, whereas a lower deferred event score may correspond to a slower decrease in the emission rate at that time. In some embodiments, the preemptive and deferred event scores are determined by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the preemptive and deferred event scores are determined by a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3. At block 1416, a ranking of each preemptive and deferred event may be generated based on the associated preemptive and deferred event scores. In some embodiments, after assigning an event score to each potential load shift event, the system selects an optimal event for reducing carbon emissions based on the event with the best score. Determining the event with the best score may be done in any number of ways, such as by ranking each of the potential load shift events, or using any other suitable algorithm or method.

[0143] At block 1418, an EDR event may be generated for a predetermined future time period based on the ranking of the events. For example, an EDR event may be generated based on the highest ranking event having the highest event score. In some embodiments, the EDR event may be based on a predetermined maximum number of EDR events. For example, if the predetermined maximum number of EDR events is three, generation of additional EDR events may be limited after a third EDR event is generated. The EDR event may be generated by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the EDR event is generated by a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3.

[0144] At block 1420, the thermostat may be caused to control the HVAC system according to the generated EDR event. The generated EDR event may be a preemptive event or a deferred event. The preemptive EDR event may cause the thermostat to adjust the setpoint temperature to increase usage of the HVAC system for a predetermined period of time prior to the end of the preemptive EDR event. During the time the HVAC system is in a cooling mode, the preemptive EDR event may cause the thermostat to lower the setpoint temperature. During the time the HVAC system is in a heating mode, the preemptive EDR event may cause the thermostat to increase the setpoint temperature. The deferred EDR event may cause the thermostat to adjust the setpoint temperature to decrease usage of the HVAC system for a period of time prior to the end of the deferred EDR event. During the time the HVAC system is in a cooling mode, the deferred EDR event may cause the thermostat to increase the setpoint temperature. During the time the HVAC system is in a heating mode, the deferred EDR event may cause the thermostat to decrease the setpoint temperature. In some embodiments, a cloud-based power control server system, such as cloud-based power control server system 110 as described above with respect to FIG. 2, enables a smart thermostat, such as smart thermostat 160 as described above with respect to FIG. 3, to control an HVAC system.

[0145] FIG. 15 illustrates an embodiment of a method 1500 for executing an EDR event based on a limited number of allowed events. In some embodiments, the method 1500 is performed by any or all of the same components as described with respect to the method 1300 described above with respect to FIG. 13. The method 1500 begins at block 1510 with a predetermined number of events. The method may include receiving an emission rate forecast for a future period of time. The emission rate forecast may include a projected carbon emission rate over a predetermined time period in the future. The carbon emission rate may be measured in lbs-CO2 / MWh or any similar unit of measurement. The future period may be any number of hours, including 24 hours into the future. The emission rate forecast may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region. In some embodiments, the emission rate forecast is received by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. The emission rate forecast may be received by a smart thermostat. In some embodiments, a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, receives the emission rate forecast from the cloud-based power control server system 110.

[0146] At block 1512, a discharge differential value may be determined for each of a plurality of time points during a predetermined future period. The discharge differential value may represent a rate of change of the predicted discharge rate at each time point. The discharge differential value may be determined using the discharge rate forecast. For example, the discharge differential value may be determined from a difference between a first average discharge rate ending at the time point and a second average discharge rate beginning at the time point. Each average discharge rate may be an average discharge rate for a different length of time. For example, the first average discharge rate may be an average discharge rate over a 30 minute period leading up to the time point, while the second average discharge rate may be an average discharge rate beginning at the time point for a 30 minute period following the time point. The combination of the time leading up to the time point and the time following the time point may be defined as a discharge differential range. In some embodiments, the discharge differential value is determined by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the exhaust differential value is determined by a smart thermostat, such as smart thermostat 160 as described above with respect to FIG.

[0147] At block 1514, a number of preemptive EDR events previously generated for the predetermined future time period may be determined. Determining the number of preemptive EDR events may include accessing a memory or database of previously generated EDR events. For example, a cloud based power control server system, such as cloud based power control server system 110 as described above with respect to FIG. 2, may access a local or remote database that includes some or all of the EDR events previously generated by the cloud based power control server system. In some embodiments, a smart thermostat, such as smart thermostat 160 as described above with respect to FIG. 3, accesses a memory that includes previously generated EDR events for the predetermined future time period.

[0148] At block 1516, it may be determined that the number of previously generated preemptive EDR events is equal to a maximum number of preemptive events. The maximum number of preemptive events may be any number that reduces the annoyance or irritation experienced by the user. For example, the maximum number may be three preemptive EDR events per day. However, it should be noted that any suitable number may be used to limit the amount of annoyance or irritation experienced by the user. In some embodiments, there may be a maximum number of deferred events. Determining that the number of previously generated preemptive EDR events is equal to the maximum number of preemptive events may be done by a simple comparison of the respective numbers. At block 1518, the generation of additional preemptive EDR events may be limited until after a predetermined future period. Limiting the generation of additional preemptive EDR events may include instead generating deferred EDR events for a predetermined future period. In some embodiments, the limiting includes not evaluating emission differential values ​​having negative values.

[0149] As shown by way of example in Figures 4-15, an EDR event may be generated based on an emission rate forecast covering one or more hours in the future. However, because conditions change, the predicted emission rate may change. For example, changes in weather or electricity generation may affect the generation of carbon emissions. Because emission rates are not constant, the accuracy of the forecast may decrease as the forecast covers more time in the future. Similarly, an EDR event scheduled far into the future may not be effective in reducing carbon emissions if the actual emission rate does not end up matching the predicted emission rate on which the EDR event was based.

[0150] In some embodiments, the system may receive or generate updated forecasts at periodic time intervals. For example, the system may receive a stream of forecasts every 5 minutes, 10 minutes, 15 minutes, or other time intervals with new forecasts for new periods into the future. Once all forecasts are received, the system may evaluate the forecast emission rates using the same or similar methods as described above with respect to FIGS. 4-15. In some embodiments, the optimal schedule of EDR events may be recalculated periodically or from time to time using the latest available forecasts. In some embodiments, existing EDR events that were based on the previous forecasts may be updated by the system based on each new forecast. For example, a modified EDR event with a modified end time may be generated based on the subsequent forecast and sent to the thermostat after the thermostat begins to control the HVAC system according to the initial event, but before the initial end time and / or the modified end time. By recalculating and / or updating existing EDR events periodically or from time to time, the system may improve the accuracy and effectiveness of each EDR event to reduce carbon emissions.

[0151] In some embodiments, EDR events are sent to the thermostat after they are generated, and subsequent updated forecast-based revised EDR events are sent before and / or after the thermostat begins to control the HVAC system according to the initial EDR events. In this manner, an advantageous combination of practicality and immediacy may be provided. Practicality may result from EDR event start and end times being proactively communicated and stored locally at the thermostat to provide a predictable forwarded EDR event that can be executed from start to finish. Immediacy may result from the revised EDR event being communicated and executed in a just-in-time fashion if executable. However, the practicality of the initial EDR event may remain even if a better (i.e., revised) EDR event is not communicated on time, since the suboptimal option (i.e., the initial EDR event) is still executed. When and / or how to determine to update an existing EDR event is discussed further herein with respect to FIGS. 16-25.

[0152] 16A and 16B show a graph 1600 of an updated discharge forecast with an EDR event dispatched based on the updated discharge forecast. Graph 1600 presents the same x-axis 1604 and y-axis 1602 and 1608 as graph 400 described above with respect to FIG. 4. Graph 1600 also shows a thermostat setpoint temperature 1620 with respect to time. Graph 1600 also shows a time 1630 (e.g., 6:00) at which a forecast including a predicted discharge rate 1616 is received and a time 1632 (e.g., 12:00) at which an updated forecast including a predicted discharge rate 1618 is received. Graph 1600 also includes an EDR event 1640.

[0153] In some embodiments, EDR events are not executed until just before their start time. For example, referring to FIG. 16A, the system may generate an EDR event 1640 after receiving a predicted emission rate 1616 at time 1630. However, as shown by the dotted line in FIG. 16A, the EDR event 1640 has not yet been executed or dispatched to the thermostat for execution. Waiting to execute the EDR event may result in the system generating an EDR event 1640. By doing so, the system may improve the chances that each EDR event is based on the best available forecast and can take into account potential changes in the forecast before executing the event. In some embodiments, the system only executes an EDR event if it is too late to execute the event after waiting for the next available forecast. For example, as shown by FIG. 16B, the system may determine that a new forecast including a predicted discharge rate 1618 is received at a time 1632 before the scheduled start time of an event 1640. In some embodiments, the system determines when the next forecast is available based on the time since the last forecast was received or generated and the interval at which the forecasts are received or generated.

[0154] In some embodiments, after receiving an updated forecast, the system may determine that there is no change or sufficient change in the forecasted emission rate between the most recent forecast and the previous forecast to warrant a change in the EDR event. For example, as shown by FIG. 16A and FIG. 16B, the forecasted emission rate did not change between time 1630 and time 1632. In some embodiments, if the amount of change in the updated forecast is less than a threshold amount, the previously generated EDR event is maintained. After determining that the forecasted emission rate has not changed or that no change has occurred that exceeds the threshold, the system may determine that the updated forecast is the last available forecast before the scheduled start time of the EDR event and may proceed to execute the EDR event. For example, the system may determine that the next available forecast will be at 18:00, which is later than the scheduled start time of the EDR event 1640. As shown by the solid line in FIG. 16B, the system may execute the EDR event 1640 and / or dispatch the EDR event 1640 to the thermostat for execution at the appropriate time.

[0155] 17A and 17B show a graph 1700 of an updated discharge forecast with an EDR event dispatched early based on a change in the updated discharge forecast. Graph 1700 depicts the same x-axis 1704 and y-axis 1702 and 1708 as graph 400 described above with respect to FIG. 4. Graph 1700 also depicts a thermostat setpoint temperature 1720 with respect to time. Graph 1700 also depicts a time 1730 (e.g., 6:00) at which a forecast including a predicted discharge rate 1716 is received and a time 1732 (e.g., 12:00) at which an updated forecast including a predicted discharge rate 1718 is received. Graph 1700 also includes an EDR event 1740.

[0156] As shown in FIG. 17A, the system may generate an EDR event 1740 after receiving a forecasted discharge rate 1716 at time 1730. Because the forecast received at time 1730 predicted a decrease in discharge rate at 18:00, the EDR event 1740 may be scheduled to end at approximately 18:00. In some embodiments, after receiving an updated forecast, the system proceeds to determine whether the updated forecast predicts a particular discharge rate change to occur at an earlier time than predicted in the previous forecast. For example, as shown in FIG. 17A, the forecasted discharge rate 1716 received at time 1730 indicated a decrease in discharge rate at approximately 18:00. However, as shown in FIG. 17B, the forecasted discharge rate 1718 received at time 1732 indicates that the decrease in discharge rate will now occur at approximately 15:00.

[0157] In some embodiments, after determining that the emission rate change will occur at an earlier time, the system updates the EDR event to coincide with the updated time for the emission rate change. For example, as shown in FIG. 17B, EDR event 1740 is now scheduled to end at approximately 15:00 to coincide with the predicted decrease in emission rate. After updating the EDR event, the system may determine that the updated forecast is the last available forecast before the scheduled start time of the EDR event, and may update the EDR event accordingly. For example, the system may determine that the next available forecast is for 18:00, which is later than the scheduled start time of the EDR event 1740. As shown by the solid line in FIG. 17B, the system may execute the EDR event 1740 and / or dispatch the EDR event 1740 to the thermostat for execution at the appropriate time.

[0158] In some embodiments, the system updates the EDR event only if the change between predictions is greater than a threshold amount. For example, if a subsequent emission rate prediction indicates that a predicted increase or decrease in emission rate is predicted to occur more than 5 minutes before the originally predicted time, the EDR event is updated based on the subsequent emission rate prediction. In other embodiments, the threshold may be 10 minutes, 15 minutes, 30 minutes, or other suitable amount of time. Additional thresholds may be used to limit the amount of updates to the EDR event, such as a threshold change in duration and / or a threshold change in emission amount.

[0159] 18A and 18B show a graph 1800 of an updated emissions forecast with a delayed EDR event based on the updated emissions change. Graph 1800 depicts the same x-axis 1804 and y-axis 1802 and 1808 as graph 400 described above with respect to FIG. 4. Graph 1800 also depicts a thermostat setpoint temperature 1820 with respect to time. Graph 1800 also depicts a time 1830 (e.g., 6:00) at which a forecast including a predicted emissions rate 1816 is received and a time 1832 (e.g., 12:00) at which an updated forecast including a predicted emissions rate 1818 is received. Graph 1800 also includes an EDR event 1840.

[0160] As shown in FIG. 18A, the system may generate an EDR event 1840 after receiving a forecasted discharge rate 1816 at time 1830. Because the forecast received at time 1830 predicted a decrease in discharge rate at 15:00, the EDR event 1840 may be scheduled to end at approximately 15:00. In some embodiments, after receiving an updated forecast, the system proceeds to determine whether the updated forecast predicted a particular discharge rate change to occur at a later time than predicted in the previous forecast. For example, as shown in FIG. 18A, the forecasted discharge rate 1816 received at time 1830 indicated a decrease in discharge rate at approximately 15:00. However, as shown in FIG. 18B, the forecasted discharge rate 1818 received at time 1832 indicates that the decrease in discharge rate will now occur at approximately 18:00.

[0161] In some embodiments, after determining that the emission rate change will occur at a later time, the system may delay the EDR event to coincide with the updated time for the emission rate change. For example, as shown in FIG. 18B, the EDR event 1840 is now scheduled to end at approximately 18:00 to coincide with the predicted decrease in emission rate. After updating the EDR event, the system may determine that the updated forecast is not the last available forecast before the scheduled start time of the EDR event and may wait until the next available forecast is received before executing the EDR event. For example, the system may determine that the next available forecast will be 14:00, which is earlier than the scheduled start time of the EDR event 1840. As shown by the dotted line in FIG. 18B, the system may wait to execute the EDR event 1840 and / or dispatch the EDR event 1840 to the thermostat for execution until an appropriate time after approximately 14:00. In some embodiments, the system may determine that the updated forecast is the last available forecast before the scheduled start time of the EDR event and may proceed to execute the EDR event.

[0162] In some embodiments, the system delays the EDR event only if the change between predictions is greater than a threshold amount. For example, if a subsequent emission rate prediction is greater than the predicted emission rate If an EDR event indicates that an increase or decrease in is predicted to occur more than 5 minutes after the originally predicted time, the EDR event is updated based on the subsequent emission rate forecast. In other embodiments, the threshold may be 10 minutes, 15 minutes, 30 minutes, or other suitable amount of time. Additional thresholds may be used to limit the amount of updates to the EDR event, such as a threshold change in duration and / or a threshold change in emission amount.

[0163] 19A and 19B show a graph 1900 of an updated discharge forecast with a restriction on dispatching an EDR event early based on a previously dispatched EDR event. Graph 1900 presents the same x-axis 1904 and y-axis 1902 and 1908 as graph 400 described above with respect to FIG. 4. Graph 1900 also shows a thermostat setpoint temperature 1920 with respect to time. Graph 1900 also shows a time 1930 (e.g., 6:00) at which a forecast including a predicted discharge rate 1916 is received and a time 1932 (e.g., 12:00) at which an updated forecast including a predicted discharge rate 1918 is received. Graph 1900 also includes EDR events 1936 and 1940.

[0164] As shown in FIG. 19A, the system may generate EDR events 1936 and 1940 after receiving a forecast including a predicted discharge rate 1916 at time 1930. As shown by the solid line in FIG. 19B, the EDR event 1936 may have already been performed by the system before time 1932 when the updated forecast is received. In some embodiments, after receiving the updated forecast, the system determines that the updated forecast predicts that a particular discharge rate change will occur at an earlier time than predicted in the previous forecast. For example, as shown in FIG. 19A, the predicted discharge rate 1916 received at time 1930 indicated a decrease in discharge rate at approximately 18:00. However, as shown in FIG. 19B, the predicted discharge rate 1918 received at time 1932 now indicates that the decrease in discharge rate will occur at approximately 15:00.

[0165] In some embodiments, after determining that the emission rate change occurs at an earlier time, the system determines whether there are any constraints that limit the system from updating the EDR event based on the updated forecast. In some embodiments, the system is limited to scheduling the EDR event within a minimum amount of time of other EDR events. For example, as shown by FIG. 19B, the system may be limited to updating the EDR event 1940 to coincide with the updated time for the emission rate change because the time span 1944 between the EDR event 1936 and the EDR event 1940 is less than a predetermined minimum amount of time between the EDR events. Additional constraints are further described above with respect to FIG. 10 and FIG. 11. In some embodiments, after determining that the constraints limit the modification of the event, the system cancels the EDR event and generates a new EDR event at a later time that is consistent with a different emission rate change. In some embodiments, after determining that the constraints limit the given modification, the system identifies an alternative modification, such as reducing the event duration.

[0166] 20A and 20B show a graph 2000 of an updated emission forecast with a restriction on delaying an EDR event based on a restricted time of day. Graph 2000 depicts the same x-axis 2004 and y-axis 2002 and 2008 as graph 400 described above with respect to FIG. 4. Graph 2000 also depicts a thermostat setpoint temperature 2020 with respect to time. Graph 2000 also depicts a time 2030 (e.g., 6:00) at which a forecast including a predicted emission rate 2016 is received and a time 2032 (e.g., 12:00) at which an updated forecast including a predicted emission rate 2018 is received. Graph 2000 also includes an EDR event 2040.

[0167] As shown in FIG. 20A, the system starts at a predicted discharge rate 201 at time 2030. 20B, the system may generate an EDR event 2040 after receiving forecast 2030. The EDR event 2040 may be scheduled to end at approximately 15:00 because the forecast received at time 2030 predicted a decrease in the emission rate at 15:00. In some embodiments, after receiving the updated forecast, the system proceeds to determine whether the updated forecast predicts that a particular emission rate change will occur at a later time than predicted in the previous forecast. For example, as shown in FIG. 20A, the forecast emission rate 2016 received at time 2030 indicated a decrease in the emission rate at approximately 15:00. However, as shown in FIG. 20B, the forecast emission rate 2018 received at time 2032 indicates that the decrease in the emission rate will now occur at approximately 18:00.

[0168] In some embodiments, after determining that the emission rate change occurs at a later time, the system determines whether there are any constraints that limit the system from updating the EDR event based on the updated forecast. In some embodiments, the system is limited to scheduling the EDR event for a certain time of day. For example, as shown by FIG. 20B, the system may be limited to updating the EDR event 2040 to coincide with the updated time for the emission rate change because the EDR event 2040 ends after the restricted time 2028 begins. As another example, the system may be limited to updating the EDR event to be earlier when it conflicts with the restricted time of day. Additional constraints are further described above with respect to FIG. 10 and FIG. 11. In some embodiments, after determining that the constraints limit the modification of the event, the system cancels the EDR event and generates a new EDR event at a later time that coincides with the different emission rate change.

[0169] 21A and 21B show a graph 2100 of an updated emission forecast with an extended end time of a dispatched EDR event based on a change in the updated emission forecast. Graph 2100 presents the same x-axis 2104 and y-axis 2102 and 2108 as graph 400 described above with respect to FIG. 4. Graph 2100 also shows a thermostat setpoint temperature 2120 with respect to time. Graph 2100 also shows a time 2130 (e.g., 6:00) when a forecast including a predicted emission rate 2116 is received and a time 2132 (e.g., 12:00) when an updated forecast including a predicted emission rate 2118 is received. Graph 2100 also includes an EDR event 2140.

[0170] As shown in FIG. 21A, the system may generate an EDR event 2140 after receiving a forecast at a time 2130 (e.g., 12:00) that includes a predicted discharge rate 2116. In some embodiments, after receiving the forecast, the system proceeds to determine if the forecast is the last available forecast before the scheduled start time of the EDR event and proceeds to execute the EDR event or to have the thermostat execute the EDR event at the appropriate time. For example, as shown in FIG. 21A and FIG. 21B, the system may determine that the next available forecast is a time 2132 (e.g., 14:00) later than the scheduled start time of the EDR event 2140 (e.g., 13:00). In some embodiments, the system determines when the next forecast is available based on the time since the last forecast was available and the interval between forecasts.

[0171] In some embodiments, while an EDR event is currently running, the system receives an updated forecast and determines that the updated forecast predicts that a particular emission rate change will occur at a later time than predicted in the previous forecast. For example, as shown in FIG. 21A, a forecasted emission rate 2116 received at time 2130 indicated a decrease in emission rate at approximately 15:00. However, as shown in FIG. 21B, a forecasted emission rate 2118 received at time 2132 indicates that the decrease in emission rate will now occur at approximately 17:00. This indicates that.

[0172] In some embodiments, after determining that the discharge rate change will occur at a later time, the system may extend the event based on the updated forecast. For example, as shown in FIG. 21B, the system may extend the end of the EDR event 2140 to coincide with the predicted decrease in the predicted discharge rate 2118 at approximately 17:00. In some embodiments, adjusting the end time includes generating and sending a modified EDR event having a modified end time that is later than the end time of the compared initial EDR event, in this case. In some embodiments, when the EDR event is in progress, the system may periodically or occasionally adjust the end time based on the most recent available forecast, and end the EDR event only if the next available forecast is received later than the currently scheduled end time for the EDR event. For example, as shown in FIG. 21B, the system may determine that the next available forecast will be at 15:00, which is earlier than the scheduled end time 2142 of the EDR event 2140. As indicated by the dotted lines in FIG. 21B, the system may wait to end the EDR event 2140 and / or cause the thermostat to end the EDR event 2140 until after receiving the next available updated forecast.

[0173] In some embodiments, the system is limited from extending an EDR event beyond a predetermined amount of time. For example, to minimize user discomfort and irritation caused by longer EDR events, the system may include a constraint that specifies a maximum allowable event duration, and the system may be limited from extending an EDR event once the event duration reaches the maximum allowable duration. In some embodiments, the system is limited from extending an EDR event beyond a predetermined amount of time by other constraints. For example, as described above with respect to Figures 10 and 11, the system may be limited by a predetermined time of day or by additional previously scheduled EDR events.

[0174] In some embodiments, the system extends the EDR event only if the change between predictions is greater than a threshold amount. For example, if a subsequent emission rate prediction indicates that a predicted increase or decrease in emission rate is predicted to occur more than 5 minutes later than originally predicted, the EDR event is updated based on the subsequent emission rate prediction. In other embodiments, the threshold may be 10 minutes, 15 minutes, 30 minutes, or other suitable amount of time. Additional thresholds may be used to limit the amount of updates to the EDR event, such as a threshold change in duration and / or a threshold change in emission amount.

[0175] 22A and 22B show a graph 2200 of an updated discharge forecast with an EDR event terminating early based on a change in the updated discharge forecast. Graph 2200 presents the same x-axis 2204 and y-axis 2202 and 2208 as graph 400 described above with respect to FIG. 4. Graph 2200 also shows a thermostat setpoint temperature 2220 with respect to time. Graph 2200 also shows a time 2230 (e.g., 6:00) at which a forecast including a predicted discharge rate 2216 is received and a time 2232 (e.g., 12:00) at which an updated forecast including a predicted discharge rate 2218 is received. Graph 2200 also includes an EDR event 2240.

[0176] As shown in FIG. 22A, the system may generate an EDR event 2140 after receiving a forecast at a time 2230 (e.g., 12:00) that includes a predicted discharge rate 2216. In some embodiments, after receiving the forecast, the system determines whether the forecast is the last available forecast before the scheduled start time of the EDR event and proceeds to execute the EDR event or have the thermostat execute the EDR event at the appropriate time. For example, as shown in FIG. 22A and FIG. 22B, the system The system may determine that the next available forecast will be at a time 2232 (eg, 14:00) later than the scheduled start time of the EDR event 2240 (eg, 13:00).

[0177] In some embodiments, while an EDR event is currently running, the system receives an updated forecast and determines that the updated forecast predicts that a particular emission rate change will occur at an earlier time than predicted in the previous forecast. For example, as shown in Figure 22A, the predicted emission rate 2216 received at time 2230 indicated a decrease in emission rate at approximately 17:00. However, as shown in Figure 22B, the predicted emission rate 2218 received at time 2232 indicates that the decrease in emission rate will now occur at approximately 15:00.

[0178] In some embodiments, after determining that the emission rate change will occur at an earlier time, the system shortens the event based on the updated forecast. For example, as shown by FIG. 22B, the system may update the end of the EDR event 2240 to coincide with the predicted decrease in the predicted emission rate 2218 at approximately 15:00. After updating the EDR event, the system may determine that the updated forecast will be the last available forecast before the scheduled end time of the EDR event and proceed to end the EDR event at the appropriate time or to have the thermostat end the EDR event. For example, the system may determine that the next available forecast will be at 18:00, which is later than the scheduled end time of the EDR event 2240. In some embodiments, adjusting the end time includes generating and transmitting a modified EDR event with a modified end time that is earlier than the end time of the compared, in this case, the initial EDR event. In some embodiments, an EDR event is only shortened when the change between predictions is greater than a threshold amount, such as 5 minutes, 10 minutes, 15 minutes, or any other suitable unit of time earlier than the originally predicted end time.

[0179] Various methods may be performed using the systems detailed above in FIGS. 1-3 to implement EDR events as detailed above in FIGS. 16A-22B. FIG. 23 illustrates an embodiment of a method 2300 for managing EDR events based on updated emissions. In some embodiments, the method 2300 is performed by a cloud-based power control server system, such as the cloud-based power control server system 110 described above in FIG. 2. For example, the processing system 219 of the cloud-based power control server system 110 may execute software from one or more modules, such as the event scheduler 213, the constraint engine 214, and / or the forecasting engine 217. In some embodiments, the method 2300 is performed by a smart device, such as the smart thermostat 160 described above in FIG. 3. For example, the processing system 319 of the smart thermostat 160 may execute software from one or more modules, such as the event scheduler 314 and the constraint engine 315. In some embodiments, some steps of method 2300 are performed by a cloud-based power control server system, such as cloud-based power control server system 110, while other steps are performed by a smart device, such as smart thermostat 160.

[0180] The method 2300 may include, at block 2310, obtaining a plurality of emission rate forecasts at different times. The plurality of emission rate forecasts may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region. In some embodiments, the plurality of emission rate forecasts are generated by the cloud-based power control server system using data collected from one or more sources, such as a power company and a weather forecasting agency. The plurality of emission rate forecasts may be generated every 5 minutes, every 15 minutes, or every 24 hours. The emission rate forecasts may be obtained at regular intervals, such as every 30 minutes. For example, the cloud-based power control server system may send a request to an external service at regular intervals and receive new emission rate forecasts in response. In some embodiments, the emission rate forecasts are received by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. The emission rate forecasts may also be received by a smart thermostat. In some embodiments, a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, receives the emission rate forecasts from the cloud-based power control server system 110. Each emission rate forecast in the plurality may include a predicted rate of carbon emissions over a future predetermined period of time, such as described above with respect to FIG. 4.

[0181] In block 2312, an EDR event may be generated based on a first emission rate forecast of the multiple emission rate forecasts. The EDR event may be generated according to any of the methods as described above with respect to FIGS. 13-15. For example, the EDR event may be generated with an end time corresponding to a time of an emission differential value calculated from the first emission rate forecast. The first emission rate forecast may be any emission rate forecast received at any time. In some embodiments, the EDR event is generated by the event scheduler 213 of the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, after the EDR event is generated, the EDR event is sent to the thermostat and stored by the thermostat until a start time of the EDR event, at which the thermostat may begin to control the HVAC system according to the EDR event. In some embodiments, the EDR event is generated by the event scheduler 314 of the smart thermostat 160 as described above with respect to FIG. 3. The EDR event may be a preemptive EDR event or a deferred EDR event.

[0182] At block 2314, a subsequent emission rate forecast may be obtained from the plurality of emission rate forecasts. In some embodiments, the subsequent forecast is obtained after an EDR event is generated. The subsequent emission rate forecast may be the next available emission rate forecast received after the first emission rate forecast. In some embodiments, the subsequent emission rate forecast may be any subsequent forecast after an EDR event is generated that indicates a change in the predicted emission rate during a particular time of interest. For example, a first forecast may forecast an increase in emission rate 10 hours from the time the first forecast was received. After 5 hours and multiple similar forecasts, a new forecast may now forecast that the same increase will occur in 4 hours instead of 5 hours as originally predicted by the first emission rate forecast.

[0183] At block 2316, the generated EDR event may be modified based on subsequent emission rate forecasts. In some embodiments, the generated EDR event is modified based on the difference in the predicted emission rate between the first emission rate forecast and the subsequent emission rate forecast. For example, if the EDR event was generated based on an emission rate increase predicted by the first forecast, the EDR event may be updated to occur sooner based on a subsequent forecast that predicts that the increase will occur sooner than originally predicted. In some embodiments, the generated EDR event is modified based on multiple subsequent emission rate forecasts. For example, if the EDR event was generated based on an emission rate increase predicted by a first emission rate forecast, the EDR event may be delayed if a second forecast indicates an increase at a later time. Furthermore, the EDR event may be delayed again after a third forecast indicates an increase at an even later time than the second forecast. In some embodiments, the EDR event is modified using any of the same methods used to initially generate the event as described above with respect to FIGS. 13-15.

[0184] In some embodiments, the same constraints as described above with respect to FIGS. However, the above constraints also apply to modifying an EDR event. For example, there may be a constraint against delaying an event when it overlaps with a restricted time of day. As another example, there may be a constraint against modifying an event to be earlier if it is too close to an event that has already taken place. In some embodiments, an EDR event is only modified if the difference in the subsequent emission rate prediction is greater than a threshold change amount. For example, if the emission rate reduction is predicted to occur less than 5 minutes later than originally predicted, the EDR event may not be modified. In other embodiments, the threshold may be 10 minutes, 15 minutes, 30 minutes, or other suitable amount of time.

[0185] At block 2318, the thermostat may be caused to control the HVAC system according to the modified EDR event. The thermostat may be caused to control the HVAC system according to any of the methods as described above with respect to FIGS. 13-15. For example, at the start time of the EDR event, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease the use of the HVAC system depending on whether the HVAC system is in a heating mode or a cooling mode. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, causes a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0186] FIG. 24 illustrates an embodiment of a method 2400 for dispatching an EDR event last based on an updated emission forecast. In some embodiments, the method 2400 is performed by any or all of the same components as described with respect to the method 2300 described above with respect to FIG. 23. The method 2400 may include, at block 2410, obtaining a plurality of emission rate forecasts at different times. The plurality of emission rate forecasts may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region. In some embodiments, the plurality of emission rate forecasts may be generated by the cloud-based power control server system using data collected from one or more sources, such as a power company and a weather forecasting agency. The plurality of emission rate forecasts may be obtained at regular intervals, such as every 5 minutes, every 15 minutes, or every 30 minutes. For example, the cloud-based power control server system may send a request to an external service at regular intervals and receive a new emission rate forecast in response. In some embodiments, the plurality of emission rate forecasts are received by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIGURE 2. The plurality of emission rate forecasts may be received by a smart thermostat. In some embodiments, a smart thermostat, such as the smart thermostat 160 as described above with respect to FIGURE 3, receives the plurality of emission rate forecasts from the cloud-based power control server system 110. Each emission rate forecast in the plurality may include a projected carbon emission rate for a predetermined period of time into the future, as described above with respect to FIGURE 4.

[0187] At block 2412, an EDR event may be generated based on a first emission rate forecast of the plurality of emission rate forecasts. The EDR event may be generated according to any of the methods as described above with respect to FIGS. 13-15. For example, the EDR event may be generated with an end time corresponding to a time of an emission differential value calculated from the first emission rate forecast. The first emission rate forecast may be any emission rate forecast received at any time. In some embodiments, the EDR event is generated by the event scheduler 213 of the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the EDR event is generated by the event scheduler 314 of the smart thermostat 160 as described above with respect to FIG. 3. The EDR event may be a preemptive EDR event or a deferred EDR event. .

[0188] In block 2414, the next available emission rate forecast may be determined to be later than the scheduled start time of the generated emission demand response event. For example, if the generated emission demand response event is scheduled to start in 15 minutes, the next available emission rate forecast may not be available for the next 30 minutes. In block 2416, after determining that the next available forecast will be received after the scheduled start time, the start time may be set to start at the scheduled start time that is before the next available forecast is received. In some embodiments, generating an EDR event may only generate future EDR events that may be subject to modification by a method such as method 2300 described above with respect to FIG. 23. For example, as subsequent emission rate forecasts are received, the start and end times may be modified based on the new forecast for the emission rate. In some embodiments, once the last available emission rate forecast is received before the future start time of the EDR event, the final start time of the EDR event is set, and then the EDR event is executed by the thermostat.

[0189] At block 2418, the thermostat may be caused to control the HVAC system according to the modified EDR event. The thermostat may be caused to control the HVAC system according to any of the methods described above with respect to FIGS. 13-15. For example, at the start time of the EDR event, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease usage of the HVAC system depending on whether the HVAC system is in heating or cooling mode. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, causes a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0190] FIG. 25 illustrates an embodiment of a method 2500 for modifying an EDR event based on an updated emission forecast. In some embodiments, the method 2500 is performed by any or all of the same components as described with respect to the method 2300 described above with respect to FIG. 23. The method 2500 may include, at block 2510, obtaining a plurality of emission rate forecasts at different times. The plurality of emission rate forecasts may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region. In some embodiments, the plurality of emission rate forecasts are generated by the cloud-based power control server system using data collected from one or more sources, such as a power company and a weather forecast service. The plurality of emission rate forecasts may be obtained at regular intervals, such as every 5 minutes, every 15 minutes, or every 30 minutes. For example, the cloud-based power control server system may send a request to an external service at regular intervals and receive a new emission rate forecast in response. In some embodiments, the plurality of emission rate forecasts are received by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIGURE 2. The plurality of emission rate forecasts may be received by a smart thermostat. In some embodiments, a smart thermostat, such as the smart thermostat 160 as described above with respect to FIGURE 3, receives the plurality of emission rate forecasts from the cloud-based power control server system 110. Each emission rate forecast in the plurality may include a projected carbon emission rate for a predetermined period of time into the future, as described above with respect to FIGURE 4.

[0191] In block 2512, an EDR event may be generated based on a first emission rate forecast of the plurality of emission rate forecasts. The EDR event may be generated according to any of the methods described above with respect to Figures 13-15. For example, the EDR event may be generated based on a first emission rate forecast of the plurality of emission rate forecasts. The first emission rate forecast may be generated with an end time corresponding to the time of the emission differential value calculated from the rate forecast. The first emission rate forecast may be any emission rate forecast received at any time. In some embodiments, the EDR event is generated by the event scheduler 213 of the cloud based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the EDR event is generated by the event scheduler 314 of the smart thermostat 160 as described above with respect to FIG. 3. The EDR event may be a preemptive EDR event or a deferred EDR event.

[0192] At block 2514, the thermostat may be caused to control the HVAC system according to the generated EDR event. The thermostat may be caused to control the HVAC system according to any of the methods described above with respect to FIGS. 13-15. For example, at the start time of the EDR event, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease usage of the HVAC system depending on whether the HVAC system is in a heating mode or a cooling mode. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, causes a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0193] At block 2516, a subsequent emission rate forecast may be obtained from the plurality of emission rate forecasts. In some embodiments, the subsequent forecast is obtained after the thermostat has been caused to control the HVAC system according to the generated EDR event. In some embodiments, an additional emission rate forecast is received after the thermostat has been caused to control the HVAC system according to the initiation of the generated EDR event. In some embodiments, the subsequent forecast may include a new forecast for the emission rate over the time that the EDR event is scheduled to be running. For example, a previous forecast received before the EDR event began may have predicted that there will be an increase in the emission rate at the same time that the EDR event is scheduled to end. However, the subsequent forecast may predict that the increase will now occur sooner or later than the previously predicted time.

[0194] In block 2518, the end time of the EDR event may be modified based on the subsequent emission rate forecast. In some embodiments, a modified EDR event may be generated and sent to the thermostat, and the thermostat may begin to control the HVAC system according to the modified end time of the modified EDR event. In some embodiments, the end time of the ongoing EDR event may be set to an earlier time based on the subsequent forecast. For example, if the subsequent forecast predicts that the emission rate will increase sooner than previously predicted, the end time of the EDR event may be set to coincide with the newly predicted time of the emission rate increase. In some embodiments, the ongoing EDR event may not be terminated until the forecast indicates that it is too late to end the EDR event after waiting until the next available emission rate forecast. For example, if a recent forecast predicts that the emission rate will increase in 5 minutes and the next available forecast is received in 30 minutes, the system may terminate the EDR event to coincide with the predicted time of the emission rate increase. As another example, if a recent forecast predicts that the emission rate will increase in 30 minutes and the next available forecast is received in 15 minutes, the system may wait to terminate the EDR event until after the next available forecast is received. In some embodiments, an ongoing EDR event continues to be extended until a maximum event duration is reached. For example, if each subsequent forecast predicts a later time for the predicted rate increase, the system may continue to extend the duration of the event until a maximum event duration limit is reached, at which point the system may terminate the EDR event when the maximum duration limit is reached.

[0195] At block 2520, the thermostat may be caused to control the HVAC system according to the modified EDR event. The thermostat may be caused to control the HVAC system according to any of the methods described above with respect to FIGS. 13-15. For example, at the start time of the EDR event, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease usage of the HVAC system depending on whether the HVAC system is in a heating mode or a cooling mode. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, causes a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0196] As shown above by way of example in Figures 4-25, EDR events may be generated and modified based on emission rate forecasts covering one or more hours in the future. Additional constraints may be used during generation and modification to help minimize the amount of user discomfort or annoyance experienced by the user. However, some users may express more or less willingness to tolerate temperature control fluctuations caused by their participation in EDR events compared to other users. For example, some users may be keen to reduce as much of their carbon footprint as possible by participating in all possible EDR events to the maximum extent possible. Alternatively, other users may only be willing to sacrifice a small amount of comfort to reduce carbon emissions.

[0197] In some embodiments, these differences between users may be taken into account by providing user account participation levels. For example, users associated with a user account may select different participation levels, with lower participation levels corresponding to fewer and / or shorter duration EDR events between EDR events, whereas higher participation levels corresponding to more and / or longer duration EDR events. In some embodiments, the level of participation may be set to unlimited until or for a shorter period of time that the user associated with the user account modifies it. For example, the system may identify a span of time, such as several days or a week, and provide the user with an opportunity to increase the user account's level of participation for that span of time, after which the participation level reverts to the previous level. In some embodiments, the level of participation may be determined by other actions taken by the user associated with the user account. For example, when adjustments to the setpoint temperature of a thermostat mapped to the user account are made during multiple EDR events, the system may identify trends between each adjustment and modify the user account level of participation for future events. Determining a level of participation and generating events based on the level of participation is discussed further herein with respect to Figures 26-30.

[0198] Figure 26 shows a graph 2600 of weather forecasts against historical emission rates for the same time of year. Graph 2600 displays the same x-axis 2604 and y-axis 2602 as graph 400 described above with respect to Figure 4. The right vertical axis 2608 shows the forecasted average temperature in degrees Fahrenheit. Graph 2600 shows historical emission rates 2612 over a given period of time. Graph 2600 also shows the current date 2616 and the average temperature forecast 2620.

[0199] In some embodiments, the system obtains actual emission rates for one or more cities or regions. For example, the historical data engine 215 of the cloud-based power control server system 110 may collect actual emission rates from a power company or a third-party database. In some embodiments, the system may collect and store actual emission rates for each day of the calendar year for any number of years in the past. The actual emission rates are analyzed to determine trends and average emission rates over time. For example, the system may determine a historical emission rate for each calendar day of the year based on the average emission rates for each of those days in the past few years. In some embodiments, the historical emission rates for the day are also obtained from various sources that collect and store actual emission rates.

[0200] In some embodiments, the actual emission rates are analyzed to identify historical periods of higher emissions. A higher emission may be defined as a period in which emissions are, on average, 10% greater than the long-term average over a longer duration. For example, a given day may be defined as having a higher emission if it is expected to produce at least 10% higher emissions than for the monthly average. In other embodiments, the percentage may vary, such as 5%, 15%, 20%, or other larger or smaller values. Alternatively, a higher emission may be defined as a period in which emissions are expected to be 10% higher than the same period in the past. For example, a given week may be defined as having a higher emission if it is expected to produce at least 10% higher emissions than the same week of the year in the previous year. In other embodiments, the percentage may vary, such as 5%, 15%, 20%, or other larger or smaller values.

[0201] In some embodiments, historical periods of higher emissions are analyzed to predict future periods of higher emissions. Future periods of higher emissions may be determined from repeated higher emissions for the same period in previous years. For example, because emission rates were generally higher at the end of July compared to the beginning of July, as shown by historical emission rates 2612, the system may determine that emission rates are likely to be higher at the end of July in the future. In some embodiments, weather forecasts are used to refine the predicted future periods of higher emissions. For example, if a 10-day average high temperature forecast indicates that a heat wave is coming at the end of July, as shown by average temperature forecast 2620, the system may determine that the predicted emission rates are more likely to increase at the end of July.

[0202] In some embodiments, additional data is used to improve accuracy, such as historical temperatures. For example, if the forecasted temperature is similar to the historical temperature, the system may determine that the emission rate for that time period will also be similar to the historical emission rate. As another example, if the forecasted temperature is higher or lower than the historical temperature, the system may determine that the actual emission rate for that time period will be higher or lower, respectively, than the historical rate. In some embodiments, these predictions may be made by various components of the cloud-based power control server system 110, such as the forecasting engine 217.

[0203] In some embodiments, a prediction that higher emissions will occur during an extended period of time may be used as an opportunity to increase the quantity and magnitude of EDR events generated for that period. For example, the system may identify high emission weeks 2624 as an opportunity to further reduce carbon emissions by generating more EDR events during high emission weeks 2624 that typically occur during other periods of the year. High emission weeks 2624 are approximately one week in this example, although any suitable period of time may be used, such as five days, one week, two weeks, and / or one month.

[0204] In some embodiments, a user associated with a user account may increase the level of participation in EDR events during periods when higher emissions are expected to occur. For example, the user management module 216 of the cloud-based power control server system 110 may send a notification to a user account and a linked smart thermostat notifying the user that a period of expected high emissions exists and notifying the user associated with the account of the expected period of high emissions. This provides an opportunity to increase the number or magnitude of EDR events during the interval.

[0205] In some embodiments, a user account with an increased level of participation in EDR events will cause a thermostat linked to the user account to receive more EDR events per day. For example, instead of a thermostat receiving up to three EDR events per day, the thermostat may receive up to six EDR events per day after the level of participation in EDR events associated with the user account is increased. In some embodiments, a user account with an increased level of participation in EDR events will cause a thermostat linked to the user account to receive EDR events of a greater magnitude. For example, instead of receiving EDR events with a maximum duration of one hour or a maximum setpoint deviation of two degrees, a thermostat linked to a user account with a higher level of EDR participation may receive EDR events with a setpoint deviation of greater than one hour and / or greater than two degrees.

[0206] In some embodiments, a user associated with a user account selects from two available participation levels. In other embodiments, there are three, four, five or more participation levels to choose from. In some embodiments, a user associated with a user account can define the level of participation for the user account by individually increasing or decreasing certain settings, such as the maximum number of events per day, the maximum event duration, and / or the maximum set point temperature adjustment.

[0207] 27A and 27B show a graph 2700 of revised event participation levels based on cancelled EDR events. Graph 2700 presents the same x-axis 2704 and y-axis 2702 and 2708 as graph 400 described above with respect to FIG. 4. Graph 2700 also shows thermostat setpoint temperature 2720 over time and predicted discharge rate 2716 over time. Graph 2700 also shows time 2730 (e.g., 6:00) before any scheduled EDR event is executed and time 2732 (e.g., 12:00) after EDR event 2740 is executed. As shown in FIG. 27A, multiple EDR events may be scheduled for a 24-hour period, such as EDR events 2740, 2744, and 2748. In some embodiments, the number of EDR events generated per day may be based on the participation level of a particular user account. For example, as shown in Figure 27A, a user account set at an increased participation level may receive three EDR events per day instead of two events per day. More generally, a user account set at a higher level of participation may receive at least one additional EDR event within a given period, such as a day or week, than a user account set at a lower level of participation.

[0208] In some embodiments, an EDR event may be canceled by a person overriding the setpoint temperature of a thermostat while it is in progress. For example, as shown in FIG. 27B, a person may adjust the setpoint temperature 2720 back to the previous setting after the event 2740 has already started and the setpoint temperature 2720 has been increased. Thus, a person may cancel an EDR event at any point during its execution. For example, an EDR event 2740 may be scheduled to end in two hours. However, a person may only begin to become uncomfortable with the temperature change after the EDR event 2740 has been in progress for an hour. There may be any number of reasons why a user may want to cancel an EDR event early. For example, it may take some people longer or shorter to realize that the temperature has increased or decreased, in which case the event may initially be scheduled longer than is acceptable for a particular user account than for other user accounts.

[0209] In some embodiments, an adjustment to a thermostat while an EDR event is in progress does not result in any change to the thermostat's or associated user account's participation in future EDR events. For example, an adjustment to the setpoint temperature 2720 during an EDR event 2740 may only cancel the ongoing event; all future events will still occur as originally scheduled. As another example, if the setpoint temperature is adjusted in the same direction as the adjustment for the EDR event, the system may interpret this as a new setpoint temperature going forward and may make the same magnitude departure from the new setpoint temperature for future events. However, an adjustment in the opposite direction (e.g., away from the EDR event departure) may indicate that someone associated with the thermostat's user account will make a similar adjustment during a future EDR event, thereby reducing the system's ability to optimize carbon emission reduction.

[0210] In some embodiments, the EDR participation level associated with the user account is reduced based on the adjustment during the EDR event. For example, if a user associated with the user account selects to participate in an increased number of EDR events over a predetermined period of time, one or more adjustments to the setpoint temperature of a thermostat associated with the user account during the EDR event may be interpreted as an indication that the person associated with the user account no longer wishes to participate in the increased number of EDR events. For example, a thermostat associated with a user account with a higher participation level may begin receiving three EDR events per day, such as EDR events 2740, 2744, and 2748, as shown in FIG. 27A. However, after the person cancels EDR event 2740 before the scheduled end time, as shown in FIG. 27B, the system may reduce the participation level of the user account by reducing the number of events per day to correspond to a lower participation level, such as two events per day, and may cancel any excess events (e.g., EDR event 2748).

[0211] In some embodiments, EDR events with longer durations are generated for user accounts set at higher participation levels. For example, the system may only generate EDR events with a maximum duration of one hour for user accounts set at lower participation levels, whereas EDR events generated for user accounts set at increased participation levels may have a maximum duration of three hours. In some embodiments, the duration of the EDR events may be based on an adjustment to the setpoint temperature. For example, as shown in FIG. 27A, a user account set at an increased participation level for EDR events of greater duration may receive scheduled EDR events 2740 and 2744 with a duration of at least two hours. However, as shown in FIG. 27B, a person may have overridden the EDR event 2740 after only one hour of execution by adjusting the setpoint temperature of a thermostat. Based on the adjustment to the setpoint temperature, the system may determine that future events should not have a duration greater than the elapsed time of the EDR event 2740 before it was overridden. 27B, the system may shorten the duration of the EDR event 2744 so that it is the same or similar duration as the pre-overridden EDR event 2740. In some embodiments, future events are similarly adjusted and / or EDR events are only generated with the new duration going forward.

[0212] 28A and 28B show a graph 2800 of revised event participation levels based on user input during an emission demand response event. Graph 2800 presents the same x-axis 2804 and y-axes 2802 and 2808 as graph 400 described above with respect to FIG. 4. Graph 2800 also shows thermostat setpoint temperature over time 2820 and projected emission rate over time 2816. Graph 2800 shows the revised event participation levels based on user input during an emission demand response event. 28A also shows a time 2830 (e.g., 6:00) before the EDR event is to be executed and a time 2832 (e.g., 12:00) after the EDR event 2840 is to be executed. As shown in FIG. 28A, multiple EDR events may be scheduled for a 24 hour period, such as EDR events 2840 and 2844.

[0213] In some embodiments, an adjustment to the setpoint temperature of a thermostat while an EDR event is in progress adjusts the magnitude of the EDR event for the remaining EDR events. For example, as shown in FIG. 28B, after an event 2840 has already started with an initial adjustment to the setpoint temperature 2820 (e.g., a 3 degree offset), a person may adjust the setpoint temperature 2820 by less than the magnitude of the EDR event 2840 (e.g., less than 3 degrees). In some embodiments, the adjustment is interpreted as canceling the EDR event and setting a new setpoint temperature. For example, if the setpoint temperature of a thermostat is adjusted down by 2 degrees, the setpoint may stay at that temperature after the EDR event is scheduled to end. In other embodiments, the adjustment is interpreted as subtracting an offset associated with the currently ongoing EDR event. For example, the setpoint temperature may stay at the new temperature only until the end of the scheduled event, and then return to the original setpoint after the EDR event ends.

[0214] In some embodiments, the setpoint temperature offset of the generated EDR event is based on the participation level of a particular user account. For example, as shown in FIG. 28A, EDR events 2840 and 2844 may be generated with a larger adjustment (e.g., 3 degrees) to the setpoint temperature 2820 for a user account set to an increased participation level compared to a user account set to a lower participation level. In some embodiments, the participation level of the user account in the EDR event is modified based on the adjustment to the setpoint temperature made during the EDR event. For example, as shown by FIG. 28B, the system may reduce the user's participation level based on the adjustment to the EDR event 2840 made after the event has started. In some embodiments, a reduction in the user account's participation level in future EDR events results in a reduction in the setpoint temperature offset of the future events. For example, as shown in FIG. 28A and FIG. 28B, the setpoint temperature offset of the EDR event 2844 may be reduced after the system determines that an adjustment was made during the EDR event 2840. In some embodiments, both the setpoint temperature offset and the duration of future events are reduced based on the adjustment to the setpoint temperature.

[0215] Various methods may be performed using the systems detailed above in FIGS. 1-3 to implement EDR events as detailed above with respect to FIGS. 26-28B. FIG. 29 illustrates an embodiment of a method 2900 for generating an emission demand response event based on a user account participation level. In some embodiments, the method 2900 may be performed by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. For example, the processing system 219 of the cloud-based power control server system 110 may execute software from one or more modules, such as the event scheduler 213, the constraint engine 214, the historical data engine 215, the user management module 216, and / or the forecasting engine 217. In some embodiments, various steps of the method 2900 may be performed by a smart device, such as the smart thermostat 160 as described above with respect to FIG. 3. For example, the processing system 319 of the smart thermostat 160 may execute software from one or more modules, such as the event scheduler 314 and the constraint engine 315. In some embodiments, some steps of the method 2900 may be performed by a cloud-based power control server system, such as the cloud-based power control server system 110, while other steps may be performed by a smart server. This is performed by a smart device such as the Mostat 160.

[0216] The method 2900 may include, at block 2910, obtaining a history of emission rates. In some embodiments, the cloud-based power control server system may obtain the history of emission rates. For example, the historical data engine 215 of the cloud-based power control server system 110 may obtain the history of emission rates. In some embodiments, the history of emission rates may be obtained from one or more third party sources. For example, the cloud-based power control server system 110 may obtain the history of emission rates from the emission data system 120 or any number of power companies that provide electricity to the city or region. In some embodiments, the history of emission rates may be obtained from recorded emission rates over a predetermined period of time. For example, the historical data engine 215 may record the actual emission rates as they occurred and store them in a database or similar data store. In some embodiments, the history of emission rates may span a year or multiple years of recorded emission rates. In some embodiments, the historical emission rates may be expressed as an average historical emission rate per day, per week, or per month of the year. For example, an average historical emission rate for that day of the year may be determined based on recorded emission rates for that day of the year over the past three, five, ten or more years.

[0217] In block 2912, future periods of predicted higher emissions may be identified based on historical emission rates. Higher emissions may be defined as periods where emissions are on average 10% higher than the long-term average over a longer sustained period. For example, a given day may be defined as having higher emissions if it is expected to produce at least 10% higher emissions than for the monthly average. In other embodiments, the percentage may be varied, such as 5%, 15%, 20%, or other larger or smaller values. In some embodiments, the system uses historical emission rates to identify future periods of predicted higher emissions. For example, the historical data engine 215 of the cloud-based power control server system 110 may analyze historical emission rates and identify trends in historical emission rates that are likely to repeat in the future. In some embodiments, the predicted future periods of high emissions may be based on a week of the year that has seen higher than normal emission rates in the past. For example, if the last week of July has had higher emission rates in the past than surrounding times of the year, the system may identify that same period in the future as having a high probability of higher emission rates.

[0218] In some embodiments, identifying future periods of predicted high emissions may be based on additional factors such as weather. For example, the last week of July may be the hottest period of the year in the past and therefore may be associated with a historical increase in emission rates during that time of the year. Similarly, the beginning of January may be the coldest period of the year in the past and therefore may be associated with a historical increase in emission rates due to increased heater utilization. In some embodiments, weather forecasts may be used to improve the accuracy of identifying future periods of predicted high emissions. For example, when historical temperatures and emission rates are associated with higher than average emission rates for a certain time of the year, if a weather forecast indicates that temperatures will be higher for that time in the future, the system may determine that there is a higher likelihood that the actual emission rate during that time may be the same as or higher than the historical emission rate for that time. Similarly, if a weather forecast indicates that temperatures will be lower than the historical average, the system may determine that the actual emission rate during that time is less likely to be as high as the historical emission rate.

[0219] At block 2914, a participation level for the user account may be determined for the future period of predicted high emissions. In some embodiments, there are one or more available participation levels for reducing carbon emissions through EDR events. For example, , there may be a basic entry level of participation and a more advanced or rigorous level of participation. Although two levels of participation are described herein as an example, it should be understood that there may be additional levels and gradations between the levels that apply to each individual user account. For example, the participation level may be defined by increasing or decreasing individual settings of the user account, such as a maximum number of EDR events per day, a maximum EDR event duration, and / or a maximum set temperature offset per EDR event. In some embodiments, a user sets the participation level of a user account through an application installed on a computerized device, such as a smartphone or tablet computer. In some embodiments, the user accounts are managed by a user management module 216 of the cloud-based power control server system 110 as described above with respect to FIG. 2.

[0220] In some embodiments, the participation level may be applied to a user account indefinitely. For example, when a user account is created, a desired participation level is selected and remains in effect until a user associated with the account modifies the participation level. In some embodiments, a predefined participation level expires after a predefined period of time. For example, the increased participation level may only be applied during periods of predicted higher emissions, such as those identified and described above with respect to block 2912. After the period of predicted higher emissions, the participation level of the user account reverts to the previous or original setting. In some embodiments, after identifying a future time of predicted higher emissions, the user account may receive a request or invitation to increase its participation level in the generated EDR event. For example, the user management module 216 may send a notification to the mobile device 140 associated with the user account as described above with respect to FIG. 2. In some embodiments, the input received in response to the request to increase the participation level is stored as a preference or setting associated with the user account. In some embodiments, the user account setting is used to determine the participation level of the user account during future periods of predicted higher emissions. For example, the user management module 216 may retrieve settings from a user account related to the account's participation level.

[0221] At block 2916, an EDR event may be generated based on a participation level of the user account. In some embodiments, the participation level of the user account affects the generation of EDR events for devices associated with the user account. For example, constraints on generating events, such as those described above with respect to FIGS. 10 and 11, may differ based on the participation level of a particular user account. In some embodiments, an increased or higher participation level is associated with a higher maximum number of EDR events per day. For example, if a baseline constraint limits the number of EDR events generated per day to no more than 3 EDR events, a constraint for a higher participation level may allow the generation of up to 6 EDR events per day. In some embodiments, an increased or higher participation level is associated with generating EDR events having a larger magnitude. For example, if a baseline constraint limits the setpoint temperature adjustment associated with a generated EDR event to no more than 2 degrees, an increased participation level may allow events having a setpoint temperature adjustment of up to 4 degrees. In some embodiments, an increased or higher participation level is associated with generating EDR events having a larger duration. For example, if a baseline constraint limits the generation of EDR events having a duration greater than two hours, a constraint associated with a higher participation level may limit only events having a duration greater than four hours. In some embodiments, an increased or higher participation level is associated with an increase in any combination of the above factors. For example, a user account set at a higher participation level may receive more EDR events that last longer and have larger setpoint temperature adjustments.

[0222] In some embodiments, the EDR event may be generated according to any of the methods described above with respect to Figures 13-15. For example, the EDR event may be generated with an end time corresponding to the time of the emission differential value calculated from the first emission rate forecast. The first emission rate forecast may be any emission rate forecast received at any time. In some embodiments, the EDR event may be generated by the event scheduler 213 of the cloud-based power control server system 110 as described above with respect to Figure 2. In some embodiments, the EDR event may be generated by the event scheduler 314 of the smart thermostat 160 as described above with respect to Figure 3. The EDR event may be a preemptive EDR event or a deferred EDR event.

[0223] At block 2918, a thermostat associated with the user account may be caused to control the HVAC system according to the modified EDR event. The thermostat may be caused to control the HVAC system according to any of the methods described above with respect to FIGS. 13-15. For example, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease usage of the HVAC system depending on whether the HVAC system is in a heating mode or a cooling mode at the start time of the EDR event. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, may cause a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0224] FIG. 30 illustrates an embodiment of a method 3000 for modifying a user account participation level based on an adjustment to a setpoint temperature during an EDR event. In some embodiments, the method 3000 may be performed by any or all of the same components as described with respect to the method 2900 described above with respect to FIG. 29. The method 3000 may include, at block 3010, obtaining a history of emission rates. In some embodiments, the cloud-based power control server system may obtain the history of emission rates. For example, the historical data engine 215 of the cloud-based power control server system 110 may obtain the history of emission rates. In some embodiments, the history of emission rates may be obtained from one or more third party sources. For example, the cloud-based power control server system 110 may obtain the history of emission rates from the emission data system 120 or any number of power companies that provide electricity to the city or region. In some embodiments, the history of emission rates may be obtained from recorded emission rates over a predetermined period of time. For example, the historical data engine 215 may record the actual emission rates as they occur and store them in a database or similar data store. In some embodiments, the emission rate history may span a year or several years of recorded emission rates. In some embodiments, the historical emission rate may be expressed as an average historical emission rate per day, per week, or per month of the year. For example, an average historical emission rate for a day of the year may be determined based on the recorded emission rates for that day of the year over the past three, five, ten or more years.

[0225] In block 3012, future periods of predicted higher emissions may be identified based on historical emission rates. Higher emissions may be defined as periods where emissions are, on average, 10% greater than the long-term average over a longer duration. For example, a given day may be defined as having higher emissions if it is expected to produce emissions at least 10% higher than for the monthly average. In other embodiments, the percentage may be varied, such as 5%, 15%, 20%, or other greater, intermediate, or lesser values. In some embodiments, the system uses historical emission rates to identify future periods of predicted higher emissions. For example, the historical data engine 215 of the cloud-based power control server system 110 may analyze historical emission rates and determine future periods of predicted higher emissions. The system may identify trends in historical emission rates that are likely to repeat in the future. In some embodiments, future periods of predicted high emissions may be based on weeks during the year that have historically seen higher than normal emission rates. For example, if the last week of July has historically had higher emission rates than surrounding times of the year, the system may identify the same period in the future as having a high likelihood of higher emission rates.

[0226] In some embodiments, identifying future periods of predicted high emissions may be based on additional factors such as weather. For example, the last week of July may have historically been the hottest period of the year and therefore be associated with increased historical emissions rates during that time of the year. Similarly, the beginning of January may have historically been the coldest period of the year and therefore be associated with increased historical emissions rates due to increased heater utilization. In some embodiments, weather forecasts may be used to improve the accuracy of identifying future periods of predicted high emissions. For example, when historical temperatures and emissions rates indicate that a certain time of the year is associated with higher than average emissions rates, if a weather forecast indicates that temperatures will be higher for that time in the future, the system may determine that there is a higher likelihood that the actual emissions rate during that time may be the same as or higher than the historical emissions rate for that time. Similarly, if a weather forecast indicates that temperatures will be lower than the historical average, the system may determine that the actual emissions rate during that time is less likely to be as high as the historical emissions rate.

[0227] In block 3014, a participation level of the user account may be determined for the future period of predicted high emissions. In some embodiments, there are one or more available participation levels for reducing carbon emissions through EDR events. For example, there may be a basic entry participation level and a more advanced or strict participation level. Although two participation levels are described here as an example, it should be understood that there may be additional levels and gradations between levels that apply to each individual user. For example, the participation level may be defined by increasing or decreasing individual settings of the user account, such as a maximum number of EDR events per day, a maximum EDR event duration, and / or a maximum set point temperature offset per EDR event. In some embodiments, a user sets the participation level of the user account through an application installed on a computerized device, such as a smartphone or tablet computer. In some embodiments, the user account is managed by the user management module 216 of the cloud-based power control server system 110 as described above with respect to FIG. 2.

[0228] In some embodiments, the participation level may be applied to the user account indefinitely. For example, when the user account is created, a desired participation level is selected and remains in effect until a user associated with the account modifies the participation level. In some embodiments, the pre-defined participation level expires after a pre-defined period of time. For example, the increased participation level may be applied only for a period of predicted higher emissions, such as those identified and described above in connection with block 3012. After the period of predicted higher emissions, the participation level of the user account reverts to the previous or original setting. In some embodiments, after identifying a future time of predicted higher emissions, the user account may receive a request or invitation to increase its participation level in the generated EDR event. For example, the user management module 216 may send a notification to the mobile device 140 associated with the user account as described above in connection with FIG. 2. In some embodiments, the input received in response to the request to increase the participation level is stored as a preference or setting associated with the user account. In some embodiments, the user account setting is used to determine the participation level of the user account for the predicted higher future period of time. For example, the user management module 216 may send a notification to the mobile device 140 associated with the user account as described above in connection with FIG. 2. The tool 216 may retrieve settings from the user account that are related to the account's participation level.

[0229] At block 3016, an EDR event may be generated based on a participation level of the user account. In some embodiments, the participation level of the user account affects the generation of EDR events for devices associated with the user account. For example, as described above with respect to FIG. 10 and FIG. 11, constraints on generating events may differ based on the participation level of a particular user account. In some embodiments, an increased or higher participation level is associated with a higher maximum number of EDR events per day. For example, if a baseline constraint limits the number of EDR events generated per day to no more than 3 EDR events, a constraint for a higher participation level may allow the generation of up to 6 EDR events per day. In some embodiments, an increased or higher participation level is associated with generating EDR events having a larger magnitude. For example, if a baseline constraint limits the setpoint temperature adjustment associated with a generated EDR event to no more than 2 degrees, an increased participation level may allow events having a setpoint temperature adjustment of up to 4 degrees. In some embodiments, an increased or higher participation level is associated with generating EDR events having a larger duration. For example, if a baseline constraint limits the generation of EDR events having a duration greater than two hours, a constraint associated with a higher participation level may limit only events having a duration greater than four hours. In some embodiments, an increased or higher participation level is associated with an increase in any combination of the above factors. For example, a user account set at a higher participation level may receive more EDR events that last longer and have larger setpoint temperature adjustments.

[0230] In some embodiments, the EDR event may be generated according to any of the methods described above with respect to Figures 13-15. For example, the EDR event may be generated with an end time corresponding to a time of an emission differential value calculated from a first emission rate forecast. The first emission rate forecast may be any emission rate forecast received at any time. In some embodiments, the EDR event may be generated by the event scheduler 213 of the cloud-based power control server system 110 as described above with respect to Figure 2. In some embodiments, the EDR event may be generated by the event scheduler 314 of the smart thermostat 160 as described above with respect to Figure 3. The EDR event may be a preemptive EDR event or a deferred EDR event.

[0231] At block 3018, a thermostat associated with the user account may be caused to control the HVAC system according to the modified EDR event. The thermostat may be caused to control the HVAC system according to any of the methods described above with respect to FIGS. 13-15. For example, at the start time of the EDR event, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease utilization of the HVAC system depending on whether the HVAC system is in a heating mode or a cooling mode. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, may cause a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0232] At block 3020, an adjustment to the setpoint temperature may be received during the execution of the EDR event. In some embodiments, the setpoint temperature is adjusted after the thermostat has increased or decreased the setpoint temperature in accordance with the EDR event and before the thermostat restores the setpoint temperature to its original setting. For example, if an EDR event causes the setpoint temperature to be increased by 2 degrees for two hours after a period of time, a person may wish to further increase the setpoint temperature. A person may adjust the setpoint temperature by increasing or decreasing the setpoint temperature. In some embodiments, the setpoint temperature is adjusted manually at the thermostat or via remote communication with the thermostat. For example, a person may adjust a knob or dial on the surface of a thermostat, such as smart thermostat 160 as described above with respect to FIG. 3. As another example, a user associated with a user account linked to the thermostat may adjust the setpoint through an application on a mobile device, such as mobile device 140 as described above with respect to FIG. 1.

[0233] In some embodiments, adjustments to the setpoint temperature during an EDR event cancel the execution of the EDR event. For example, if an EDR event was scheduled to increase the setpoint temperature by 2 degrees for 2 hours, the EDR event may be canceled by lowering the setpoint temperature by 2 degrees before the end of the 2 hours. In some embodiments, adjustments during an EDR event only modify the remainder of the EDR event. Using the same example, if the setpoint temperature is lowered by only 1 degree, the setpoint temperature may remain at that temperature until the end of the scheduled event, at which point the setpoint temperature may return to the original setpoint temperature.

[0234] At block 3022, the participation level of the user account may be modified based on the adjustment to the setpoint temperature. In some embodiments, the one or more adjustments that cancel or modify an ongoing EDR event are used as a basis for modifying the participation level of the user account. For example, after multiple EDR events are canceled in succession, the system may reduce the participation level of the user account. In some embodiments, the participation level of the user account is reduced gradually and / or based on a predefined trend identified in multiple adjustments to the setpoint temperature while the EDR event is ongoing. For example, if the user account is set to an increased participation level that results in more EDR events having a longer duration (e.g., 2 hours), and after a shorter period (e.g., 1 hour), multiple consecutive events are canceled, the system may continue to generate the same number of events, but with a shorter duration (e.g., 1 hour). In some embodiments, the one or more adjustments are used as a basis for reducing the participation level of the user account to the previous or original participation level. For example, if a user account is configured to participate in increased EDR event activity for one week, the system may identify one or more canceled events and configure the user account to no longer participate in the increased EDR event activity for that week. In some embodiments, a notification may be sent to the user account before reducing the participation level. For example, the user management module 216 of the cloud-based power control server system 110 may send a notification to the mobile device 140 associated with the user account requesting verification that the user account should or should not remain at the same participation level.

[0235] In some embodiments, additional factors and data are used to generate and execute EDR events, such as confidence values ​​and / or expected volatility. These and other features according to some embodiments are further discussed herein with respect to FIGS. 31-37. FIG. 31 shows a graph 3100 of emission demand response events based on the magnitude of future emission rate events. Graph 3100 depicts the same x-axis 3104 and y-axes 3102 and 3108 as graph 400 described above with respect to FIG. 4. Graph 3100 depicts a forecasted emission rate 3116 over a period of time. Graph 3100 also depicts a thermostat setpoint temperature 3120. As shown in graph 3100 by deviations to setpoint temperature 3120, the system may have already generated EDR events 3140 and 3142.

[0236] In some embodiments, the EDR event is generated based on a future emission rate event. A future emission rate event may be any future period in which the emission rate is expected to be at an increased or decreased level. The increased or decreased level may be based on any suitable measure, such as a deviation from the ongoing average emission rate for the previous period. For example, if the average emission rate over the last one, two, three or more weeks was a predetermined amount, a 10% deviation in the emission rate may be considered an increased or decreased level of emission. In other embodiments, the deviation may be a 10%, 20%, 30% or other percentage deviation from the average emission rate. A future emission rate event may also be defined as a rate of change in the emission level, or a period when the emission differential is higher or lower than a threshold value. The ongoing average emission rate may be more or less specific, such as an average emission rate for a certain time of day based on an average emission rate at the same time of the day in the past. A future emission rate event may be a time when there is an expected increase or decrease in the emission rate based on an expected emission differential or other estimate of the rate of change of the emission rate. In some embodiments, after identifying a future emission rate event, an EDR event is generated to coincide with the future emission rate event as further described above with respect to FIGS.

[0237] In some embodiments, an EDR event is generated based on the shape or magnitude of a future emission rate event. The shape or magnitude of the future emission rate event may be the amount of time that the projected emission rate is expected to be at an increased or decreased level and / or the amount of deviation from a threshold emission rate value. For example, an increased level of emissions that lasts for two hours may be considered to have a greater magnitude than the same increased level of emissions that lasts for only one hour. As another example, an emission rate increase of 600 lbs-CO2 / MWh that lasts for one hour may be considered to have a greater magnitude than a 200 lbs-CO2 / MWh increase that lasts for one hour.

[0238] In some embodiments, EDR events are generated in different shapes or sizes. The shape or size of the EDR event may be the size of the adjustment to the setpoint temperature of the thermostat and / or the amount of time the setpoint temperature is adjusted. For example, an EDR event that adjusts the setpoint temperature by 3 degrees over 2 hours may be considered to have a larger size than an EDR event that adjusts the setpoint temperature by 1 degree over 1 hour.

[0239] In some embodiments, the shape or magnitude of the EDR event is based on the shape or magnitude of the future emission rate event. More generally, a future emission rate event having a magnitude greater than a threshold magnitude may cause the EDR event to increase in duration, set point adjustment, or both. For example, as shown in FIG. 31, an EDR event 3140 may be generated at a magnitude (e.g., a 1 degree offset for 1 hour) to accommodate a future emission rate event of a smaller magnitude. Similarly, an EDR event 3142 may be generated at a larger magnitude (e.g., a 3 degree offset for 3 hours) than the EDR event 3140 to accommodate a future emission rate event of a larger magnitude.

[0240] Figure 32 shows a graph 3200 of predicted discharge data with decreasing confidence values. Graph 3200 presents the same x-axis 3204 and y-axis 3202 as graph 400 described above with respect to Figure 4. Graph 3200 shows a predicted discharge rate 3216 over a given period of time. Graph 3200 also shows a confidence value 3228 as a measure of certainty in the predicted discharge rate 3216 occurring as predicted over time. The right vertical axis 3208 shows the percentage confidence.

[0241] In some embodiments, a confidence value is obtained for the predicted emission rate in the forecast. The confidence value indicates the certainty that the actual emission rate will match the predicted emission rate when predicted to occur. The confidence value may be a measure of the certainty of the actual rate of change of the emission rate as quantified by the emission differential matching the predicted rate of change. The confidence value may be any form of measurement, such as the percentage likelihood of the emission rate occurring at the same rate as predicted. For example, a confidence value of 90% may indicate a high likelihood that the actual emission rate occurs as predicted, whereas a confidence value of 30% may indicate a low likelihood that the actual emission rate occurs as predicted. In some embodiments, the confidence value is obtained from a third party source, such as the emission data system 120, as further described above with respect to FIG. 1.

[0242] In some embodiments, the confidence value is based on a time decay applied to the predicted emission rate when the predicted emission rate is received or generated. The time decay may be a measure of the rate of decline of the confidence value over time, such as the confidence value decreasing at a rate over time. The decay rate may be any suitable rate, such as 5, 10, 15 percent or more per hour. For example, as shown by FIG. 32, the confidence value 3228 may initially start at 90% at the time 3224 (e.g., 6:00) when the predicted emission rate 3216 is received and decrease to about 20% by the end of the forecast (e.g., 00:00). Although a linear decay rate is shown in FIG. 32, any other suitable decay rate, such as parabolic or exponential, may be applied to the predicted emission rate in the forecast. In some embodiments, one or more modules in the cloud-based power control server system 110 may determine the confidence value for the predicted emission rate, such as the historical data engine 215 and / or the forecast engine 217 as described above with respect to FIG. 2.

[0243] In some embodiments, a confidence value is determined for the future emission rate event. The confidence value for the future emission rate event may be the average confidence value over the duration of the future emission rate event. For example, if the confidence value at the start of a 1-hour future emission rate event is 90% and the confidence value decays at a rate of 10% per hour (i.e., the confidence value at the end of the future emission rate event is 80%), the confidence value for the future emission rate event may be 85% (i.e., the average of 90% and 80%). In some embodiments, the confidence value for the future emission rate event is the confidence value at the start or end of the future emission rate event.

[0244] 33 shows a graph 3300 of emission demand response events generated based on confidence values. Graph 3300 presents the same x-axis 3304 and y-axes 3302 and 3308 as graph 400 described above with respect to FIG. 4. Graph 3300 shows the time 3324 when the predicted emission rate 3316 was received. Graph 3300 also shows the setpoint temperature 3320 of the thermostat. As shown in graph 3300 by deviations to the setpoint temperature 3320, the system may have already generated EDR events 3340 and 3342. Graph 3300 also shows confidence value 3328 as a measure of the certainty of the predicted emission rate 3316 occurring as predicted over time.

[0245] In some embodiments, the shape or size of the EDR event is based on a confidence value associated with the future emission rate event. For example, if the confidence value for the future emission rate event is greater than a threshold confidence value, the size of the EDR event may be increased. Similarly, if the confidence value for the future emission rate event is less than a threshold confidence value, the size of the EDR event may be decreased. As described above with respect to FIG. 31 , increasing or decreasing the size may include increasing or decreasing the duration of the EDR event and / or increasing or decreasing the size of the adjustment to the setpoint temperature of the thermostat. For example, as shown in FIG. 33 , EDR event 3340 has a larger setpoint adjustment (e.g., 3 degrees instead of 2 degrees) because the confidence value associated with the future emission rate event used to generate EDR event 3340 was greater than the threshold confidence value. Similarly, EDR event 3342 has a smaller setpoint adjustment (e.g., 1 degree instead of 2 degrees) because the confidence value associated with the future emission rate event used to generate EDR event 3342 was greater than the threshold confidence value. This is because the confidence value associated with the rate event was less than a threshold confidence value. In some embodiments, the confidence value is used to adjust the event score, as described above with respect to Figure 9. For example, a potential event may get a higher score if it has a higher confidence value, making it more likely to be one of the actual scheduled events.

[0246] In some embodiments, there may be one or more thresholds associated with various EDR event magnitudes. For example, if the confidence value is greater than 75%, an EDR event may be generated with 3 degree setpoint adjustments, whereas confidence values ​​below 75% and above 50% may be generated with 2 degree adjustments, and confidence values ​​below 50% may be generated with only 1 degree adjustment to the setpoint temperature.

[0247] FIG. 34 illustrates a graph 3400 of multiple emission demand response event end times based on confidence values. Graph 3400 presents the same x-axis 3404 and y-axes 3402 and 3408 as graph 400 described above with respect to FIG. 4. Graph 3400 illustrates the time 3424 when a predicted emission rate 3416 was received. Graph 3400 also illustrates the thermostat setpoint temperature 3420. Graph 3400 illustrates the confidence value 3428 as a measure of the certainty that the predicted emission rate 3416 will occur as predicted over time. Graph 3400 also illustrates potential EDR event end times 3438, 3440, and 3442.

[0248] In some embodiments, multiple different EDR events are generated for a future emission rate event. After identifying a future emission rate event, the system may generate a first EDR event for one or more thermostats and a second EDR event for one or more other thermostats, the second EDR event having different characteristics than the first. The different characteristics may include the size of the adjustment to the thermostat's setpoint temperature and / or the duration of the EDR event. In some embodiments, the size of the EDR event is different due to different constraints within a user account, as described above with respect to FIGS. 4-15. In some embodiments, different EDR events are generated due to different user account participation levels, as described above with respect to FIGS. 26-30.

[0249] In some embodiments, multiple EDR events are generated with different start and / or end times for the future emission rate event based on a confidence value associated with the future emission rate event. This may be due to the uncertainty involved in predicting when an emission rate increase / decrease will occur. When the confidence value is lower, there may be a greater chance that the emission rate event will end earlier or later than the currently predicted time. For example, a future emission rate event with a predicted end time of 15:00 and a confidence value of 50% may end 5, 10, 15 or more minutes earlier or later than 15:00. When the confidence value is lower than a threshold confidence value, one or more additional EDR events may be generated with different end times. For example, as shown in FIG. 34, multiple EDR events with event end times 3438, 3440, and 3442 may be generated around the same time because the confidence value is less than the threshold confidence value (e.g., less than 50%).

[0250] In some embodiments, the number of different EDR events is based on a confidence value for the future emission rate event. If the confidence value of the future emission rate event is less than a threshold confidence value, the number of EDR events generated may increase by at least one. For example, a confidence value of greater than 50% for the future emission rate event may result in the generation of one EDR event, such as an EDR event having event end time 3440, while a confidence value less than 50% may result in the generation of additional EDR events with different end times, such as event end times 3438 and 3442.

[0251] In some embodiments, multiple different EDR events for a future emission rate event are distributed to available thermostats or similar devices. The distribution of the different EDR events may be the percentage of devices that receive each different EDR event. For example, if there are 100 available devices for three different EDR events, an even distribution may be when the number of available devices that receive one of the EDR events is the same as the number of devices that receive each of the other EDR events. On the other hand, a smaller distribution may mean that more devices receive one of the EDR events than receive the other EDR events. In some embodiments, the distribution of the different EDR events is based on a confidence value for the future emission rate event. In some embodiments, if the confidence value of the future emission rate event is less than a threshold confidence value, the distribution increases toward an even distribution.

[0252] 35 shows a graph 3500 of an emission demand response event with a gradual adjustment to the setpoint temperature. Graph 3500 depicts the same x-axis 3504 and y-axes 3502 and 3508 as graph 400 described above with respect to FIG. 4. Graph 3500 shows a predicted emission rate 3516 over a given period of time. Graph 3500 also shows a thermostat setpoint temperature 3520. As shown in graph 3500 by a deviation to the setpoint temperature 3520, the system may have already generated an EDR event 3540.

[0253] In some embodiments, an EDR event causes the thermostat to adjust the setpoint temperature one or more times during the EDR event. For example, as shown in FIG. 35, an EDR event 3540 includes a first setpoint adjustment of about 3 degrees (e.g., from 20 to 23) for a first portion of the event before reducing the adjustment by about half (e.g., from 23 to 21.5). In some embodiments, the different adjustments during the EDR event are based on different predicted emission rates. As explained above with respect to FIG. 31, a larger increase or decrease in emission rate may correspond to a larger adjustment to the thermostat's setpoint temperature.

[0254] In some embodiments, the initial adjustment to the setpoint temperature is greater than the adjustment for the remainder of the EDR event to trigger a change in state of the HVAC system. This may be due to a hysteresis setpoint temperature of the thermostat. The hysteresis setpoint temperature may be a boundary temperature around the desired setpoint temperature that triggers the HVAC to change from an operating state to an idle state and from an idle state to an operating state. For example, if the desired setpoint temperature is 60 degrees, a thermostat in cooling mode may increase the ambient temperature to 61 degrees before turning on the HVAC system and may decrease the ambient temperature to 59 degrees before turning the HVAC system off again.

[0255] When the HVAC system is already running, a larger adjustment may be used to turn the HVAC system off sooner. For example, using the same setpoint temperature as above, if the HVAC system is running in cooling mode and the ambient temperature is 60.9 degrees, a 1 degree increase in the setpoint temperature may not turn the HVAC system off because the new lower hysteresis setpoint temperature is 60 degrees (i.e., lower than the ambient temperature). However, a 2 degree adjustment will cause the HVAC system to turn off because the new lower hysteresis setpoint temperature is 61 degrees (i.e., higher than the ambient temperature). Similarly, when the HVAC system is idle, a larger adjustment may be used to turn the HVAC system on sooner. To continue the example from above, if the ambient temperature was 59.1 degrees, a 1 degree decrease in the setpoint temperature may not turn the HVAC system on because the new higher hysteresis setpoint temperature is 60 degrees (e.g., higher than the ambient temperature). However, a 2 degree adjustment will cause the HVAC system to turn on. This is because the new higher hysteresis setpoint temperature is 59 degrees (eg, lower than ambient temperature).

[0256] In some embodiments, an EDR event adjusts the higher and / or lower hysteresis setpoint temperatures. For example, instead of adjusting the desired setpoint temperature of a thermostat, an EDR event may raise or lower the higher and lower hysteresis setpoint temperatures by the same adjustments made to the desired setpoint temperature. In some embodiments, the higher and lower hysteresis setpoint temperatures are subject to different adjustments based on the type of EDR event. For example, a deferred heating event or a preemptive cooling event may lower the lower hysteresis setpoint temperature by a first amount while lowering the higher hysteresis setpoint temperature by an amount less than the first amount. Similarly, a deferred cooling event or a preemptive heating event may raise the higher hysteresis setpoint temperature by a first amount while raising the lower hysteresis setpoint temperature by an amount less than the first amount.

[0257] 36A and 36B show graphs 3600 and 3601 of emission demand response events generated based on predicted variability. Graphs 3600 and 3601 represent the same x-axis 3604 and y-axis 3602 and 3608 as graph 400 described above with respect to FIG. 4. Graphs 3600 and 3601 also show thermostat setpoint temperature 3620 with respect to time. As illustrated by FIGS. 36A and 36B, predicted emission rates 3616 and 3618 may have different amounts of emission rate variability.

[0258] In some embodiments, the emission rate variability value is determined based on the predicted emission rate forecast. The emission rate variability value may measure the relative variability of the predicted emission rate over a given period of time, such as a forecast period. The emission rate variability value may be expressed as a percentage value or any other suitable unit of measure. In some embodiments, the emission rate variability value is a measure of the relative variability in the predicted emission rate forecast compared to the historical emission rate variability for a region. In some embodiments, the emission rate variability value is a measure of the relative variability of the predicted emission rate forecast compared to the variability of a region.

[0259] In some embodiments, the predetermined maximum number of EDR events per day is modified based on the emission rate variability value. More generally, the predetermined maximum number of EDR events per day may be increased by at least one event per day when the emission rate variability value is greater than a threshold variability value. For example, as shown in Figures 36A and 36B, four EDR events 3644, 3648, 3650, and 3652 may be generated based on a relatively high emission rate variability value associated with the predicted emission rate 3618, compared to only two EDR events 3640 and 3642 generated based on a relatively low emission rate variability value associated with the predicted emission rate 3616.

[0260] In some embodiments, the setpoint adjustment of the EDR event is modified based on the emission rate variability value. More generally, the temperature offset caused by the EDR event may be increased by at least one degree when the emission rate variability value is greater than a threshold variability value. For example, as shown in Figures 36A and 36B, EDR events 3644, 3648, 3650, and 3652 may be generated with an offset of three degrees from the setpoint temperature based on a relatively high emission rate variability value associated with predicted emission rate 3618, compared to only two degrees for EDR events 3640 and 3642 generated based on a relatively low emission rate variability value associated with predicted emission rate 3616.

[0261] In some embodiments, the predetermined maximum EDR event duration is modified based on the emission rate variability value. More generally, the predetermined maximum EDR event duration may be increased by at least 5 minutes, 30 minutes, 60 minutes, or more per event when the emission rate variability value is less than the threshold variability value. For example, as shown in Figures 36A and 36B, Thus, EDR events 3640 and 3642 may be generated with a duration of greater than two hours based on a relatively low emission rate variability value associated with predicted emission rate 3616, compared to only one hour for EDR events 3644, 3648, 3650, and 3652 based on a relatively high emission rate variability value associated with predicted emission rate 3618. In some embodiments, the predetermined maximum number of EDR events per day and the predetermined maximum EDR event duration are inversely correlated based on the emission rate variability value. For example, when the emission rate variability value is greater than a threshold variability value, the predetermined maximum number of EDR events per day is increased while the predetermined maximum EDR event duration is decreased.

[0262] Various methods may be performed using the systems detailed above in FIGS. 1-3 to implement EDR events as detailed above in FIG. 31-36B. FIG. 37 illustrates an embodiment of a method 3700 for shaping an emission demand response event based on a predicted emission rate confidence value. In some embodiments, the method 3700 may be performed by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above in FIG. 2. For example, the processing system 219 of the cloud-based power control server system 110 may execute software from one or more modules, such as the event scheduler 213, the constraint engine 214, the historical data engine 215, the user management module 216, and / or the forecast engine 217. In some embodiments, various steps of the method 3700 may be performed by a smart device, such as the smart thermostat 160 as described above in FIG. 3. For example, the processing system 319 of the smart thermostat 160 may execute software from one or more modules, such as the event scheduler 314 and the constraint engine 315. In some embodiments, some steps of the method 3700 may be performed by a cloud-based power control server system, such as the cloud-based power control server system 110, while other steps are performed by a smart device, such as the smart thermostat 160.

[0263] The method 3700 may include, at block 3710, obtaining an emission rate forecast for a predetermined future period. The emission rate forecast may include a projected carbon emission rate over the future predetermined period. The carbon emission rate may be measured in lbs-CO2 / MWh or any similar unit of measurement. The future predetermined period may be any number of hours, including 24 hours into the future. The emission rate forecast may be received from a commercial service that collects and analyzes emission rate data from various sources, such as a power company that provides electricity to a city or region. In some embodiments, the emission rate forecast may be generated by a cloud-based power control server system using data collected from one or more sources, such as a power company and a weather forecasting agency. In some embodiments, the emission rate forecast may be received by a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2. The emission rate forecast may be received by a smart thermostat. In some embodiments, a smart thermostat, such as smart thermostat 160 as described above with respect to FIG. 3, may receive the emission rate forecast from cloud-based power control server system 110.

[0264] At block 3712, a future emission rate event may be identified based on the emission rate forecast. A future emission rate event may be any period in the future when the emission rate is predicted to be at an increased or decreased level. The increased or decreased level may be based on any suitable measure, such as a deviation from the ongoing average emission rate for the previous period. For example, an increased or decreased level of emission may be identified when there is a 10% deviation from the average emission rate over the last one, two, three or more weeks. In other embodiments, the deviation may be a 10%, 20%, 30%, or other percentage deviation from the average emission rate. The ongoing average emission rate is based on the average emission rate at the same time of the previous day. It may be more or less specific, such as an average discharge rate for a certain time of day.

[0265] In some embodiments, future emission rate events are identified by the cloud based power control server system. For example, a forecasting engine 217 of the cloud based power control server system 110 may analyze the emission rate forecasts to identify future emission rate events. In some embodiments, the cloud based power control server system determines a shape or magnitude of the future emission rate event. The shape or magnitude of the future emission rate event may be the amount of time when the forecast emission rate is expected to be at an increased or decreased level and / or the amount of deviation from a threshold emission rate value, such as a running average emission rate. For example, an increased level of emissions that lasts for two hours may be considered to have a greater magnitude than the same increased level of emissions that lasts for only one hour.

[0266] At block 3714, a confidence value may be determined for the future emission rate event. The confidence value may measure the certainty of the actual emission rate matching the predicted emission rate over the course of the future emission rate event. The confidence value may be any type of measurement, such as the percentage likelihood of the emission rate occurring at the same rate as predicted. For example, a confidence value of 90% may indicate a high likelihood that the actual emission rate will occur as predicted, whereas a confidence value of 30% may indicate a low likelihood that the actual emission rate will occur as predicted. In some embodiments, the confidence value is obtained from a third party source, such as the emission data system 120 as further described above with respect to FIG. 1. In some embodiments, the confidence value is determined by a cloud-based power control server system as described above with respect to FIG. 32.

[0267] At block 3716, an EDR event may be generated based on the future emission rate event and the confidence value. In some embodiments, the shape or magnitude of the EDR event generated is based on the future emission rate event. The shape or magnitude of the EDR event may be the size of the adjustment to the thermostat's setpoint temperature and / or the amount of time the setpoint temperature is adjusted. In some embodiments, the shape or magnitude of the EDR event is based on the shape or magnitude of the future emission rate event, as described above with respect to FIG.

[0268] In some embodiments, the shape or size of the EDR event is based on a confidence value associated with the future emission rate event. For example, when the confidence value for the future emission rate event is greater than a threshold confidence value, the size of the EDR event may be increased. Similarly, when the confidence value for the future emission rate event is less than a threshold confidence value, the size of the EDR event may be decreased. In some embodiments, there may be one or more thresholds associated with the sizes of various EDR events, as described above with respect to FIG.

[0269] In some embodiments, the EDR event is also based on an emission rate variability value for the emission rate forecast. The emission rate variability value may measure the relative variability in the forecasted emission rate over a predetermined period of time, such as a forecast period. The emission rate variability value may be expressed as a percentage value or any other suitable unit of measure. The emission rate variability value may measure the relative variability in the forecasted emission rate forecast compared to various other sources, as described above with respect to Figures 36A and 36B. In some embodiments, the emission rate variability value modifies the predetermined maximum number of EDR events per day, resulting in greater or fewer generated EDR events. In some embodiments, the emission rate variability value modifies the set point adjustment of the EDR events, resulting in greater or smaller adjustments to the set point temperature of the thermostat. In some embodiments, the emission rate variability value modifies the predetermined maximum EDR event duration, resulting in the generation of EDR events having longer or shorter durations.

[0270] In some embodiments, the EDR event may be generated according to any of the methods described above with respect to FIGS. 13-15. For example, the EDR event may be generated with an end time corresponding to the time of the emission differential value calculated from the emission rate forecast. In some embodiments, multiple EDR events are generated with different start and / or end times for future emission rate events based on a confidence value associated with the future emission rate event as described above with respect to FIG. 34. In some embodiments, the EDR event may be generated by the event scheduler 213 of the cloud-based power control server system 110 as described above with respect to FIG. 2. In some embodiments, the EDR event may be generated by the event scheduler 314 of the smart thermostat 160 as described above with respect to FIG. 3. The EDR event may be a preemptive EDR event or a deferred EDR event.

[0271] At block 3718, the thermostat may be caused to control the HVAC system according to the EDR event. The thermostat may be caused to control the HVAC system according to any of the methods described above with respect to FIGS. 13-15. For example, at the start time of the EDR event, the EDR event may cause the thermostat to increase or decrease the thermostat setpoint temperature to increase or decrease utilization of the HVAC system depending on whether the HVAC system is in heating or cooling mode. In some embodiments, causing the thermostat to control the HVAC system is accomplished by adjusting the thermostat's hysteresis setpoint temperature as described above with respect to FIG. 35. In some embodiments, multiple thermostats are caused to control the HVAC system according to multiple different EDR events as described above with respect to FIG. 34. In some embodiments, a cloud-based power control server system, such as the cloud-based power control server system 110 as described above with respect to FIG. 2, may cause a smart thermostat, such as the smart thermostat 160 as described above with respect to FIG. 3, to control the HVAC system.

[0272] 38 illustrates an embodiment of an indication of a carbon footprint impact generated by a user account. In some embodiments, the system quantifies the carbon footprint impact generated by a user account. By quantifying the impact generated by a user account in a meaningful manner, users associated with the account may be encouraged to continue to pursue cleaner electricity practices and reduce their impact on the environment.

[0273] In some embodiments, the impacts generated by the user account are displayed in a graphical user interface. For example, as shown in FIG. 38, the impacts may be displayed on a web page such as the user account home page 3800. In other embodiments, the impacts are displayed via an application on a mobile device or personal computer. For example, an application running on a mobile device such as the mobile device 140 as described above with respect to FIG. 1 may have a page or section of a page that displays the impacts achieved by the user account as a whole and / or an individual device linked to the user account, such as the smart thermostat 160 as described above with respect to FIG. 3. In some embodiments, the impacts generated by the user account are periodically or from time to time sent to a user associated with the user account. For example, a cloud-based power control server system such as the cloud-based power control server system 110 described above with respect to FIG. 2 may send an email to an email address mapped to the user account on a weekly or monthly basis indicating the total amount of carbon emission savings since the user account was created and / or the amount of carbon emission savings generated by the user account since the last notification was sent. The interface shown in FIG. 38 is one of many potential examples of visual displays, where the same or similar information may be displayed in any It should be appreciated that any number of visual formats or layouts may be displayed.

[0274] In some embodiments, the impact generated by a user account is quantified by the actual amount of cleaner electricity consumed or the actual amount of dirtier electricity avoided by the user account. In other embodiments, the emissions savings may be quantified by the amount of clean electricity matching achieved by the user account, such as measured in kWh or any similar electricity measurement. For example, as shown in FIG. 38, the home page 3800 may include a clean electricity match value 3802 indicating the amount of cleaner electricity matched by the user account's participation in the EDR event. In some embodiments, the impact may be quantified by the actual amount of carbon emissions reduction, such as measured in lbs-CO2 / MWh. In some embodiments, the impact generated by a user account includes multiple time periods. For example, the system may display the overall impact and the impact generated in the last month, week, day, or any other time measurement.

[0275] In some embodiments, the impact generated by the user account is displayed in one or more graphical diagrams. For example, the home page 3800 may include a status indicator ring 3804 showing the amount of carbon emissions saved from the total amount of electricity consumed. Other graphical displays may be used in place of the status indicator ring 3804. For example, any number of bar graphs, line graphs, pie charts, or similar methods of graphically displaying data may be used. In some embodiments, the impact generated by the user account is quantified in more relevant terms. For example, the home page 3800 may include an icon 3806 showing a recognizable image with a relevant description regarding the impact generated by avoiding carbon emissions by comparing the impact to an equivalent impact generated from a certain number of trees or acres in a forest. As another example, the home page 3800 may include an additional description, such as a description 3808 indicating that the amount of electricity savings is the equivalent savings from replacing a certain number of gasoline-powered cars with electric cars, or the carbon emissions generated by a single flight from New York to Los Angeles. Any other relevant measurements may be used to quantify the amount of emission savings generated by the user account's participation in the EDR event.

[0276] FIG. 39 illustrates an embodiment of an indication of a collective impact on carbon emissions generated by a community. In some embodiments, the system quantifies the collective impact on carbon emissions generated by a community. By quantifying the impact generated by a community in a meaningful way, individual users can feel a greater sense of community and satisfaction from being part of a larger cause. In some embodiments, the community may include all user accounts participating in an EDR event. In other embodiments, the system may quantify the collective impact at other program levels, such as per region, per city, and / or per generating facility. In some embodiments, the collective impact generated by a community is displayed in a graphical user interface. For example, as shown in FIG. 39, various charts and data may be displayed on a website or home page 3900 of a user account. One or more of the same methods and interfaces described above with respect to FIG. 38 may be used to quantify the collective impact on carbon emissions generated by a community of user accounts.

[0277] In some embodiments, collective carbon emission savings are quantified by the amount of cleaner electricity matching achieved through the community. For example, as shown in FIG. 39, a home page 3900 may display a list of matching opportunities achieved through community participation in an EDR event. The home page 3900 may include a clean electricity match value 3902 indicating the amount of cleaner electricity that will be matched. In some embodiments, the collective carbon emissions savings are quantified and displayed in a more relevant format. For example, the home page 3900 may include an icon 3904 with an associated description of the number of homes that can be powered by the amount of clean electricity match generated by the program.

[0278] In some embodiments, information about local or regional clean electricity plants is displayed. For example, the home page 3900 may include clean electricity output 3906, which shows the amount of clean electricity generated by the local clean electricity plant. In some embodiments, details of individual plants are provided. For example, the home page 3900 may include one or more tiles 3908, 3910, and 3912 for individual clean electricity plants that provide electricity to a local community. Any other relevant measurements may be used to quantify the impact generated by a group or community of user accounts, such as those described above with respect to FIG.

[0279] FIG. 40 illustrates an embodiment of a user interface showing account settings for managing participation in an emission demand response event. In some embodiments, the system generates an EDR event for a thermostat associated with a user account based on one or more account settings. For example, as described above with respect to FIGS. 26-30, the settings may describe the duration and magnitude of an EDR event and / or the level of participation in an EDR event program. In some embodiments, a user associated with a user account may describe one or more account settings. For example, a user may select a maximum event duration for all future EDR events. As another example, a user may select to participate in one or more programs offered by the system. In some embodiments, the account settings are accessible via one or more user interfaces. For example, as shown in FIG. 40, a user may access an application interface 4000 on a personal device. As another example, the account settings may be accessible via one or more web pages on the Internet. In some embodiments, the settings user interface may be displayed to a user upon creating an account. In other embodiments, a user may access settings associated with their account any time after creating an account to change or update existing settings.

[0280] In some embodiments, the graphical user interface displays one or more settings associated with the generation of future EDR events. For example, as shown in FIG. 40, there may be one or more fields 4004 for each setting. In some embodiments, the user interface includes a description of the associated setting. For example, each field 4004 may have an associated description 4008 that describes how each particular setting affects the generation of future EDR events and participation of the thermostat associated with the user account. In some embodiments, the user interface has one or more input controls that allow a user associated with the user account to describe a desired setting for each available setting. For example, field 4004 may be associated with a toggle button 4012 that allows a user associated with the account to toggle the setting on or off. In other embodiments, the input control may be a dropdown, slider, checkbox, text field, dialog box, or any other suitable input control. In some embodiments, the user interface includes fields for settings that are not yet available as a preview of new features currently under development. For example, field 4016 may be filled with gray. The selected setting may relate to new settings or programs that are not yet available, as indicated by toggle button 4020. In some embodiments, the graphical user interface includes an option for the user to save any changes made to the settings in the user account.

[0281] 41A-41D show embodiments of a smart thermostat user interface. In some embodiments, the smart thermostat may indicate that it is about to or has already controlled the HVAC system according to the generated EDR event. For example, the smart thermostat may make a sound or change a graphical display, such as electronic display 311, as discussed above with respect to FIG. 3. In some embodiments, the smart thermostat may indicate a setpoint temperature and a current temperature according to the EDR event. For example, as shown in FIG. 41A and FIG. 41B, the smart thermostat display 4100 may indicate the setpoint temperature 4104 and the current temperature 4108 as marks on a dial. In other embodiments, the setpoint temperature and the current temperature may be represented as text, numbers, or any suitable manner of indicating temperature. In some embodiments, the smart thermostat display includes text describing the current operation of the thermostat according to the generated EDR event. For example, the smart thermostat display 4100 may include one or more text boxes 4112 and 4116 that indicate the current operation of the thermostat. As shown in Figures 41A and 41B, the text boxes 4112 and 4116 may indicate that the smart thermostat is preconditioning the environment before an EDR event by increasing the temperature before the temperature is reduced by the EDR event.

[0282] In some embodiments, the smart thermostat display changes depending on the current operation of the smart thermostat following an EDR event. For example, as shown in FIG. 41A and indicated by text box 4112, the thermostat may be in an idle mode increasing the temperature in the environment without the use of the HVAC system. As another example, as shown in FIG. 41B and indicated by text box 4112, the smart thermostat may be actively controlling the HVAC system to increase the temperature in the environment prior to the EDR event. In some embodiments, the smart thermostat display scrolls or loops text to display additional information that could not otherwise fit on the display at the same time. For example, as shown in FIG. 41C and FIG. 41D, text box 4116 may loop between text indicating the current mode and the time when the mode is expected to change.

[0283] In some embodiments, the smart thermostat display includes an additional indication that the thermostat is operating according to an EDR event. For example, as shown in FIGS. 41A-41D, the icon 4120 may include a symbol associated with the EDR event. By including a recognizable symbol, the smart thermostat may quickly and easily inform a user operating the smart thermostat that the smart thermostat is currently operating according to an EDR event. In some embodiments, one or more features of the smart thermostat display 4100 may be remotely displayed on a computerized device, such as a smartphone. For example, as described below with respect to FIG. 42 above, a mobile device associated with a user account linked to the smart thermostat, such as the mobile device 140 as described above with respect to FIGS. 1-3, may display some or all of the same features displayed on the smart thermostat itself.

[0284] FIG. 42 illustrates an embodiment of a personal device interface for managing EDR events. In some embodiments, the system may notify a user associated with the user account that a thermostat associated with the user account is acting in accordance with a generated EDR event. For example, the system may send a notification to a mobile device, such as mobile device 140 as described above with respect to FIGS. 1-3. In some embodiments, the status of a smart thermostat associated with the user account may be viewed from a mobile device or personal computer associated with the user account. For example, as shown in FIG. 42, an application running on a mobile device for 4200 may show a setpoint temperature 4204 and a current temperature 4208 for an environment in which the smart thermostat is controlling an HVAC system. In some embodiments, the mobile device displays the same information accessible from a smart thermostat display, as described above with respect to FIGS. 41A-41D.

[0285] In some embodiments, the system sends a notification to a mobile device associated with the user account indicating that a thermostat linked to the user account is about to control the HVAC system according to the EDR event. For example, as shown in FIG. 42, an application running on a mobile device 4200 may receive an indication from the system that an EDR event is about to begin and display a banner notification 4212 to a user of the mobile device. In other embodiments, the application running on the mobile device may use a pop-up dialog, a badge, an alert, or any other suitable notification method to alert the user that a thermostat associated with the user account is about to control the HVAC system according to the generated EDR event.

[0286] It should be noted that the methods, systems, and devices discussed above are intended to be merely examples. It should be emphasized that various embodiments may omit, substitute, or add various procedures or components, as appropriate. For example, it should be appreciated that in alternative embodiments, the methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Also, features described with respect to one embodiment may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. It should also be emphasized that technology evolves, and thus many of the elements are examples and should not be construed as limiting the scope of the invention.

[0287] Specific details are given in the description to provide a thorough understanding of the embodiments. However, it will be understood by those skilled in the art that the embodiments may be practiced without these specific details. For example, well-known processes, structures, and techniques are shown without unnecessary details to avoid obscuring the embodiments. This description provides only exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the invention. Rather, the preceding description of the embodiments provides those skilled in the art with an enabling description for practicing the embodiments of the invention. Various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention.

[0288] Also, it should be noted that the embodiments may be described as a process depicted as a flow chart or block diagram. Although each may describe the operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of the operations may be rearranged. A process may have additional steps not included in the figures.

[0289] Although several embodiments have been described, it will be recognized by those skilled in the art that various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the invention. , the above elements may merely be components of a larger system, and other rules may take precedence over or otherwise modify the application of the invention. Also, a number of steps may take place before, during, or after the above elements are considered. Thus, the above description should not be construed as limiting the scope of the invention.

Claims

1. 1. A method for conducting an emission demand response event, comprising: obtaining, by the cloud-based HVAC control server system, a first emission rate forecast including an emission rate change at a first time; generating, by the cloud-based HVAC control server system, an emission demand response (EDR) event based on the first emission rate forecast, the EDR event including a start time and an end time; The method comprises: transmitting, by the cloud based HVAC control server system, the generated EDR event over a data network from the cloud based HVAC control server system to a thermostat located in a structure remote from the cloud based HVAC control server system prior to the start time; storing, by the thermostat, the EDR event in a memory of the thermostat; at the start time, initiating control of an HVAC system according to the generated EDR event by the thermostat; obtaining, by the cloud-based HVAC control server system, a second emission rate forecast including an emission rate change at a second time, different from the first time, following the start time and prior to the end time; generating, by the cloud-based HVAC control server system, a modified EDR event subsequent to obtaining the second emission rate forecast and prior to the end time, the modified EDR event including a modified end time based on a difference between the first time and the second time; The method comprises: transmitting, by the cloud based HVAC control server system, the modified EDR event to the thermostat at a time before the earlier of the end time and the modified end time; The method comprises: Upon receipt of the modified EDR event by the thermostat, storing, by the thermostat, the modified EDR event in the memory of the thermostat; and controlling, by the thermostat, the HVAC system according to the modified EDR event until the modified end time is reached.

2. the first discharge rate prediction includes a faster discharge rate change at a third time; The step of generating an EDR event comprises: determining that the cloud based HVAC control server system obtains the second emission rate forecast after the third time; 2. The method for performing an emission demand response event of claim 1, further comprising: setting the start time of the emission demand response event to begin before the second emission rate forecast is received.

3. 2. The method for performing an emission demand response event of claim 1, wherein the EDR event is generated with a duration set to a maximum allowed event duration.

4. The step of generating the modified EDR event includes: determining that after the second time, the cloud-based HVAC control server system obtains a third emission rate forecast; and setting the modified end time of the modified EDR event to be before the third emission rate forecast is received.

5. The step of generating the modified EDR event includes: determining that the cloud based HVAC control server system obtains a third emission rate forecast within a predetermined minimum period of time prior to the second time; and setting the revised end time of the EDR event to coincide with the second time before the third emission rate forecast is obtained.

6. The second time is earlier than the first time, and the step of generating the modified EDR event comprises: determining that after the second time, the cloud-based HVAC control server system obtains a third emission rate forecast; and setting the modified end time of the modified EDR event to be before the third emission rate forecast is obtained.

7. The second time is slower than the first time, 2. The method for performing an emission demand response event as described in claim 1, wherein generating the modified EDR event includes setting the modified end time of the modified EDR event to be after the first time.

8. 8. The method for performing an emission demand response event of claim 7, wherein setting the modified end time of the modified EDR event is limited by a maximum allowed event duration.

9. The step of generating an EDR event comprises:

2. The method for performing an exhaust demand response event as described in claim 1, further comprising: determining, by the cloud-based HVAC control server system, an exhaust differential value for each of a plurality of time points during a future period covered by the first emission rate forecast using the first emission rate forecast, thereby generating a plurality of exhaust differential values, and the exhaust demand response event is generated based on the determined plurality of exhaust differential values.

10. The step of generating an EDR event comprises:

2. The method for performing an emission demand response event as described in claim 1, further comprising the step of restricting the start time of the emission demand response event to be after a predetermined minimum time after the end time of a previously generated EDR event.

11. The step of generating the modified EDR event comprises:

2. The method of claim 1, further comprising: limiting the revised end time of the revised EDR event to be no later than a predetermined latest time of day. A method for performing a responsive event.

12. 1. A system for executing an emissions demand response event, comprising: one or more processors; and a memory communicatively coupled to and readable by the one or more processors, the memory having processor-readable instructions stored thereon, the processor-readable instructions, when executed by the one or more processors, causing the one or more processors to: obtaining, by a cloud-based power control server system, a first emission rate forecast including an emission rate change at a first time; generating, by the cloud-based power control server system, an emission demand response (EDR) event based on the first emission rate forecast, the EDR event including a start time and an end time; transmitting, by the cloud based power control server system, the generated EDR event over a data network to a thermostat located in a structure remote from the cloud based power control server system prior to the start time; storing, by the thermostat, the EDR event in a memory of the thermostat; at the start time, initiating control of an HVAC system according to the generated EDR event by the thermostat; obtaining, by the cloud based power control server system, a second emission rate forecast including an emission rate change at a second time different from the first time, following the start time and prior to the end time; generating, by the cloud-based power control server system, a modified EDR event after obtaining the second emission rate forecast and prior to the end time, the modified EDR event including a modified end time based on a difference between the first time and the second time; transmitting, by the cloud based power control server system, the modified EDR event to the thermostat at a time before the earlier of the end time and the modified end time; when the modified EDR event is received by the thermostat; storing, by the thermostat, the modified EDR event in the memory of the thermostat; and controlling, by the thermostat, the HVAC system according to the modified EDR event until the modified end time is reached.

13. 13. The system for performing an emission demand response event of claim 12, further comprising a plurality of thermostats, said plurality of thermostats including said thermostat.

14. 13. The system for executing an emission demand response event of claim 12, further comprising an application running on a mobile device, the application configured to control the thermostat via communication with the cloud-based power control server system.

15. 13. The system for executing an emission demand response event as described in claim 12, wherein the cloud-based power control server system further includes an interface, the interface configured to obtain the plurality of emission rate forecasts from an emission data system remotely accessible via a network.

16. the first discharge rate prediction includes a faster discharge rate change at a third time; The step of generating an EDR event comprises: determining that the cloud based power control server system obtains the second emission rate forecast after the third time; 13. The system for performing an emission demand response event of claim 12, further comprising: setting the start time of the emission demand response event to begin before the second emission rate forecast is received.

17. A program that, when executed, causes one or more processors of a cloud-based HVAC control server system to perform any one of the methods of claims 1 to 11.