Home » Blog » How to Automate Your Heating in Home Assistant (Without Cloud Services or Subscriptions)

How to Automate Your Heating in Home Assistant (Without Cloud Services or Subscriptions)

Do you have a regular thermostat, or separate thermostat valves on each radiator in your home? Then this guide is for you.

In this tutorial, Iโ€™ll show you how to automatically control your heatingโ€”either through a thermostat or individual radiator valvesโ€”using Home Assistant, a fully local, privacy-focused smart home platform. With this setup, your heating follows a custom schedule that adapts to whether someone is home or away. No subscriptions, no cloud dependency, no vendor lock-in.


โญโญโญ NOTE: โญโญโญ

This article is the script for a YouTube video. I wrote it before recording the video. You can help me continue doing this by checking out the video, commenting on it, giving it a thumbs up, andย subscribing to my YouTube channel. This will ensure that the video is offered more frequently to new visitors, allowing them to stay informed about the latest Home Assistant tutorials and smart home-related product reviews.

I appreciate your support!

Ed

Click here to watch the video


Recently, we saw how fragile cloud-based heating systems can be. For example, Tado briefly put individual radiator valve control behind a paywall. They eventually reversed that decision after user pushback, but it highlighted an important point: you donโ€™t want to rely on a cloud service to heat your home.

Thatโ€™s why I moved my entire heating automation to Home Assistant โ€” and in this article, Iโ€™ll show you exactly how I did it.


Step 1: Create the Necessary Helpers

Letโ€™s begin in Home Assistant by setting up a few helpers. Go to Settings โ†’ Devices & Services โ†’ Helpers.

I filtered my helpers by the label climate, which makes things easier to manage.

Youโ€™ll need the following:

1. The โ€œAwayโ€ Temperature Helper

This is a simple Number helper.
I set mine to 16ยฐC โ€” the temperature that all valves should use when nobody is home.

2. Your Climate Schedule Helpers

I created three separate schedule helpers:

  • Main Climate Schedule โ€“ the general heating schedule used for most rooms
  • Bathroom Climate Schedule โ€“ a specific schedule for the bathroom
  • Low Climate Schedule โ€“ a manual fallback schedule, basically set to a constant temperature of 15ยฐC

Each Schedule Helper allows you to define time blocks and assign variables to them.
For example:

  • On Sunday, from 00:00 to 08:00, my temp variable is set to 15ยฐC
  • From 08:00 to 00:00, temp becomes 19ยฐC

During weekdays, I use something like:

  • 08:00โ€“18:00 โ†’ 18ยฐC
  • 18:00โ€“00:00 โ†’ 19ยฐC

In the bathroom schedule, I use higher temperatures briefly in the morning and evening, and lower temperatures during the day and at night.

These helpers let you create room-specific heating patterns.


Step 2: Build the Heating Automations

Next, head over to Settings โ†’ Automations & Scenes. I filtered these by the โ€œclimateโ€ label as well.

Letโ€™s walk through the most important automations.


Automation: Set Main Climate Temperature

This automation performs three key tasks:

Trigger

  • It activates whenever the Main Climate Schedule changes state or attributes.
  • It checks if someone is at home by monitoring the value of zone.home.
    If the number is above zero โ†’ someone is home.

Action

It updates all radiator valves that should follow the main schedule.
Examples include:

  • Living room radiator valves
  • Convector heaters (left/right)
  • Window radiators
  • Scullery
  • Toilet
    โ€ฆand more.

Each valve gets a temperature value based on the current temp variable inside the schedule helper.

So if itโ€™s 4 a.m., it will set the valves to 15ยฐC.
If itโ€™s 2 p.m., it will set them to 18ยฐC.


Automation: Bathroom Climate Temperature

This works exactly the same way, but it targets only the bathroom radiator valve and pulls the value from the Bathroom Climate Schedule.


Step 3: Switch Between โ€œHomeโ€ and โ€œAwayโ€ Modes

We also need an automation that reacts when everyone leavesโ€”or returns home.

I created an automation called โ€œSwitch Climate on Presenceโ€.

Triggers

It has two trigger IDs:

  1. home โ€“ triggered when the number of people in zone.home goes above 0
  2. away โ€“ triggered when the value becomes 0

Actions

If someone comes home:
  • All radiator valves switch back to their corresponding schedule temperature.
If everyone leaves:

All valves switch to the Away Temperature.
In YAML, the logic looks like this:

  • Target: all entity IDs
  • Set temperature to the input_number.climate_temperature_away (which is 16ยฐC in my case)

Why 16ยฐC?
Because this automation also includes my air conditioners, and their minimum temperature is 16ยฐC.


Your Heating Is Now Fully Automated โ€” Locally

With these helpers and automations in place, your entire heating system runs automatically through Home Assistant:

  • Completely offline
  • Fully customizable
  • No subscriptions
  • No cloud dependency
  • Works with thermostats or radiator valves

Support the Channel

If you enjoy this kind of tutorial and want to support my work:

  • Join my Patreon
  • Make a donation through Ko-fi
  • Or become a paid channel member

Your support helps me continue making tutorials like this.

Donโ€™t forget to leave a comment, subscribe, and give the video a thumbs-up โ€” I really appreciate it.

See you in the next tutorial!

#HomeAssistant #HomeAssistantTutorial #SmartHeating #HeatingAutomation #ThermostatAutomation #RadiatorValves #SmartHome #SmartHomeAutomation #LocalControl #NoCloudNeeded #TadoAlternative #HomeAssistantClimate #HomeAssistantSchedules #PresenceDetection #EnergySaving #HomeAutomation #DIYSmartHome #SmartHomeGuide #ClimateControl #RadiatorAutomation

Please follow and like us:

,

Back to all articles