# \[APP\]\[Pro\] Adaptive Thermostat - proportional heating from any sensor and any heater

**URL:** <https://community.homey.app/t/app-pro-adaptive-thermostat-proportional-heating-from-any-sensor-and-any-heater/158634>\
**Category:** Apps\
**Created:** [August 22, 2026, 12:23pm UTC](https://community.homey.app/t/app-pro-adaptive-thermostat-proportional-heating-from-any-sensor-and-any-heater/158634 "2026-08-22T12:23:55Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![byackee1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/byackee1/32/172789_2.png) [@byackee1](https://community.homey.app/u/byackee1)\
**Post date:** [August 22, 2026, 12:55pm UTC](https://community.homey.app/t/app-pro-adaptive-thermostat-proportional-heating-from-any-sensor-and-any-heater/158634/2 "2026-08-22T12:55:09Z")

</div>

## **How it works, and how to set it up**

The first post says _what_ the app does. This one says **how** , and how to live with it.

 ![From your sensor to your boiler](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/3/b39494254672d7bb0b7809491a764e65fbaad564.png)

* * *

## 1️⃣ How much heat does this room need?

Every few seconds the app asks each thermostat that single question. The answer is one number, between **0 and 100%**. It comes from two terms:

- the gap between the **room** and your **setpoint** , times the indoor coefficient
- the gap between your **setpoint** and **outdoors** , times the outdoor coefficient — this one anticipates how fast the room loses heat, and it only exists if you gave the app an outdoor sensor

* * *

## 2️⃣ Where that number goes

- ⚙ **A valve driven by its opening** — the number _is_ the opening
- ⌛ **A plain switch** — the number becomes time: 30% of a ten-minute cycle is 3 minutes on and 7 off
- 🌡 **A heater you give a temperature to** — the one case that number does **not** drive

That last case runs a **second regulator** : a PI loop that watches the error accumulate over time and adds an offset to your setpoint. The app then asks for more than you did while the room is behind, which is what stops the heater’s own valve from closing early.

💡 It needs an outdoor sensor, and it comes in five strengths from _slow_ to _strong_, plus off, in the advanced settings.

* * *

## 3️⃣ And then the boiler

The app does not ask the calculation whether a room wants heat. It looks at what the emitter is **actually doing** — the valve’s real opening, the relay’s real state, or what the heater reports about itself.

That is added up across every room, and your boiler relay follows.

* * *

## 🚦 What overrides what

When several things could decide the temperature, the first one that applies wins:

1. **Off** — the device is switched off. Frost protection setpoint, valve closed, switch cut
2. **Central mode** — everything off, heating only, or frost protection, for the whole home
3. **Open window** — detected and confirmed
4. **Safety** — the room sensor has gone quiet
5. **Away** — nobody home, presets use their away temperature
6. **Activity** — motion decides between two presets
7. **The preset you chose**

💡 The **Status** field on the tile shows which one is currently in charge. Your selected preset never changes on its own — only what the thermostat aims for.

* * *

## 🔧 Setting it up

One thermostat per room:

1. **Add device** ➡ Adaptive Thermostat ➡ **Thermostat**
2. Pick the **room sensor** — the thermometer that reads the temperature you care about. ⚠ Not the one inside the radiator valve: that one reads the radiator
3. Pick **what heats that room**
4. Optional sources — outdoor temperature, window contact, motion, presence. Every one of them can stay empty

Then, once for the whole home, the **Boiler** device. That is where you point at the switch that starts your boiler. It also carries the **central mode** — everything off, heating only, or frost protection — which applies to every thermostat.

If you heat only with electric radiators and never want that home-wide switch, you can skip it.

 ![The three views of a thermostat](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/1/6/16a2d831486d785a18a7ed2fbbd4b9e77cfc54f5.jpeg)

* * *

## 📅 Day to day

Presets are the intended way to drive it — **set the preset, not the temperature**.

From a Flow you can set a preset, set one for a duration (Boost for 45 minutes, then it returns on its own — and that survives an app restart), set a temperature, force presence, or tell a room to ignore its window sensor for a while.

 ![Flow cards, grouped by device](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/8/d8ddafd0769136c85faa16d243846f9f5cb54480.png)

🔄 **To change which devices a thermostat uses** , once it exists: Homey ➡ Settings ➡ Apps ➡ Adaptive Thermostat ➡ **Thermostats** tab. Every source is changeable there and takes effect immediately.

A device that no longer exists is flagged in **red** — which is what happens when a Zigbee device is re-paired and comes back with a new identity.

 ![Changing a thermostat's sources from the app settings](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/e/4e10310ca5c8f72e95f69532c960ca75fea6a738.png)

* * *

## 🎚 Tuning, if you need it

The defaults suit a normally insulated room. **Change one thing at a time** , and give it a day.

| Symptom | What to do |
| --- | --- |
| Never reaches the setpoint at steady state | Raise the outdoor coefficient |
| Overshoots at steady state | Lower the outdoor coefficient |
| Warms up too slowly | Raise the indoor coefficient |
| Oscillates around the setpoint | Lower the indoor coefficient |

⚠ Those two coefficients drive the _power_ number, so they are the right lever on a **valve** or a **switch**. On a heater you give a temperature to, the power number is only a display — there the lever is the **self-regulation strength**. Start at _slow_, and move up a step only if the room keeps sitting below its target.

The recalculation period matters too: **five minutes** suits a radiator, **fifteen to thirty** a floor heating loop or a slow boiler circuit.

 ![Device settings, with each group explained](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/2/6246551acb473b14869eee83ceeab3986bb79b57.png)

💡 Every group of device settings carries its own explanation, right in the page.

* * *

## 🛰 The Zigbee2MQTT backend

Optional, and only useful if your valves come from Zigbee2MQTT. Second tab of the app settings: broker address, port, credentials, base topic.

The test button distinguishes four cases — connection refused, bad credentials, connected but wrong base topic, or connected and seeing N devices.

It unlocks two things:

- valve opening driven **directly** , rather than only a setpoint
- the **real room temperature** pushed into the valve, so it stops regulating on its own thermometer — the single biggest improvement for a TRV

* * *

## 🆘 When something is wrong

- 🥶 **A room is cold and the tile says heating** — open the device settings, _Linked devices_. If a source says the device no longer exists, re-point it from the app settings
- 🔋 **A sensor warning appears** — the battery is probably dead. The app keeps a minimum going for 24 hours, then gives up rather than run your boiler for days on a dead reading. Replace the battery and it resumes on its own
- 🔥 **The boiler will not start** — the Boiler device shows how many emitters are calling for heat. If that is zero while a room is cold, the room is not asking: look at that room’s power percentage
- 🔍 **Anything else** — the app has a diagnostics endpoint that reports exactly what it sees. Ask here and I will explain how to read it; it usually settles a question in one round trip

* * *

⬅ **[Back to the app description](https://community.homey.app/t/app-pro-adaptive-thermostat-proportional-heating-from-any-sensor-and-any-heater/158634/1)**

---

_[View the full topic](https://community.homey.app/t/app-pro-adaptive-thermostat-proportional-heating-from-any-sensor-and-any-heater/158634)._
