Create a Google Calendar-Based Thermostat Automation to Reduce Energy Waste

Smart heating and cooling is one of the easiest ways to reduce household energy consumption without sacrificing comfort. Many homes spend unnecessary energy heating or cooling empty rooms simply because the thermostat follows a static schedule. If your workday changes from week to week, traditional schedules often fail to match reality.

Advertisements

A more flexible solution is to connect your thermostat automation to your calendar. By using a Google Calendar integration in Home Assistant, your heating or cooling system can automatically switch to eco mode when your workday begins and return to comfort mode when you are back home.

This setup is ideal for people with hybrid work schedules, irregular office days, or shared household calendars. Instead of manually adjusting temperatures or maintaining multiple schedules, your calendar becomes the source of truth.

In this article, we will build a Google Calendar-based automation in Home Assistant that:

  • Detects scheduled workdays from Google Calendar
  • Switches the thermostat to eco mode during office hours
  • Restores comfort settings when the event ends
  • Helps reduce unnecessary heating and cooling consumption
  • Uses Celsius and tracks energy savings in kWh

Why Calendar-Based Thermostat Control Makes Sense

Traditional thermostats often rely on repeating schedules:

  • Weekdays: 21°C from 06:00 to 08:00
  • Daytime: 17°C
  • Evening: 21°C

This works if your daily routine is fixed.

But many households now follow dynamic schedules:

  • Hybrid work arrangements
  • Flexible office attendance
  • School holidays
  • Shift work
  • Travel days

If your heating schedule assumes you’re away when you’re actually home, comfort suffers. If it assumes you’re home when you’re not, energy is wasted.

A calendar-based automation solves this by reacting to actual plans.

For example:

If your Google Calendar contains:

“Office Day” – 08:00 to 16:30

Home Assistant can automatically:

  • Lower heating to 17°C at 08:00
  • Restore comfort temperature of 21°C at 16:30

For homes using electric heating, this can save noticeable energy over time.

Reducing indoor temperature by even 1°C can lower heating demand by roughly 5–10%, depending on insulation and outdoor conditions.

Advertisements

Components You Need

To build this automation, you need a few Home Assistant integrations.

1. Home Assistant

The automation engine that connects your devices and services.

Home Assistant

Home Assistant handles:

  • Calendar event monitoring
  • Thermostat control
  • Scheduling logic
  • Optional energy tracking

2. Google Calendar Integration

This integration imports calendar events into Home Assistant as calendar entities.

Google Calendar Integration Documentation

After setup, you will have entities such as:

calendar.work_schedule

You can create dedicated events like:

  • Office Day
  • Work From Office
  • Onsite Meeting

3. A Smart Thermostat or Climate Device

Any climate entity supported by Home Assistant will work.

Examples include:

  • Tado
  • Netatmo
  • Sensibo
  • Generic MQTT thermostats
  • Heat pump integrations

Example entity:

climate.living_room

4. Optional Energy Dashboard

Home Assistant’s Energy Dashboard helps visualize reduced heating consumption in kWh.

This allows you to compare:

  • Days with eco automation enabled
  • Days with manual heating

Planning Your Calendar Events

The simplest approach is creating a dedicated Google Calendar for work presence.

Example calendar name:

Work Presence

Then create events like:

  • Office
  • Office Day
  • Work Away

This keeps automation logic clean.

Example schedule:

EventStartEnd
Office Day08:0016:00
Office Day09:0017:30

When the event starts, eco mode activates.

When it ends, comfort mode returns.


The Automation Logic

We’ll create two automations:

  1. Start Workday Eco Mode
  2. End Workday Comfort Mode

This gives clear control and easier troubleshooting.


Automation 1: Activate Eco Mode

When your calendar event starts, reduce temperature.

YAML Example

alias: Thermostat Eco Mode During Workday
description: Set thermostat to eco mode during scheduled office hours
trigger:
- platform: calendar
event: start
entity_id: calendar.work_schedule

condition:
- condition: template
value_template: >
{{ trigger.calendar_event.summary == "Office Day" }}

action:
- service: climate.set_temperature
target:
entity_id: climate.living_room
data:
temperature: 17

mode: single

What This Does

When Home Assistant detects:

  • Calendar event starts
  • Event title matches Office Day

It sets the thermostat to:

17°C

This reduces heating demand while the house is empty.


Automation 2: Restore Comfort Temperature

When the event ends, heating returns to normal.

YAML Example

alias: Restore Comfort Temperature After Work
description: Restore thermostat after office hours
trigger:
- platform: calendar
event: end
entity_id: calendar.work_schedule

condition:
- condition: template
value_template: >
{{ trigger.calendar_event.summary == "Office Day" }}

action:
- service: climate.set_temperature
target:
entity_id: climate.living_room
data:
temperature: 21

mode: single

Now your home is warm again before evening occupancy.


Making It Smarter

You can expand this automation with additional logic.

Presence Detection

Only activate eco mode if nobody is home.

condition:
- condition: state
entity_id: person.john
state: "not_home"

Outdoor Temperature Protection

Prevent excessive cooling during winter.

condition:
- condition: numeric_state
entity_id: sensor.outdoor_temperature
above: -10

This ensures your home never drops too low.


Different Seasonal Temperatures

You might want:

Winter

  • Eco: 17°C
  • Comfort: 21°C

Summer (cooling)

  • Eco: 26°C
  • Comfort: 23°C

This can be handled using seasonal conditions.


Estimating Energy Savings

Let’s consider a typical electric heating system:

Daily heating usage during occupancy:

18 kWh

Lowering indoor temperature by 4°C for 8 hours may reduce usage by approximately:

2–4 kWh per day

Over 20 office days per month:

  • Minimum savings: 40 kWh
  • Higher savings: 80 kWh

At an electricity price of €0.20 per kWh:

Monthly savings:

€8–€16

Annual savings:

€96–€192

The exact savings depend on:

  • Insulation quality
  • Outdoor temperature
  • Heating system efficiency
  • House thermal mass

Even moderate reductions add up.


Why This Approach Works Better Than Fixed Scheduling

Static schedules assume routines never change.

Calendar-driven automation adapts automatically to:

  • Holidays
  • Sick days
  • Remote work
  • Late office meetings
  • Travel

No manual thermostat changes.

No wasted heating.

Just accurate, event-based control.


Troubleshooting Tips

If the automation does not trigger:

Verify Calendar Sync

Check that your event appears in Home Assistant:

Developer Tools → States

Look for:

calendar.work_schedule

Confirm Event Names

The condition checks exact text:

Office Day

Even extra spaces matter.


Review Automation Trace

Home Assistant provides execution traces to see:

  • Whether trigger fired
  • Which condition failed
  • Which actions executed

This makes debugging much easier.


Final Thoughts

Google Calendar-based thermostat automation is one of the most practical examples of context-aware home automation.

It combines:

  • Scheduling flexibility
  • Energy savings
  • Better comfort
  • Reduced manual interaction

By linking your actual calendar to climate control, your home responds to real-life plans instead of assumptions.

For households with dynamic routines, this is a simple automation with measurable impact in both comfort and reduced kWh consumption.

If you already use Home Assistant and Google Calendar, you can implement this in less than 30 minutes and start saving energy immediately.


Some of the links in this article are "affiliate links", a link with a special tracking code. This means if you click on an affiliate link and purchase the item, we will receive an affiliate commission. The price of the item is the same whether it is an affiliate link or not. Regardless, we only recommend products or services we believe will add value to our readers. By using the affiliate links, you are helping support our Website, and we genuinely appreciate your support.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.