This Home Assistant blueprint provides advanced control over your smart thermostats, combining schedule-based heating with external factors like outside temperature (Winter Mode), window/door states, and calendar-based Away/Holiday modes. This version is designed for flexibility, using an **Input Number Helper** to control the day temperature dynamically.
* **Schedule Control:** Sets Day or Night temperature based on a **Schedule Helper** entity.
* **Dynamic Day Temp:** Uses an **Input Number Helper** for Day Temperature, allowing easy adjustments via the UI.
* **Winter Mode:** Heating is disabled entirely if the **Outdoor Temperature** remains above a defined threshold.
* **Window/Door Safety:** Turns off heating instantly if any selected window or door sensor is open for a defined duration.
* **Away/Holiday Mode:** Uses a **Calendar Entity** to set a lower Away temperature when you are traveling.
* **Pre-Return Heating:** Starts heating up before your scheduled return time (using a negative offset).
---
## ⚙️ Prerequisites & Setup
Before using this blueprint, you must ensure the following helpers are set up in Home Assistant:
### 1. Required Helpers
| Helper Type | Purpose | Setup Notes |
| :--- | :--- | :--- |
| **Schedule Helper** | Defines the time slots for Day (On) and Night (Off) heating. | Go to Settings > Devices & Services > **Helpers** > Add Helper > **Schedule**. |
| **Input Number Helper** | Stores the value for the **Day Time Temperature Target**. | Go to Settings > Devices & Services > **Helpers** > Add Helper > **Number**. Set min/max values to match your thermostat range (e.g., 10 to 30). |
| **Outdoor Temperature Sensor** | Entity to read the current outside temperature (required for Winter Mode). | This is usually provided by your weather integration. |
| **Window/Door Sensor Group** | Entity or group of entities that are `on` when open. | Multiple sensors can be selected directly in the blueprint, or you can create a Group helper first. |
| **Away Calendar Entity** | Used for Holiday or extended Away periods (e.g., Google Calendar, iCal). | This entity must report `on` when an event is active. |
| **Holiday or Away Calendar** | The `calendar` entity indicating away/holiday status (`on` when active). |
| **Return Offset** | Time before the calendar event **ends** to start heating. Use a **negative value** (e.g., **-120** minutes starts heating 2 hours before you return). |
The automation uses a priority-based `choose` block to determine the required heating action. It executes the action for the **first condition that is met**.
| **2** | **Too Warm Outside?** | **OFF** - Turn heating off if the outdoor temp is above the Winter Mode threshold. |
| **3** | **Away/Holiday Active?** | **Away Temp** - Set target to the static Away Temperature. *(Requires Winter Mode active and windows closed).* |
| **4** | **Day Time Active?** | **Day Temp** - Set target to the value from the **Input Number Helper**. *(Requires Winter Mode active and windows closed).* |
| **5** | **Night Time Active?** | **Night Temp** - Set target to the static Night Temperature. *(Requires Winter Mode active and windows closed).* |
| **Default** | *(No high-priority conditions met)* | **OFF** - Turn heating off (e.g., if the schedule is inactive but Winter Mode is not met). |
I tried different Home Assistant add-ons and integrations, but wasn't really satisfied in controlling room temperature in our house. The heating is based on central heating and radiators with different Zigbee-based termostats.
This blueprint for HA was initially inspired by [ha-smarter-thermostat by muratcesmecioglu](https://github.com/muratcesmecioglu/ha-smarter-thermostat), but deviated through extending to also include an away calendar and a manual overwrite mode to allow manual inputs on the thermostats. Logic coding was assisted by claude.ai.