Energy

Rush Hour Rewards is a Nest program where an energy company rewards users when they reduce the load on the electric grid during peak energy demand periods. High-consumption periods are called Rush Hours. Examples of Rush Hours are a heat wave or a cold snap.

A user does not have to do anything—the Nest Thermostat will do all the work and adjust the heating or cooling to help save more energy while still keeping users comfortable.

Use the Nest API to take advantage of Energy Rush Hours and optimize energy savings with your product. See if a user subscribed and when the next Rush Hour begins and ends. For more information on the Rush Hour Rewards program, see Rush Hour Rewards.

Energy permissions

For access to Rush Hour Rewards data, select the Energy read permission in your client.

There are no write permissions available for the Energy API.

Rush Hour Rewards

RHR Notification

If a user has paired their Nest Account with a participating energy partner, Nest is notified when a Rush Hour event is scheduled. These are peak demand periods predicted by the energy provider.

If your product uses a significant amount of electricity and has the ability to delay action or run in a low-power mode, consider creating different algorithms to conserve energy during Rush Hour events. Notice of an event ranges from just-in-time to 24 hours in advance.

rhr_enrollment is set to "true" if a user is subscribed to Rush Hour Rewards. For start/stop times of an event, check the peak_period_start_time and peak_period_end_time fields.

If a Nest user is not enrolled in the Rush Hour Rewards program, the peak_period_start_time and peak_period_end_time fields either won't appear in the data model, or you'll get a 404 Not Found HTTP error (if your product is listening to those fields).

Rush Hour history

When an event ends, the peak_period_start_time and peak_period_end_time values are cleared (and no longer available in the data model). Historical data for events is not available.

Error messages

For information on what API call errors mean and how to handle them, see Error Messages.